# Configuring individual microscope setups All configuration is stored in the file `software/microscope.toml`. This file is not version controlled and is intended to be modified by individual users. Example configuration files can be found in `/configs` ## Beams Currently, we can support up to 1 electron beam and up to 1 ion beam. ### Pinout We support three types of beam-specific digital logic outputs. - Scan Enable - Blank Enable - Blank #### Scan Enable When this signal is active, the microscope's scan coils are driven by the analog X and Y signals generated by OBI. When this signal is inactive, the microscope's scan coils are driven by its internally generated scan signal. Example connections: - Our Scan Select Relay Board, or our Differential Scan Select Relay Board - Some microscopes have built-in internal/external control switches ### Blank Enable When this signal is active, the microscope's blanking state is driven by the blanking signal generated by OBI. When this signal is inactive, the microscope's blanking state is driven by its internally generated blanking signal. ### Blank When this signal is active (and enabled by Blank Enable), the beam is in the blanked state. When this signal is inactive (and enabled by Blank Enable), the beam is in the unblanked state. ### Pin width and direction Beam IO signals can be assigned to any of the 16 Digital IO pins in Glasgow's main banks (Port A and Port B). Each signal can be assigned to up to two pins, and each pin can be configured as a pull up or pull down. The pinout must be described in the form of a list, with negative numbers corresponding to inverted pins. Examples: `blank = [1]`: Port A, Pin 1 will be high when blanking `blank = [8,9]`: Port B, Pin 0 and 1 will be high when blanking `blank = [-3,4]`: Port A, Pin 3 will be low and Pin 4 will be high when blanking. Note that Glasgow port pinouts are zero-indexed. ``` [beam.electron.pinout] scan_enable = [1] blank_enable = [2,3] blank = [4, -5] ``` ### Magnification Calibration Data ``` [beam.electron] mag_cal_path = Users/isabelburgos/Open-Beam-Interface/software/magcal.csv ``` ## Timing The delay between when the external control signal goes high and when the external control switch has fully actuated is built into the gateware. For the relays we use on the OBI Scan Select Accessory Boards, the switching delay is 20 ms. ``` [timings] ext_switch_delay_ms = 20 ``` ## Transforms The scan be flipped horizontally and vertically, as well as rotated 90°, to allow the [default coordinate system](./commands/coordinate_system.md) to be aligned with the microscope's internal scan pattern. ``` [transforms] xflip = true yflip = true rotate90 = true ```