Finished I2C

This commit is contained in:
Ea-r-th
2025-09-14 23:06:28 -07:00
parent 183be36c64
commit 25b56f9fcd
5 changed files with 133 additions and 13 deletions

View File

@@ -77,10 +77,10 @@ constexpr SHAL_I2C_Timing_Reg getI2CTimerReg(const I2C_Pair pair){
switch(pair){
case I2C_Pair::SCL1B6_SDA1B7:
case I2C_Pair::SCL1B8_SDA1B9:
return {&I2C1->TIMINGR,31,4,23,4,19,4,15,8,7,0};
return {&I2C1->TIMINGR,31,23,19,15,7};
case I2C_Pair::SCL2B10_SDA2B11:
case I2C_Pair::SCL2B13_SDA2B14:
return {&I2C2->TIMINGR,31,4,23,4,19,4,15,8,7,0};
return {&I2C2->TIMINGR,31,23,19,15,7};
case I2C_Pair::NUM_PAIRS:
case I2C_Pair::INVALID:
assert(false);

View File

@@ -31,15 +31,10 @@ struct SHAL_I2C_Reset_Reg{
struct SHAL_I2C_Timing_Reg{
volatile uint32_t* reg;
uint8_t prescaler_offset;
uint8_t prescaler_width;
uint8_t dataSetupTime_offset;
uint8_t dataSetupTime_width;
uint8_t dataHoldTime_offset;
uint8_t dataHoldTime_width;
uint8_t SCLHighPeriod_offset;
uint8_t SCLHighPeriod_width;
uint8_t SCLLowPeriod_offset;
uint8_t SCLLowPeriod_width;
};
#endif //SHMINGO_HAL_SHAL_I2C_TYPES_H