STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
STAR_ISM330DH.h
Go to the documentation of this file.
1/**
2 * STAR_ISM330DH — improved fork of SparkFun's SparkFun_6DoF_ISM330DHCX_Arduino_Library.
3 * Adds STAR-specific API (wake-up on INT1, serviceWakeUpInterrupt, etc.) and public
4 * types ISM330DH / ISM330DH_SPI. Original bus glue and STMicro driver retained; see README.
5 */
6#pragma once
7
8#include "sfe_ism330dhcx.h"
9#include "sfe_bus.h"
10#include <SPI.h>
11#include <Wire.h>
12
13/** I2C driver for ISM330DHCX. Public include: STAR_ISM330DH.h */
14class ISM330DH : public QwDevISM330DHCX {
15public:
16 ISM330DH() = default;
17
18 bool begin(uint8_t deviceAddress = ISM330DHCX_ADDRESS_HIGH) {
19 setCommunicationBus(_i2cBus, deviceAddress);
20 _i2cBus.init();
21 return QwDevISM330DHCX::init();
22 }
23
24 bool begin(TwoWire &wirePort, uint8_t deviceAddress = ISM330DHCX_ADDRESS_HIGH) {
25 setCommunicationBus(_i2cBus, deviceAddress);
26 _i2cBus.init(wirePort, true);
27 return QwDevISM330DHCX::init();
28 }
29
30private:
32};
33
34/** SPI driver for ISM330DHCX. */
36public:
37 ISM330DH_SPI() = default;
38
39 bool begin(uint8_t cs) {
41 _spiBus.init(cs, true);
42 return QwDevISM330DHCX::init();
43 }
44
45 bool begin(SPIClass &spiPort, SPISettings ismSettings, uint8_t cs) {
47 _spiBus.init(spiPort, ismSettings, cs, true);
48 return QwDevISM330DHCX::init();
49 }
50
51private:
53};
ISM330DH_SPI()=default
bool begin(SPIClass &spiPort, SPISettings ismSettings, uint8_t cs)
bool begin(uint8_t cs)
sfe_ISM330DHCX::SfeSPI _spiBus
bool begin(TwoWire &wirePort, uint8_t deviceAddress=ISM330DHCX_ADDRESS_HIGH)
ISM330DH()=default
bool begin(uint8_t deviceAddress=ISM330DHCX_ADDRESS_HIGH)
sfe_ISM330DHCX::QwI2C _i2cBus
void setCommunicationBus(sfe_ISM330DHCX::QwIDeviceBus &theBus, uint8_t i2cAddress)
#define ISM330DHCX_ADDRESS_HIGH