6#include <nlohmann/json_fwd.hpp>
86 "Major(3 digit).Minor(3 digit).Timestamp(12 digits); 001.002.2023.09.18.14.25 --> Version "
89 "Bit 15 - 0: signed 16 bit integer"},
91 "Bit 15 - 0: signed 16 bit integer"},
93 "Bit 15 - 0: unsigned 16 bit integer"},
95 "Bit 15 - 0: unsigned 16 bit integer"},
97 "Bit 15 - 0: signed 16 bit integer"},
99 "Bit 15 - 0: signed 16 bit integer"},
101 "Bit 15 - 0: signed 16 bit integer"},
103 "Bit 15 - 0: unsigned 16 bit integer"},
105 "Bit 15 - 0: unsigned 16 bit integer"},
107 "Bit 15 - 0: signed 16 bit integer"},
109 "Bit 7 - 3: Reserved; Bit 2: POA saving active (1 = saving active / 0 = saving not active); "
110 "Bit 1: POA fast mode (1 = fast mode active / 0 = fast mode inactive); Bit 0: POA active (1 = "
111 "POA active / 0 = POA inactive)"},
113 "Bit 7 - 3: Reserved; Bit 2: POA save values as startup; Bit 1: POA enable/disable fast mode "
114 "(1 = enable / 0 = disable); Bit 0: POA set active/inactive (1 = set active / 0 = set "
117 "Left aligned 32 bit singleturn position"},
119 "Right aligned 32 bit multiturn position"},
121 "32 bit integer value (+/- FS --> +/- 125000 Hz)"},
123 "Bit 31 - 16: signed 16 bit integer (A); Bit 15 - 0: signed 16 bit integer (B)"},
125 "sin^2+cos^2 adc values"},
127 "Bit 15 - 8: Reserved; Bit 7: Wiegand compensation active; Bit 6: Correction table active; "
128 "Bit 5: Direct output; Bit 4: Save correction table; Bit 3: Erase current correction table; "
129 "Bit 2: Clear current correction table; Bit 1: start linear learn; Bit 0: start automatic "
132 "Bit 15 - 11: Reserved; Bit 10: learning direction; Bit 9: Processing active; Bit 8: Sampling "
133 "active; Bit 7: Wiegand compensation active; Bit 6: Correction table active; Bit 5: Direct "
134 "output active; Bit 4: Save correction table active; Bit 3: Erase current correction table "
135 "active; Bit 2: Reserved; Bit 1: linear learn active; Bit 0: automatic calibration active"},
137 "Bit 7 - 2: Reserved; Bit 1: Load default configuration; Bit 0: Save current configuration"},
141 "Not documented in the vendor's draft. The encoder calibration sequence reads it as an "
142 "unsigned 16-bit value. Write access is unknown."},
144 "Not documented in the vendor's draft. The encoder calibration sequence reads it as an "
145 "unsigned 16-bit value. Write access is unknown."},
147 "Not documented in the vendor's draft. The encoder calibration sequence reads it as an "
148 "unsigned 16-bit value. Write access is unknown."},
150 "Not documented in the vendor's draft. The encoder calibration sequence reads it as an "
151 "unsigned 16-bit value. Write access is unknown."},
153 "Bit 7 - 3: Reserved; Bit 2: Command execution error; Bit 1: signal error; Bit 0: "
154 "Initialization error"},
156 "Bit 7 - 2: Reserved; Bit 1: Clear all errors; Bit 0: Clear single error"},
Pure SOMANET (Synapticon manufacturer-specific) vocabulary — object indices, sub-entry numbers and en...
Definition ic_haus_registers.cc:7
void to_json(nlohmann::json &j, const IcHausField &field)
Serialises an IcHausField. Participates in nlohmann ADL.
Definition ic_haus_registers.cc:358
constexpr std::optional< KueblerRegister > findKueblerRegister(uint8_t address)
The register at address, or std::nullopt when the table has none.
Definition kuebler_registers.h:166
KueblerAccess
Whether the encoder allows reading a register, writing it, or both.
Definition kuebler_registers.h:49
constexpr uint8_t kMaxKueblerRegisterBytes
The largest register width OS command 19 can transfer, in bytes: its length byte is capped at 4....
Definition kuebler_registers.h:178
KueblerFormat
How a register's value should be read once assembled.
Definition kuebler_registers.h:39
@ kUnsigned
One unsigned integer of the register's width.
@ kSigned
One two's-complement integer of the register's width.
constexpr auto kKueblerRegisters
Every register known, ascending by address: the vendor's draft, plus the four the encoder calibration...
Definition kuebler_registers.h:78
One register of the Kübler encoder.
Definition kuebler_registers.h:52
std::string_view definition
Definition kuebler_registers.h:69
std::string_view name
The vendor's own name for it.
Definition kuebler_registers.h:55
uint8_t bits
Width in bits: 8, 16 or 32. See kMaxKueblerRegisterBytes.
Definition kuebler_registers.h:54
bool implemented
Definition kuebler_registers.h:62
KueblerAccess access
Definition kuebler_registers.h:56
KueblerFormat format
Definition kuebler_registers.h:64
uint8_t address
Register address, as OS command 19 carries it in byte 2.
Definition kuebler_registers.h:53