6#define ISM330DHCX_ADDRESS_LOW 0x6A
7#define ISM330DHCX_ADDRESS_HIGH 0x6B
168 bool routeAccelGyroDrdyToInt1 =
false);
static void enable(board_bringup_t *b, uint16_t device_id)
bool readPeripheralSensor(uint8_t *shReg, uint8_t len)
bool getRawAccel(sfe_ism_raw_data_t *accelData)
bool getGyroCal(sfe_ism_data_t *gyroData)
bool enableTimestamp(bool enable=true)
bool setGyroStatustoInt2(bool enable=true)
float convert2000dpsToMdps(int16_t data)
float convert4000dpsToMdps(int16_t data)
float convert1000dpsToMdps(int16_t data)
uint8_t getBlockDataUpdate()
float convert500dpsToMdps(int16_t data)
bool configureWakeUpOnInt1(uint8_t wkThreshold, uint8_t wakeDur, bool routeAccelGyroDrdyToInt1=false)
bool readMMCMagnetometer(uint8_t *magData, uint8_t len)
bool setNumberHubSensors(uint8_t numSensors)
bool setDeviceConfig(bool enable=true)
float convertToCelsius(int16_t data)
bool setHubWriteMode(uint8_t config)
bool setHubPullUps(bool enable=true)
float convert16gToMg(int16_t data)
bool getExternalSensorNack(uint8_t sensor)
bool setDataReadyMode(uint8_t val)
bool setHubPassThrough(bool enable=true)
bool setIntNotification(uint8_t val)
float convert4gToMg(int16_t data)
int32_t writeRegisterRegion(uint8_t reg, uint8_t *data, uint16_t length)
bool setHubSensorRead(uint8_t sensor, sfe_hub_sensor_settings_t *settings)
bool setFifoTimestampDec(uint8_t val)
bool setPinMode(bool activeLow=true)
bool setGyroFifoBatchSet(uint8_t val)
bool getAccel(sfe_ism_data_t *accelData)
bool setAccelSelfTest(uint8_t val)
bool setGyroStatustoInt1(bool enable=true)
bool setHubFifoBatching(bool enable=true)
bool setFifoWtmToInt2(bool enable=true)
bool setAccelFullScale(uint8_t val)
bool setGyroSelfTest(uint8_t val)
bool readFifoSample(sfe_ism_raw_data_t *gyro, sfe_ism_raw_data_t *accel, uint8_t *tag_out=nullptr)
bool setFifoWatermark(uint16_t val)
sfe_ism_data_t _accelBias
bool getRawGyro(sfe_ism_raw_data_t *gyroData)
bool setGyroLP1Bandwidth(uint8_t val)
bool setAccelFilterLP2(bool enable=true)
bool setAccelStatustoInt1(bool enable=true)
bool setAccelSlopeFilter(uint8_t val)
float convert125dpsToMdps(int16_t data)
float convert250dpsToMdps(int16_t data)
bool setHubSensorWrite(sfe_hub_sensor_settings_t *settings)
bool setAccelStatustoInt2(bool enable=true)
sfe_ISM330DHCX::QwIDeviceBus * _sfeBus
bool getAccelCal(sfe_ism_data_t *accelData)
int32_t readRegisterRegion(uint8_t reg, uint8_t *data, uint16_t length)
float convert2gToMg(int16_t data)
bool calibrateBiases(uint16_t samples=256)
bool setGyroFilterLP1(bool enable=true)
bool setAccelFifoBatchSet(uint8_t val)
bool setAccelDataRate(uint8_t rate)
float convert8gToMg(int16_t data)
uint8_t getAccelFullScale()
bool setGyroFullScale(uint8_t val)
bool getGyro(sfe_ism_data_t *gyroData)
bool setGyroDataRate(uint8_t rate)
bool setBlockDataUpdate(bool enable=true)
bool setHubODR(uint8_t rate)
void setCommunicationBus(sfe_ISM330DHCX::QwIDeviceBus &theBus, uint8_t i2cAddress)
bool enableSensorI2C(bool enable)
bool setFifoMode(uint8_t val)
bool serviceWakeUpInterrupt(sfe_ism330_wake_event_t *out)
static sfe_ism_data_t gyroData
static sfe_ism_data_t accelData
static const idle_config_t config
Filled by serviceWakeUpInterrupt() when INT1 was a wake-up (high-accel) event.