I2C driver cleanup (#21273)
* remove i2c_start and i2c_stop from i2c drivers * remove static i2c_address variable from chibios i2c driver
This commit is contained in:
@@ -8,16 +8,6 @@
|
||||
// TODO: remove patch
|
||||
#ifdef PROTOCOL_CHIBIOS
|
||||
# pragma message("ChibiOS is currently 'best effort' and might not report accurate results")
|
||||
|
||||
i2c_status_t i2c_start_bodge(uint8_t address, uint16_t timeout) {
|
||||
i2c_start(address);
|
||||
|
||||
// except on ChibiOS where the only way is do do "something"
|
||||
uint8_t data = 0;
|
||||
return i2c_read_register(address, 0, &data, sizeof(data), TIMEOUT);
|
||||
}
|
||||
|
||||
# define i2c_start i2c_start_bodge
|
||||
#endif
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
@@ -31,10 +21,9 @@ void do_scan(void) {
|
||||
|
||||
for (uint8_t address = 1; address < 127; address++) {
|
||||
// The i2c_scanner uses the return value of
|
||||
// i2c_start to see if a device did acknowledge to the address.
|
||||
i2c_status_t error = i2c_start(address << 1, TIMEOUT);
|
||||
// i2c_ping_address to see if a device did acknowledge to the address.
|
||||
i2c_status_t error = i2c_ping_address(address << 1, TIMEOUT);
|
||||
if (error == I2C_STATUS_SUCCESS) {
|
||||
i2c_stop();
|
||||
dprintf(" I2C device found at address 0x%02X\n", address);
|
||||
nDevices++;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user