|
|
@ -33,11 +33,17 @@
|
|
|
|
static uint8_t i2c_address;
|
|
|
|
static uint8_t i2c_address;
|
|
|
|
|
|
|
|
|
|
|
|
static const I2CConfig i2cconfig = {
|
|
|
|
static const I2CConfig i2cconfig = {
|
|
|
|
|
|
|
|
#ifdef USE_I2CV1
|
|
|
|
|
|
|
|
I2C1_OPMODE,
|
|
|
|
|
|
|
|
I2C1_CLOCK_SPEED,
|
|
|
|
|
|
|
|
I2C1_DUTY_CYCLE,
|
|
|
|
|
|
|
|
#else
|
|
|
|
STM32_TIMINGR_PRESC(I2C1_TIMINGR_PRESC) |
|
|
|
|
STM32_TIMINGR_PRESC(I2C1_TIMINGR_PRESC) |
|
|
|
|
STM32_TIMINGR_SCLDEL(I2C1_TIMINGR_SCLDEL) | STM32_TIMINGR_SDADEL(I2C1_TIMINGR_SDADEL) |
|
|
|
|
STM32_TIMINGR_SCLDEL(I2C1_TIMINGR_SCLDEL) | STM32_TIMINGR_SDADEL(I2C1_TIMINGR_SDADEL) |
|
|
|
|
STM32_TIMINGR_SCLH(I2C1_TIMINGR_SCLH) | STM32_TIMINGR_SCLL(I2C1_TIMINGR_SCLL),
|
|
|
|
STM32_TIMINGR_SCLH(I2C1_TIMINGR_SCLH) | STM32_TIMINGR_SCLL(I2C1_TIMINGR_SCLL),
|
|
|
|
0,
|
|
|
|
0,
|
|
|
|
0
|
|
|
|
0
|
|
|
|
|
|
|
|
#endif
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
static i2c_status_t chibios_to_qmk(const msg_t* status) {
|
|
|
|
static i2c_status_t chibios_to_qmk(const msg_t* status) {
|
|
|
@ -61,8 +67,13 @@ void i2c_init(void)
|
|
|
|
|
|
|
|
|
|
|
|
chThdSleepMilliseconds(10);
|
|
|
|
chThdSleepMilliseconds(10);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef USE_I2CV1
|
|
|
|
|
|
|
|
palSetPadMode(I2C1_SCL_BANK, I2C1_SCL, PAL_MODE_STM32_ALTERNATE_OPENDRAIN);
|
|
|
|
|
|
|
|
palSetPadMode(I2C1_SDA_BANK, I2C1_SDA, PAL_MODE_STM32_ALTERNATE_OPENDRAIN);
|
|
|
|
|
|
|
|
#else
|
|
|
|
palSetPadMode(I2C1_SCL_BANK, I2C1_SCL, PAL_MODE_ALTERNATE(I2C1_SCL_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN);
|
|
|
|
palSetPadMode(I2C1_SCL_BANK, I2C1_SCL, PAL_MODE_ALTERNATE(I2C1_SCL_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN);
|
|
|
|
palSetPadMode(I2C1_SDA_BANK, I2C1_SDA, PAL_MODE_ALTERNATE(I2C1_SDA_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN);
|
|
|
|
palSetPadMode(I2C1_SDA_BANK, I2C1_SDA, PAL_MODE_ALTERNATE(I2C1_SDA_PAL_MODE) | PAL_STM32_OTYPE_OPENDRAIN);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
//i2cInit(); //This is invoked by halInit() so no need to redo it.
|
|
|
|
//i2cInit(); //This is invoked by halInit() so no need to redo it.
|
|
|
|
}
|
|
|
|
}
|
|
|
|