MB_ILLEGAL_VAL = 3,
} mb_exception;
-#define MB_HOLD_REGS_BASE 1000
-#define MB_N_HOLD_REGS 60
-#define MB_N_HOLD_REGS_EEPROM 20
+#define MB_HOLD_REGS_BASE 0 // first register
+#define MB_N_HOLD_REGS 80 // total # of registers
+#define MB_N_HOLD_REGS_EEPROM 20 // the first N registers eeprom-backed
extern uint16_t hold_regs[MB_N_HOLD_REGS];
-#define mb_unit_id (hold_regs[0])
+#define mb_unit_id (hold_regs[0]) // MODBUS id in the first register
uint8_t hold_reg_is_valid(uint16_t reg, uint16_t val);