+#define SB1_FUNCTION_BLOCK 0b11100000
+#define SB1_RANGE_BLOCK 0b00011100
+#define SB1_DIGITS_BLOCK 0b00000011
+
+/** Status Byte 1 (Function) */
+enum sb1_function {
+ FUNCTION_VDC = 0b00100000,
+ FUNCTION_VAC = 0b01000000,
+ FUNCTION_2WR = 0b01100000,
+ FUNCTION_4WR = 0b10000000,
+ FUNCTION_ADC = 0b10100000,
+ FUNCTION_AAC = 0b11000000,
+ FUNCTION_EXR = 0b11100000,
+};
+
+/** Status Byte 1 (Range V DC) */
+enum sb1_range_vdc {
+ RANGE_VDC_30MV = 0b00000100,
+ RANGE_VDC_300MV = 0b00001000,
+ RANGE_VDC_3V = 0b00001100,
+ RANGE_VDC_30V = 0b00010000,
+ RANGE_VDC_300V = 0b00010100,
+};
+
+/** Status Byte 1 (Range V AC) */
+enum sb1_range_vac {
+ RANGE_VAC_300MV = 0b00000100,
+ RANGE_VAC_3V = 0b00001000,
+ RANGE_VAC_30V = 0b00001100,
+ RANGE_VAC_300V = 0b00010000,
+};
+
+/** Status Byte 1 (Range A) */
+enum sb1_range_a {
+ RANGE_A_300MA = 0b00000100,
+ RANGE_A_3A = 0b00001000,
+};
+
+/** Status Byte 1 (Range Ohm) */
+enum sb1_range_ohm {
+ RANGE_OHM_30R = 0b00000100,
+ RANGE_OHM_300R = 0b00001000,
+ RANGE_OHM_3KR = 0b00001100,
+ RANGE_OHM_30KR = 0b00010000,
+ RANGE_OHM_300KR = 0b00010100,
+ RANGE_OHM_3MR = 0b00011000,
+ RANGE_OHM_30MR = 0b00011100,
+};
+
+/** Status Byte 1 (Digits) */
+enum sb1_digits {
+ DIGITS_5_5 = 0b00000001,
+ DIGITS_4_5 = 0b00000010,
+ DIGITS_3_5 = 0b00000011,
+};
+
+/** Status Byte 2 */
+enum sb2_status {
+ STATUS_INT_TRIGGER = (1 << 0),
+ STATUS_AUTO_RANGE = (1 << 1),
+ STATUS_AUTO_ZERO = (1 << 2),
+ STATUS_50HZ = (1 << 3),
+ STATUS_FRONT_TERMINAL = (1 << 4),
+ STATUS_CAL_RAM = (1 << 5),
+ STATUS_EXT_TRIGGER = (1 << 6),
+};
+
+/** Status Byte 3 (Serial Poll Mask) */
+enum sb3_srq {
+ SRQ_BUS_AVAIL = (1 << 0),
+ SRQ_SYNTAX_ERR = (1 << 2),
+ SRQ_HARDWARE_ERR = (1 << 3),
+ SRQ_KEYBORD = (1 << 4),
+ SRQ_CAL_FAILED = (1 << 5),
+ SRQ_POWER_ON = (1 << 7),
+};
+
+/** Status Byte 4 (Error) */
+enum sb4_error {
+ ERROR_SELF_TEST = (1 << 0),
+ ERROR_RAM_SELF_TEST = (1 << 1),
+ ERROR_ROM_SELF_TEST = (1 << 2),
+ ERROR_AD_SLOPE = (1 << 3),
+ ERROR_AD_SELF_TEST = (1 << 4),
+ ERROR_AD_LINK = (1 << 5),
+};
+
+/** Channel connector (front terminals or rear terminals. */
+enum terminal_connector {
+ TERMINAL_FRONT,
+ TERMINAL_REAR,
+};
+
+/** Available triggers */
+enum trigger_state {
+ TRIGGER_UNDEFINED,
+ TRIGGER_EXTERNAL,
+ TRIGGER_INTERNAL,
+};
+
+/** Available line frequencies */
+enum line_freq {
+ LINE_50HZ,
+ LINE_60HZ,
+};
+