10 namespace Treehopper {
namespace Libraries {
namespace Sensors {
namespace Inertial {
16 class WhoAmIRegister :
public Register 22 long getValue() {
return ((value & 0xFF) << 0); }
23 void setValue(
long val)
25 value = (int)((val >> 0) & 0xFF);
29 class SmplrtDivRegister :
public Register 35 long getValue() {
return ((value & 0xFF) << 0); }
36 void setValue(
long val)
38 value = (int)((val >> 0) & 0xFF);
42 class DlpfFsRegister :
public Register 49 long getValue() {
return ((dlpfCfg & 0x7) << 0) | ((fsSel & 0x3) << 3); }
50 void setValue(
long val)
52 dlpfCfg = (int)((val >> 0) & 0x7);
53 fsSel = (int)((val >> 3) & 0x3);
57 class IntCfgRegister :
public Register 68 long getValue() {
return ((rawRdyEn & 0x1) << 0) | ((itgRdyEn & 0x1) << 2) | ((intAnyrd2Clear & 0x1) << 4) | ((latchIntEn & 0x1) << 5) | ((open & 0x1) << 6) | ((actl & 0x1) << 7); }
69 void setValue(
long val)
71 rawRdyEn = (int)((val >> 0) & 0x1);
72 itgRdyEn = (int)((val >> 2) & 0x1);
73 intAnyrd2Clear = (int)((val >> 4) & 0x1);
74 latchIntEn = (int)((val >> 5) & 0x1);
75 open = (int)((val >> 6) & 0x1);
76 actl = (int)((val >> 7) & 0x1);
80 class IntStatusRegister :
public Register 87 long getValue() {
return ((rawDataReady & 0x1) << 0) | ((itgReady & 0x1) << 2); }
88 void setValue(
long val)
90 rawDataReady = (int)((val >> 0) & 0x1);
91 itgReady = (int)((val >> 2) & 0x1);
101 long getValue() {
return ((value & 0xFFFF) << 0); }
102 void setValue(
long val)
104 value = (int)(((val >> 0) & 0xFFFF) << (32 - 16)) >> (32 - 16);
108 class GyroXRegister :
public Register 114 long getValue() {
return ((value & 0xFFFF) << 0); }
115 void setValue(
long val)
117 value = (int)(((val >> 0) & 0xFFFF) << (32 - 16)) >> (32 - 16);
121 class GyroYRegister :
public Register 127 long getValue() {
return ((value & 0xFFFF) << 0); }
128 void setValue(
long val)
130 value = (int)(((val >> 0) & 0xFFFF) << (32 - 16)) >> (32 - 16);
134 class GyroZRegister :
public Register 140 long getValue() {
return ((value & 0xFFFF) << 0); }
141 void setValue(
long val)
143 value = (int)(((val >> 0) & 0xFFFF) << (32 - 16)) >> (32 - 16);
147 class PwrMgmRegister :
public Register 158 long getValue() {
return ((clkSel & 0x7) << 0) | ((stbyZg & 0x1) << 3) | ((stbyYg & 0x1) << 4) | ((stbyXg & 0x1) << 5) | ((sleep & 0x1) << 6) | ((hReset & 0x1) << 7); }
159 void setValue(
long val)
161 clkSel = (int)((val >> 0) & 0x7);
162 stbyZg = (int)((val >> 3) & 0x1);
163 stbyYg = (int)((val >> 4) & 0x1);
164 stbyXg = (int)((val >> 5) & 0x1);
165 sleep = (int)((val >> 6) & 0x1);
166 hReset = (int)((val >> 7) & 0x1);
170 WhoAmIRegister whoAmI;
171 SmplrtDivRegister smplrtDiv;
172 DlpfFsRegister dlpfFs;
173 IntCfgRegister intCfg;
174 IntStatusRegister intStatus;
179 PwrMgmRegister pwrMgm;
181 Itg3205Registers(SMBusDevice& device) :
RegisterManager(device, true), whoAmI(*this), smplrtDiv(*this), dlpfFs(*this), intCfg(*this), intStatus(*this), temp(*this), gyroX(*this), gyroY(*this), gyroZ(*this), pwrMgm(*this)
183 registers.push_back(&whoAmI);
184 registers.push_back(&smplrtDiv);
185 registers.push_back(&dlpfFs);
186 registers.push_back(&intCfg);
187 registers.push_back(&intStatus);
188 registers.push_back(&temp);
189 registers.push_back(&gyroX);
190 registers.push_back(&gyroY);
191 registers.push_back(&gyroZ);
192 registers.push_back(&pwrMgm);
Definition: Register.h:11
Definition: RegisterManager.h:10