commands:ttl
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| commands:ttl [2025/05/01 19:01] – add entry for TTL X=8 brandon | commands:ttl [2026/06/19 19:35] (current) – add space to bottom of page brandon | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| TTL functionality differs based on whether the controller is a Tiger (TG-1000) or MS2000/ | TTL functionality differs based on whether the controller is a Tiger (TG-1000) or MS2000/ | ||
| - | The Tiger (TG-1000) and MS2000 controller electronics have a buffered TTL input ('' | + | The Tiger (TG-1000) and MS2000 controller electronics have a buffered TTL input ('' |
| <WRAP center round important 60%> | <WRAP center round important 60%> | ||
| Line 36: | Line 36: | ||
| __// | __// | ||
| + | |||
| + | ---- | ||
| **0** - Turns off TTL IN0 controlled functions; TTL interrupt DISABLED. | **0** - Turns off TTL IN0 controlled functions; TTL interrupt DISABLED. | ||
| - | **1** - TTL IN0 initiates a Move-to-Next-Position of the stored positions in the ring buffer pointed to by the buffer_pointer. | + | ---- |
| - | **2** - TTL IN0 repeats most recent relative move (see '' | + | **1** - TTL IN0 initiates a Move-to-Next-Position of the stored positions in the ring buffer pointed to by the '' |
| + | |||
| + | ---- | ||
| + | |||
| + | **2** - TTL IN0 repeats most recent relative move (see [[commands: | ||
| As of '' | As of '' | ||
| + | |||
| + | ---- | ||
| **3** - TTL IN0 initiates an autofocus operation on systems with autofocus installed. | **3** - TTL IN0 initiates an autofocus operation on systems with autofocus installed. | ||
| - | **4** - Enables TTL IN0 controlled Z-stacks. (See '' | + | ---- |
| - | **5** - Enables TTL IN0-started [[: | + | **4** - Enables TTL IN0 controlled Z-stacks |
| - | **6** - On the rising edge of a TTL pulse, initiate a stage scan if the scan state is '' | + | ---- |
| - | **7** - TTL commanded | + | **5** - Enables |
| - | <wrap lo>MS-2000 v9.54 required</ | + | ---- |
| - | **8** - TTL commanded '' | + | |
| - | **9** - Used with CRISP focus lock. | + | **6** - On the rising edge of a TTL pulse, initiate a stage scan if the scan state is '' |
| - | **10** | + | ---- |
| - | **11** - '' | + | **7** - TTL commanded |
| - | **12** | + | ---- |
| - | > **CAUTION:** If you are using TTL X mode 12, the values entered into the ring buffer using the '' | + | <wrap lo>MS-2000 v9.54 or Tiger v3.54 required</ |
| + | **8** - TTL commanded | ||
| - | Added in v3.24 for Tiger and version 9.52 for MS2000/ | + | ---- |
| - | **20** - The TTL IN0 pulse turns on the TTL OUT0 for a fixed duration set by the [[commands:rtime|'' | + | **9** - Used with [[:crisp_manual|CRISP]] focus lock. |
| - | Can be used with a LED illumination to act as a flash of defined duration. | + | ---- |
| - | Added in v3.14 for Tiger and version 9.2l for MS2000/ | + | **10** - Toggle TTL OUT0. If TTL OUT0 is set either LOW or HIGH, an input pulse on the TTL IN0 will cause the output to toggle to the other state. |
| + | ---- | ||
| - | **21** - Similar to mode 20 except TTL pulses cycle through | + | <wrap lo>Tiger v3.31 required</ |
| + | **11** - '' | ||
| - | For Tiger v3.24 and later, when '' | + | Not yet implemented |
| - | Added in v3.14 for Tiger and version 9.2l for MS2000/ | + | ---- |
| + | <wrap lo> | ||
| + | **12** - Behavior is exactly the same as mode 1 above except the moves are relative rather than absolute. | ||
| - | **22** - Similar as mode 20 except waits for TTL pulse to go low before turning off the LED. Setting '' | + | > **CAUTION:** If you are using TTL X mode 12, the values entered into the ring buffer using the [[commands: |
| - | Added in v3.30 for Tiger and version 9.2n for MS2000/ | + | ---- |
| + | <wrap lo> | ||
| + | **20** - The TTL IN0 pulse turns on the TTL OUT0 for a fixed duration set by the [[commands: | ||
| - | **23** - Same as mode 21 except waits for TTL pulse to go low before turning off the LED. Setting | + | Can be used with a LED illumination to act as a flash of defined duration. |
| - | Added in v3.30 for Tiger and version 9.2n for MS2000/ | + | ---- |
| + | <wrap lo> | ||
| + | **21** - Similar to mode 20 except TTL pulses cycle through the channels of the TGLED card or Dual LED card. On each TTL pulse, only ONE LED channel turns ON for a fixed time. The next TTL pulse turns on the next LED channel for a fixed time, and so on. | ||
| + | For Tiger v3.24 and later, when [[commands: | ||
| + | |||
| + | ---- | ||
| + | |||
| + | <wrap lo> | ||
| + | **22** - Similar as mode 20 except waits for TTL pulse to go low before turning off the LED. Setting '' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | <wrap lo> | ||
| + | **23** - Same as mode 21 except waits for TTL pulse to go low before turning off the LED. Setting '' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | <wrap lo>Tiger v3.30 required</ | ||
| **30** - Used with Single Axis Modes 2 and 4, see the [[commands: | **30** - Used with Single Axis Modes 2 and 4, see the [[commands: | ||
| Line 99: | Line 130: | ||
| Mode 4: On the rising edge of a TTL pulse, the routine runs continuously. | Mode 4: On the rising edge of a TTL pulse, the routine runs continuously. | ||
| - | Available in Tiger firmware 3.30 and above; not yet implemented for MS2000/RM2000. | + | Not yet implemented for MS2000. |
| + | |||
| + | ---- | ||
| + | |||
| + | <wrap lo> | ||
| + | **103** - Repeating Autofocus. This mode does not use TTL IN. When set, the controller will automatically attempt an autofocus routine every //K// milliseconds indefinitely until TTL X is changed. The repetition time, //K//, is set using [[commands: | ||
| - | <wrap lo>MS-2000 9.2n required</ | + | ---- |
| - | **103** | + | |
| ===== TTL Output Mode ===== | ===== TTL Output Mode ===== | ||
| __// | __// | ||
| + | |||
| + | ---- | ||
| **0** - TTL OUT0 unconditionally set LOW. | **0** - TTL OUT0 unconditionally set LOW. | ||
| + | |||
| + | ---- | ||
| **1** - TTL OUT0 unconditionally set HIGH. | **1** - TTL OUT0 unconditionally set HIGH. | ||
| + | |||
| + | ---- | ||
| **2** - generates TTL pulse at end of a commanded move ('' | **2** - generates TTL pulse at end of a commanded move ('' | ||
| - | **3** - < | + | ---- |
| - | **4** - < | + | **3** - < |
| - | **5** - < | + | ---- |
| + | |||
| + | **4** - < | ||
| + | |||
| + | ---- | ||
| + | |||
| + | **5** - < | ||
| + | |||
| + | ---- | ||
| **8** - TTL OUT0 timed arrival pre-pulse output. | **8** - TTL OUT0 timed arrival pre-pulse output. | ||
| + | |||
| + | ---- | ||
| **9** - TTL OUT0 PWM and MicroServo or Solenoid output. | **9** - TTL OUT0 PWM and MicroServo or Solenoid output. | ||
| + | |||
| + | ---- | ||
| **10** - Output TTL OUT0 gated HIGH upon completion of video AUTOFOCUS function. | **10** - Output TTL OUT0 gated HIGH upon completion of video AUTOFOCUS function. | ||
| + | |||
| + | ---- | ||
| **11** - Generates TTL OUT0 pulse at end of commanded move providing CRISP is in ‘F’ state (active and within tolerance). | **11** - Generates TTL OUT0 pulse at end of commanded move providing CRISP is in ‘F’ state (active and within tolerance). | ||
| + | ---- | ||
| **12** - TTL OUT0 high when CRISP is in the '' | **12** - TTL OUT0 high when CRISP is in the '' | ||
| + | |||
| + | ---- | ||
| **20** - TTL OUT0 set during SPIM state machine operation. | **20** - TTL OUT0 set during SPIM state machine operation. | ||
| + | |||
| + | ---- | ||
| **21** - TTL1 backplane signal (PLC address 42) set high at the end of a ring buffer move or AIJ-initiated move (for laser trigger). | **21** - TTL1 backplane signal (PLC address 42) set high at the end of a ring buffer move or AIJ-initiated move (for laser trigger). | ||
| + | |||
| + | ---- | ||
| <wrap lo>Tiger v3.17 required</ | <wrap lo>Tiger v3.17 required</ | ||
| - | **22** - In this mode, TTL OUT0 is controlled by [[: | + | **22** - In this mode, TTL OUT0 is controlled by the [[: |
| + | |||
| + | ---- | ||
| <wrap lo>Tiger v3.38 required</ | <wrap lo>Tiger v3.38 required</ | ||
| **30** - TTL OUT1 high when the position of first axis is more than the PC setting away from its target position. | **30** - TTL OUT1 high when the position of first axis is more than the PC setting away from its target position. | ||
| + | |||
| + | ---- | ||
| <wrap lo>Tiger v3.38 required</ | <wrap lo>Tiger v3.38 required</ | ||
| **31** - TTL OUT1 high when the position of second axis is more than the PC setting away from its target position. | **31** - TTL OUT1 high when the position of second axis is more than the PC setting away from its target position. | ||
| + | |||
| + | ---- | ||
| <wrap lo>Tiger v3.38 required</ | <wrap lo>Tiger v3.38 required</ | ||
| **32** - TTL OUT1 high when the position of third axis is more than the PC setting away from its target position. | **32** - TTL OUT1 high when the position of third axis is more than the PC setting away from its target position. | ||
| + | |||
| + | ---- | ||
| <wrap lo>Tiger v3.38 required</ | <wrap lo>Tiger v3.38 required</ | ||
| **33** - TTL OUT1 high when the position of fourth axis is more than the PC setting away from its target position. | **33** - TTL OUT1 high when the position of fourth axis is more than the PC setting away from its target position. | ||
| + | |||
| + | ---- | ||
| ===== TTL Output Polarity ===== | ===== TTL Output Polarity ===== | ||
| Line 154: | Line 226: | ||
| __// | __// | ||
| - | **1** - default | + | **1** - Default |
| - | **-1** - inverts | + | **-1** - Invert |
| ===== TTL Auxiliary (Tiger Only) ===== | ===== TTL Auxiliary (Tiger Only) ===== | ||
| Line 184: | Line 256: | ||
| ===== Report Mode (MS-2000 Only) ===== | ===== Report Mode (MS-2000 Only) ===== | ||
| - | __// | + | __// |
| + | <wrap lo> | ||
| **T** - Enables serial reporting on every output TTL pulse when set to be non-zero. | **T** - Enables serial reporting on every output TTL pulse when set to be non-zero. | ||
| Line 195: | Line 268: | ||
| * X array index as 16-bit unsigned int (AIJ X? equivalent) | * X array index as 16-bit unsigned int (AIJ X? equivalent) | ||
| * Y array index as 16-bit unsigned int (AIJ Y? equivalent) | * Y array index as 16-bit unsigned int (AIJ Y? equivalent) | ||
| + | |||
| + | \\ | ||
| + | The next value is the Z-stack index (ZS T? equivalent, related to the ZS command) | ||
| Next the encoder value for all axes in order as 32-bit signed integer in twos-complement, | Next the encoder value for all axes in order as 32-bit signed integer in twos-complement, | ||
| Line 212: | Line 288: | ||
| * To validate the checksum repeat the same steps but include the 16-bit checksum value in the running sum. The computed checksum should be 0000. If not there was an error in checksum generation or transmission of the data. | * To validate the checksum repeat the same steps but include the 16-bit checksum value in the running sum. The computed checksum should be 0000. If not there was an error in checksum generation or transmission of the data. | ||
| - | Example: firmware includes '' | + | Example: firmware includes '' |
| - | 0002 0001 0003 1E00 FFFF FFFF FFFF FFEE FC81 0679 0D DF0F 0D | + | '' |
| where coordinate is (2,1) in the array, the X encoder value is 3268608 in decimal (corresponding to almost exactly 9mm position with 2 TPI rotary stage), Y encoder value is -1 in decimal, Z encoder value is -18 in decimal, CRISP error value is -895 in decimal, CRISP sum value is 1657 decimal, and the checksum is hex DF0F. To validate the checksum add each of these 16-bit unsigned numbers (excluding the 0D delimeters) which results in 5FFFA in hex. FFFA plus 5 is FFFF, and upon bitwise inversion the value becomes 0 as expected. | where coordinate is (2,1) in the array, the X encoder value is 3268608 in decimal (corresponding to almost exactly 9mm position with 2 TPI rotary stage), Y encoder value is -1 in decimal, Z encoder value is -18 in decimal, CRISP error value is -895 in decimal, CRISP sum value is 1657 decimal, and the checksum is hex DF0F. To validate the checksum add each of these 16-bit unsigned numbers (excluding the 0D delimeters) which results in 5FFFA in hex. FFFA plus 5 is FFFF, and upon bitwise inversion the value becomes 0 as expected. | ||
| Line 227: | Line 303: | ||
| For MS2000/ | For MS2000/ | ||
| + | \\ | ||
| {{tag> | {{tag> | ||
Address: 29391 W Enid Rd. Eugene, OR 97402, USA | Phone: +1 (541) 461-8181
commands/ttl.1746140500.txt.gz · Last modified: by brandon
