15 #ifndef WipperSnapper_I2C_Driver_AS5600_H 16 #define WipperSnapper_I2C_Driver_AS5600_H 18 #include <Adafruit_AS5600.h> 64 _as5600 =
new Adafruit_AS5600();
84 return _as5600->enableWatchdog(
false) &&
86 _as5600->setPowerMode(AS5600_POWER_MODE_NOM) &&
88 _as5600->setHysteresis(AS5600_HYSTERESIS_OFF) &&
90 _as5600->setOutputStage(AS5600_OUTPUT_STAGE_ANALOG_FULL) &&
92 _as5600->setSlowFilter(AS5600_SLOW_FILTER_16X) &&
93 _as5600->setFastFilterThresh(AS5600_FAST_FILTER_THRESH_SLOW_ONLY) &&
106 if (!
_as5600->isMagnetDetected()) {
112 uint16_t rawAngle =
_as5600->getRawAngle();
113 uint16_t angle =
_as5600->getAngle();
121 if (
_as5600->isAGCminGainOverflow()) {
125 if (
_as5600->isAGCmaxGainOverflow()) {
129 _angle = ((float)angle / 4095.0) * 360.0;
146 rawEvent->data[0] =
_angle;
155 #endif // WipperSnapper_I2C_Driver_AS5600 #define WS_DEBUG_PRINT(...)
Prints debug output.
Definition: Wippersnapper.h:49
bool begin()
Initializes the AS5600 sensor and begins I2C.
Definition: WipperSnapper_I2C_Driver_AS5600.h:63
bool configureSensor()
Configures the AS5600 sensor.
Definition: WipperSnapper_I2C_Driver_AS5600.h:83
bool readSensor()
Reads the Angle sensor.
Definition: WipperSnapper_I2C_Driver_AS5600.h:105
float _angle
Current angle reading from the AS5600 sensor.
Definition: WipperSnapper_I2C_Driver_AS5600.h:151
Adafruit_AS5600 * _as5600
Pointer to AS5600 sensor object.
Definition: WipperSnapper_I2C_Driver_AS5600.h:152
Base class for I2C Drivers.
Definition: WipperSnapper_I2C_Driver.h:32
uint16_t _sensorAddress
The I2C driver's unique I2C address.
Definition: WipperSnapper_I2C_Driver.h:1324
~WipperSnapper_I2C_Driver_AS5600()
Destructor for an AS5600 sensor.
Definition: WipperSnapper_I2C_Driver_AS5600.h:50
WipperSnapper_I2C_Driver_AS5600(TwoWire *i2c, uint16_t sensorAddress)
Constructor for the AS5600 sensor.
Definition: WipperSnapper_I2C_Driver_AS5600.h:39
#define WS_DEBUG_PRINTLN(...)
Prints line from debug output.
Definition: Wippersnapper.h:52
bool getEventRaw(sensors_event_t *rawEvent)
Reads the Angle sensor with short wait for data.
Definition: WipperSnapper_I2C_Driver_AS5600.h:142
Class that provides a driver interface for a AS5600 sensor.
Definition: WipperSnapper_I2C_Driver_AS5600.h:28
TwoWire * _i2c
Pointer to the I2C driver's Wire object.
Definition: WipperSnapper_I2C_Driver.h:1323