9static constexpr uint8_t REG_ANGLE_H = 0x03;
10static constexpr uint8_t REG_ANGLE_L = 0x04;
13static constexpr uint8_t REG_EEPROM_KEY = 0x09;
14static constexpr uint8_t REG_EEPROM_CMD = 0x0A;
15static constexpr uint8_t EEPROM_KEY_VALUE = 0xB3;
16static constexpr uint8_t EEPROM_CMD_VALUE = 0x05;
17static constexpr uint32_t EEPROM_PROGRAM_DELAY_MS = 700;
20static constexpr uint8_t REG_ABZ_MUX_DIR = 0x29;
21static constexpr uint8_t REG_RES_H = 0x30;
22static constexpr uint8_t REG_ABZ_RES_L = 0x31;
23static constexpr uint8_t REG_CONFIG_H = 0x32;
24static constexpr uint8_t REG_ZERO_L = 0x33;
25static constexpr uint8_t REG_HYST_L = 0x34;
26static constexpr uint8_t REG_OUT = 0x38;
27static constexpr uint8_t REG_A_HIGH = 0x3E;
28static constexpr uint8_t REG_A_START_L = 0x3F;
29static constexpr uint8_t REG_A_STOP_L = 0x40;
34 void setup()
override;
This Class provides the methods to read/write bytes from/to an i2c device.
I2CRegister reg(uint8_t a_register)
calls the I2CRegister constructor
Bus-independent core; the I2C and SSI hubs provide read_count(), the entities poll it.
MT6701 over I2C, with the configuration registers.
void set_zero_offset(uint16_t position)
void set_analog_stop(uint16_t position)
void save_eeprom()
Write the registers to the EEPROM: pauses sampling for the programming time.
static constexpr uint16_t UNSET_U16
void set_uvw_pole_pairs(uint8_t pole_pairs)
void set_output_mode(uint8_t output_mode)
bool read_count(uint16_t &count) override
void set_hysteresis(uint8_t hysteresis)
static constexpr uint8_t UNSET_U8
void set_pwm_polarity(uint8_t pwm_polarity)
uint16_t abz_pulses_per_revolution_
void set_analog_start(uint16_t position)
void set_direction(uint8_t direction)
void set_pwm_frequency(uint8_t pwm_frequency)
void set_abz_pulses_per_revolution(uint16_t pulses)
void set_out_pin_mode(uint8_t out_pin_mode)
bool update_register_(uint8_t reg, uint8_t mask, uint8_t value)
void dump_config() override
void set_z_pulse_width(uint8_t width)