Tmag5273 can change address

This commit is contained in:
whowechina
2024-09-29 13:37:26 +08:00
parent d2257756b3
commit 242acffc96
2 changed files with 10 additions and 0 deletions
+8
View File
@@ -111,6 +111,14 @@ bool tmag5273_is_present()
return false;
}
bool tmag5273_change_addr(uint8_t i2c_addr)
{
tmag5273_write_reg(0x0c, (i2c_addr << 1) | 0x01);
instances[current_instance].addr = i2c_addr;
uint8_t new_addr = tmag5273_read_reg(0x0c) >> 1;
return new_addr == i2c_addr;
}
bool tmag5273_init_sensor()
{
tmag5273_write_reg(0x03, 0x01 << 2); // Enable angle calculation
+2
View File
@@ -15,6 +15,8 @@
void tmag5273_init(unsigned instance, i2c_inst_t *i2c_port, uint8_t i2c_addr);
void tmag5273_use(unsigned instance);
bool tmag5273_is_present();
bool tmag5273_change_addr(uint8_t i2c_addr);
bool tmag5273_init_sensor();
uint8_t tmag5273_read_reg(uint8_t addr);