1
0
Fork 0

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:
David Hoelscher 2024-01-17 07:05:38 -06:00 committed by GitHub
parent 2b0965944d
commit e9bd7d7ad3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
49 changed files with 280 additions and 603 deletions

View file

@ -114,7 +114,7 @@ uint8_t matrix_scan(void)
#ifdef RIGHT_HALF
uint8_t data = 0x7F;
// Receive the columns from right half
i2c_receive(I2C_ADDR_WRITE, &data, 1, MCP23018_I2C_TIMEOUT);
i2c_receive(I2C_ADDR, &data, 1, MCP23018_I2C_TIMEOUT);
cols |= ((~(data) & 0x7F) << 7);
#endif
@ -162,7 +162,7 @@ static void matrix_select_row(uint8_t row)
//Set the remote row on port A
txdata[0] = GPIOA;
txdata[1] = 0xFF & ~(1<<row);
mcp23018_status = i2c_transmit(I2C_ADDR_WRITE, (uint8_t *)txdata, 2, MCP23018_I2C_TIMEOUT);
mcp23018_status = i2c_transmit(I2C_ADDR, (uint8_t *)txdata, 2, MCP23018_I2C_TIMEOUT);
#endif
// select other half

View file

@ -39,7 +39,7 @@ uint8_t init_mcp23018(void)
data[0] = IODIRA;
data[1] = 0b00000000;
data[2] = 0b11111111;
mcp23018_status = i2c_transmit(I2C_ADDR_WRITE, (uint8_t *)data, 3, MCP23018_I2C_TIMEOUT);
mcp23018_status = i2c_transmit(I2C_ADDR, (uint8_t *)data, 3, MCP23018_I2C_TIMEOUT);
if (mcp23018_status != I2C_STATUS_SUCCESS)
goto out;
@ -50,7 +50,7 @@ uint8_t init_mcp23018(void)
data[0] = GPPUA;
data[1] = 0b00000000;
data[2] = 0b11111111;
mcp23018_status = i2c_transmit(I2C_ADDR_WRITE, (uint8_t *)data, 3, MCP23018_I2C_TIMEOUT);
mcp23018_status = i2c_transmit(I2C_ADDR, (uint8_t *)data, 3, MCP23018_I2C_TIMEOUT);
if (mcp23018_status != I2C_STATUS_SUCCESS)
goto out;
@ -61,7 +61,7 @@ uint8_t init_mcp23018(void)
data[0] = OLATA;
data[1] = 0b11111111;
data[2] = 0b11111111;
mcp23018_status = i2c_transmit(I2C_ADDR_WRITE, (uint8_t *)data, 3, MCP23018_I2C_TIMEOUT);
mcp23018_status = i2c_transmit(I2C_ADDR, (uint8_t *)data, 3, MCP23018_I2C_TIMEOUT);
out:
return (mcp23018_status);

View file

@ -23,9 +23,7 @@
# include "i2c_master.h"
// I2C aliases and register addresses (see "mcp23018.md")
# define I2C_ADDR 0b0100000
# define I2C_ADDR_WRITE ( (I2C_ADDR<<1) | I2C_WRITE )
# define I2C_ADDR_READ ( (I2C_ADDR<<1) | I2C_READ )
# define I2C_ADDR (0b0100000<<1)
# define IODIRA 0x00 // i/o direction register
# define IODIRB 0x01
# define GPPUA 0x0C // GPIO pull-up resistor register