FILTERCTL

Section: User Commands (1)
Updated: July 2012
Index Return to Main Contents
 

NAME

filterctl - Set/Get IR camera parameters  

SYNOPSIS

Control and Monitor the hardware: filterwheel, clock-divider, battery, loopback.

 

DESCRIPTION


 USAGE:
        filterctl.php [ OPTIONS ]

 
 DESCRIPTION:
        filterctl.php interfaces with a control circuit (via a USB-FTDI245 device) to communicate

        with some light-gates and a stepper motor inside the dewar. The light gates detect which

        position the filter-wheel is in; the stepper motor can be stepped to change this. The

        entire circuit is usually turned off in order to eliminate heat-dissipation and 'glow'

        inside the dewar; this is done automatically if the program exits gracefully.

        filterctl.php can also configure the clock-divider, monitor the battery, and enable loopback.

 
 HARDWARE:
        The dewar contains a filter wheel containing 6 filters, mounted upon the spindle of a

        stepper-motor: this motor always comes to rest in one of 24 positions, which include the

        6 correct ones. Position readout is done by 3 light-gates, (formed by red LEDs and

        photo-transistors) which can distinguish the 6 correct positions, the misaligned-state,

        or the impossible-state. In order to avoid waste-heat and stray-light, filterctl.php powers

        down the stepper-motor, the light-gates, and the 10uA temp-sensor after it has exited.

 
        When the dewar internals are powered-down, the optical fibres are re-purposed to carry

        battery voltage information. There are 3 bits, carrying 4 possible voltage states (the

        CMOS gate-comparator circuit is simple and cannot use all 8 permutations).

 
        In Loopback mode, two of the 4 channels are re-purposed: SPDT relays swap from the

        Hawaii quadrants (3,2) to digital loopback (Line3) and dewar temperature monitor.

        (The first two quadrants are always connected to the ADC).

        NORMAL:

              ai3+   Hawaii 4th quadrant source follower, 10k pullup to V_A+5.

              ai2+   Hawaii 3rd quadrant source follower, 10k pullup to V_A+5.

        LOOPBACK:

              ai3+   Line3 (PulseBlaster bit 7), 1k series resistor, 10k pullup.

              ai2+   Op-amp buffered CY7-SD7 temperature sensor diode, 10k pullup.

        The connection between the ADC's inverting inputs (ai3-,ai2-) and VRst/2 is only made

        within the dewar; if it is detached, operate the NI4462 in pseudo-differential mode.

 
        The upper 3 bits of the ftdi245 device are used to control the clock division used for

        triggering the Pulseblaster from the external 5kHz clock: variable divisors can be

        selected, or it can be set to manual (external pulses, or pb_start).

 
 OPTIONS:
        -f  FILTER_NAME | FILTER_NUMBER

                set filter. The filter may be selected by name or by number. (See -l).

                This causes the stepper motor to advance as many steps as necessary, until

                the desired filter is reached.

 
        -p      get filter position. Read from the hardware and print it, e.g.:

                "FILTER_NAME\nCurrent filter is: #FILTER_NUMBER, FILTER_NAME (DESCRIPTION)"

                Exit status 1 if misaligned.

 
        -l      list available filters, with a description of each of them.

 
        -c   CLOCK

                set the clock divider to this value. (See -o for options).

 
        -d      get the clock divider setting (read back from device), and print it, e.g.:

                "NAME\nClock division is currently set to: NAME (DESCRIPTION)"

 
        -o      list the available clock divider options.

 
        -b      check battery level, and print it, e.g.:

                "CHARGE_LEVEL\nBattery level is: CHARGE_LEVEL (DESCRIPTION)"

                Exit status 1 if flat.

 
        -m      monitor battery level. Polls every 60 seconds, and beeps if low. As this only

                reads, not writes data, the process may be long-lived and co-exist with another instance.

                [It yields temporarily, whenever the light-gates are being read.]

 
        -M      like m, but uses "\r", polls every 1 s, exits (1) when the battery goes flat. Eg:

                filterctl.php -M || zenity --error --title filterctl.php --text='Flat Batt\nCharge it.'

 
        -k      set up loopback mode. ai3,ai2 are swapped from the Hawaii quadrants (Q3,Q2), to

                the secondary channels, (Line3, temperature diode) respectively, as described

                above. This is useful for sending known data into the analog input, e.g. to

                calibrate the FIFO delay-line for the NI 4462 trigger, and for measuring the

                precise temperature adjacent to the Hawaii chip.

                The loopback relays are reset by subsequent invocation of -z.

                N.B. Do not operate camera in this state: data on Q3/Q2 will be invalid.

 
        -z      make the control circuit power down the dewar but do nothing else. This also

                disconnects the loopback mode (-k). This is useful for initialisation after

                system power-on.

                [It is implicit in all instructions after they terminate, except loopback (-k).]

 
        -a      align. Constantly poll light-gate status, and print filter names. The stepper

                motor is not driven. This is useful for manually aligning the filterwheel, when

                assembling the dewar. See also -A and -S.

 
        -A      like -a, but print the raw data for each bit.

 
        -s      self-test. Run the filter wheel in constant rotation, listing the filter names

                as they pass. Automatically stop after 360 steps.

 
        -S      like -S, but wait for [ENTER] before proceeding to next step.

 
        -h      display this help message, and exit.

 
        -v      print verbose debug information (to stderr). Otherwise, be quiet.

 
        -w      print the configuration of this program, and exit.

 
        -i      ignore fatal errors: warn; don't quit.

                Useful for flat-battery: some power may remain when 'running on empty'.

 
 EXAMPLES:
        filterctl.php -p                 #Print the current filter position

        filterctl.php -f Green           #Select the filter named "Green"

 
 STREAMS:
        All messages go to stderr, except the result of -p, -d, -b, -m which go to stdout.

 
 EXIT CODES:
        On success, filterctl.php will exit with status 0. If there is an error, the program

        will print a helpful message, and the exit with status 1.

 
 DOCUMENTATION:
        See also filterctl(1), ftdi245io(1)

 
 AUTHOR:
        Richard Neill <filterctl at richardneill.org> 2010-2012

        Download from: http://www.richardneill.org/source.php

        This is Free Software, licensed under the GNU GPL, v.3 or later.

 
 VERSION:
        Version 2.1, released on 2012-04-04.

 

 

SEE ALSO

ftdi245io(1), ni4462_system_clock_calibrate(1), pb_ni4462_pulse(1)


 

Index

NAME
SYNOPSIS
DESCRIPTION
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 15:59:15 GMT, November 19, 2013