Skip to content

Commit 52b063f

Browse files
committed
Add status register read
1 parent 0ac5aad commit 52b063f

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/sfeQwiicOtos.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,11 @@ sfeTkError_t sfeQwiicOtos::getOffset(otos_pose2d_t &pose)
254254
return readPoseRegs(kOtosRegOffXL, pose, kInt16ToMeter, kInt16ToRad);
255255
}
256256

257+
sfeTkError_t sfeQwiicOtos::getStatus(sfe_otos_status_t &status)
258+
{
259+
return _commBus->readRegisterByte(kOtosRegStatus, status.value);
260+
}
261+
257262
sfeTkError_t sfeQwiicOtos::setOffset(otos_pose2d_t &pose)
258263
{
259264
return writePoseRegs(kOtosRegOffXL, pose, kMeterToInt16, kRadToInt16);

src/sfeQwiicOtos.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,19 @@ typedef union {
159159
uint8_t value;
160160
} sfe_otos_config_self_test_t;
161161

162+
// Status register bit fields
163+
typedef union {
164+
struct
165+
{
166+
uint8_t warnTiltAngle : 1;
167+
uint8_t warnOpticalTracking : 1;
168+
uint8_t reserved : 4;
169+
uint8_t errorPaa : 1;
170+
uint8_t errorLsm : 1;
171+
};
172+
uint8_t value;
173+
} sfe_otos_status_t;
174+
162175
class sfeQwiicOtos
163176
{
164177
public:
@@ -202,6 +215,8 @@ class sfeQwiicOtos
202215

203216
sfeTkError_t setSignalProcess(sfe_otos_config_signal_process_t &config);
204217

218+
sfeTkError_t getStatus(sfe_otos_status_t &status);
219+
205220
sfeTkError_t getOffset(otos_pose2d_t &pose);
206221

207222
sfeTkError_t setOffset(otos_pose2d_t &pose);

0 commit comments

Comments
 (0)