formatting corrections

master
Ondřej Hruška 6 years ago
parent d36df8372a
commit 17adb77eea
Signed by: MightyPork
GPG Key ID: 2C5FD5035250423D
  1. 20
      UNIT_DO.md

@ -5,38 +5,40 @@
- Supports generating output pulses of precise length.
Pins are ordered in a descending order (DOWNTO) and accessed in a packed format,
e.g. if pins 1 and 4 are selected (0b10010 on the port), the control word has
two bits (4)(1) and e.g. 0b10 means pin 4, 0b11 both. This makes accessing the
e.g. if pins 1 and 4 are selected (`0b10010` on the port), the control word has
two bits `(4)(1)` and e.g. `0b10` means pin 4, `0b11` both. This makes accessing the
block of pins easier, e.g. when using them to drive a parallel bus.
## Commands
### WRITE
### WRITE (0x00)
Write a value to all defined pins.
*Payload:*
- u16 - new value (packed)
### SET
### SET (0x01)
Set pins high
*Payload:*
- u16 - pins to set high (packed)
### CLEAR
### CLEAR (0x02)
Set pins low
*Payload:*
- u16 - pins to set low (packed)
### TOGGLE
### TOGGLE (0x03)
Toggle selected pins (high - low)
*Payload:*
- u16 - pins to toggle (packed)
### PULSE
Send a pulse. The start will be aligned to 1 us or 1 ms (based on pulse length) of the internal timebase to ensure the highest length precision. (This alignment reduces time jitter.)
### PULSE (0x04)
Send a pulse.
The start will be aligned to 1 us or 1 ms (based on pulse length) of the internal timebase to ensure the highest length precision. This alignment reduces jitter in the pulse duration. A jitter of the pulse start time is less significant, as there's already some unpredictable delay caused by the USB connection and the PC OS scheduler.
*Payload:*
- u16 - pins to generate the pulse on (packed)
@ -44,7 +46,7 @@ Send a pulse. The start will be aligned to 1 us or 1 ms (based on pulse length)
- u8 - range (0 - milliseconds, 1 - microseconds)
- u16 - duration in the selected range
*NOTE:* The microsecond range supports durations only up to 999 (1 ms), higher
*NOTE:* The microsecond range supports durations only up to 999 us, higher
numbers will be divided by 1000 and use the millisecond range instead.
## Events

Loading…
Cancel
Save