mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-02-02 14:08:45 -04:00
HAL_ChibiOS: implement I2C bus masks
This commit is contained in:
parent
44685bbb7b
commit
98f241c7e4
@ -326,4 +326,30 @@ I2CDeviceManager::get_device(uint8_t bus, uint8_t address,
|
||||
return dev;
|
||||
}
|
||||
|
||||
/*
|
||||
get mask of bus numbers for all configured I2C buses
|
||||
*/
|
||||
uint32_t I2CDeviceManager::get_bus_mask(void) const
|
||||
{
|
||||
return (1U << ARRAY_SIZE_SIMPLE(I2CD)) - 1;
|
||||
}
|
||||
|
||||
/*
|
||||
get mask of bus numbers for all configured internal I2C buses
|
||||
*/
|
||||
uint32_t I2CDeviceManager::get_bus_mask_internal(void) const
|
||||
{
|
||||
// assume first bus is internal
|
||||
return 1U;
|
||||
}
|
||||
|
||||
/*
|
||||
get mask of bus numbers for all configured external I2C buses
|
||||
*/
|
||||
uint32_t I2CDeviceManager::get_bus_mask_external(void) const
|
||||
{
|
||||
// assume first bus is internal
|
||||
return get_bus_mask() & 0xFE;
|
||||
}
|
||||
|
||||
#endif // HAL_USE_I2C
|
||||
|
@ -127,6 +127,21 @@ public:
|
||||
uint32_t bus_clock=400000,
|
||||
bool use_smbus = false,
|
||||
uint32_t timeout_ms=4) override;
|
||||
|
||||
/*
|
||||
get mask of bus numbers for all configured I2C buses
|
||||
*/
|
||||
uint32_t get_bus_mask(void) const override;
|
||||
|
||||
/*
|
||||
get mask of bus numbers for all configured external I2C buses
|
||||
*/
|
||||
uint32_t get_bus_mask_external(void) const override;
|
||||
|
||||
/*
|
||||
get mask of bus numbers for all configured internal I2C buses
|
||||
*/
|
||||
uint32_t get_bus_mask_internal(void) const override;
|
||||
};
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user