15
15
#ifndef WipperSnapper_I2C_Driver_AS5600_H
16
16
#define WipperSnapper_I2C_Driver_AS5600_H
17
17
18
+ #include < Adafruit_AS5600.h>
19
+
18
20
#include " WipperSnapper_I2C_Driver.h"
19
21
#include " Wippersnapper.h"
20
- #include < Adafruit_AS5600.h>
21
22
22
23
/* *************************************************************************/
23
24
/* !
24
25
@brief Class that provides a driver interface for a AS5600 sensor.
25
26
*/
26
27
/* *************************************************************************/
27
28
class WipperSnapper_I2C_Driver_AS5600 : public WipperSnapper_I2C_Driver {
28
- public:
29
+ public:
29
30
/* ******************************************************************************/
30
31
/* !
31
32
@brief Constructor for the AS5600 sensor.
@@ -78,27 +79,24 @@ class WipperSnapper_I2C_Driver_AS5600 : public WipperSnapper_I2C_Driver {
78
79
/* ******************************************************************************/
79
80
bool configureSensor () {
80
81
return _as5600->enableWatchdog (false ) || // Normal (high) power mode
81
- _as5600->setPowerMode (AS5600_POWER_MODE_NOM) ||
82
- // No Hysteresis
83
- _as5600->setHysteresis (AS5600_HYSTERESIS_OFF) ||
82
+ _as5600->setPowerMode (AS5600_POWER_MODE_NOM) ||
83
+ // No Hysteresis
84
+ _as5600->setHysteresis (AS5600_HYSTERESIS_OFF) ||
84
85
85
- // analog output (0-VCC for 0-360 degrees)
86
- _as5600->setOutputStage (AS5600_OUTPUT_STAGE_ANALOG_FULL) ||
86
+ // analog output (0-VCC for 0-360 degrees)
87
+ _as5600->setOutputStage (AS5600_OUTPUT_STAGE_ANALOG_FULL) ||
87
88
88
- // setup filters
89
- _as5600->setSlowFilter (AS5600_SLOW_FILTER_16X) ||
90
- _as5600->setFastFilterThresh (AS5600_FAST_FILTER_THRESH_SLOW_ONLY) ||
89
+ // setup filters
90
+ _as5600->setSlowFilter (AS5600_SLOW_FILTER_16X) ||
91
+ _as5600->setFastFilterThresh (AS5600_FAST_FILTER_THRESH_SLOW_ONLY) ||
91
92
92
- // Reset position settings to defaults
93
- _as5600->setZPosition (0 ) ||
94
- _as5600->setMPosition (4095 ) ||
95
- _as5600->setMaxAngle (4095 );
93
+ // Reset position settings to defaults
94
+ _as5600->setZPosition (0 ) || _as5600->setMPosition (4095 ) ||
95
+ _as5600->setMaxAngle (4095 );
96
96
97
97
return true ;
98
98
}
99
99
100
-
101
-
102
100
bool readSensor () {
103
101
if (!_as5600->isMagnetDetected ()) {
104
102
return false ;
@@ -130,7 +128,6 @@ class WipperSnapper_I2C_Driver_AS5600 : public WipperSnapper_I2C_Driver {
130
128
return true ;
131
129
}
132
130
133
-
134
131
/* ******************************************************************************/
135
132
/* !
136
133
@brief Reads the Angle sensor with short wait for data.
@@ -149,9 +146,9 @@ class WipperSnapper_I2C_Driver_AS5600 : public WipperSnapper_I2C_Driver {
149
146
return true ;
150
147
}
151
148
152
- protected:
153
- float _angle; // /< Current angle reading from the AS5600 sensor
154
- Adafruit_AS5600 *_as5600; // /< Pointer to AS5600 sensor object
149
+ protected:
150
+ float _angle; // /< Current angle reading from the AS5600 sensor
151
+ Adafruit_AS5600 *_as5600; // /< Pointer to AS5600 sensor object
155
152
};
156
153
157
- #endif // WipperSnapper_I2C_Driver_AS5600
154
+ #endif // WipperSnapper_I2C_Driver_AS5600
0 commit comments