#include <src/SDI12Protocol.h>
SDI12Timing
struct
Normative SDI-12 timing limits in microseconds.
- Reference
- Detailed Descriptions
These compile-time integral constants have no object storage. The transport, recorder, and sensor layers use the same limits when producing or validating traffic.
Public types
- enum (anonymous): uint32_t { kGeneralToleranceMicros = 400UL, kBitWidthMicros = 833UL, kBreakMinMicros = 12000UL, kLineReleaseMaxMicros = 7500UL, kPreCharacterMarkingMinMicros = 8330UL, kResponseStartMaxMicros = 15000UL, kInterCharacterMarkingMaxMicros = 1660UL, kSensorWakeMaxMicros = 100000UL, kSensorStandbyMarkingMinMicros = 100000UL, kBreakRequiredAfterMarkingMicros = 87000UL, kNormalResponseMaxMicros = 380000UL, kRecorderDefaultTransactionTimeoutMillis = 3000UL, kRecorderSimpleTransactionTimeoutMillis = 5000UL, kRecorderDataTransactionTimeoutMillis = 12000UL, kRecorderRawResponseTimeoutMicros = 2000000UL, kHighVolumeDataResponseMaxMicros = 810400UL, kRecorderResponseStartMaxMicros = 17070UL, kNoResponseRetryMinMicros = 16670UL }
Enum documentation
enum SDI12Timing:: (anonymous): uint32_t
| Enumerators | |
|---|---|
| kGeneralToleranceMicros |
General timing tolerance, except where the specification disallows it. |
| kBitWidthMicros |
The size of a bit in microseconds; 1200 baud = 1200 bits/second ~ 833.333 µs/bit |
| kBreakMinMicros |
Minimum duration of a valid spacing break. |
| kLineReleaseMaxMicros |
Maximum time in which a transmitter must relinquish the data line. |
| kPreCharacterMarkingMinMicros |
Minimum marking before the first character of a command or response. |
| kResponseStartMaxMicros |
Maximum time from command completion to the response start bit. |
| kInterCharacterMarkingMaxMicros |
Maximum marking between the stop bit of one character and the start bit of the next character; no general tolerance applies. |
| kSensorWakeMaxMicros |
Maximum time for a sensor to wake after detecting a break. |
| kSensorStandbyMarkingMinMicros |
Marking duration after which a sensor must return to standby. |
| kBreakRequiredAfterMarkingMicros |
Marking duration after which the next recorder command requires a break. |
| kNormalResponseMaxMicros |
Maximum completion time for an ordinary ASCII response. |
| kRecorderDefaultTransactionTimeoutMillis |
Conservative recorder transaction guard before command-derived deadlines. |
| kRecorderSimpleTransactionTimeoutMillis |
Recorder deadline that permits all retries of an ordinary typed response. |
| kRecorderDataTransactionTimeoutMillis |
Recorder deadline that permits all retries of one maximum-length data response. |
| kRecorderRawResponseTimeoutMicros |
Conservative recorder response deadline for a raw extended command. |
| kHighVolumeDataResponseMaxMicros |
Maximum transmission time for an extended ASCII data response with CRC. |
| kRecorderResponseStartMaxMicros |
Recorder wait for observing the complete first response start bit. |
| kNoResponseRetryMinMicros |
Earliest recorder retry after a command receives no response. |