Treehopper C++ API
Lsm303dlhcAccelRegisters.h
Go to the documentation of this file.
1 #pragma once
3 #include "SMBusDevice.h"
6 #include "Libraries/Register.h"
7 
8 using namespace Treehopper::Libraries;
9 
10 namespace Treehopper { namespace Libraries { namespace Sensors { namespace Inertial {
11 
12  enum class OutputDataRates
13  {
14  powerDown = 0,
15  Hz_1 = 1,
16  Hz_10 = 2,
17  Hz_25 = 3,
18  Hz_50 = 4,
19  Hz_100 = 5,
20  Hz_200 = 6,
21  Hz_400 = 7,
22  Lp_1620Hz = 8,
24  };
25 
26  enum class AccelhighPassModes
27  {
28  Reset = 0,
29  ReferenceSignal = 1,
30  Normal = 2,
32  };
33 
35  {
36  Fs_2g = 0,
37  Fs_4g = 1,
38  Fs_6g = 2,
39  Fs_8g = 3,
40  Fs_16g = 4
41  };
42 
43  enum class FifoModes
44  {
45  Bypass = 0,
46  Fifo = 1,
47  Stream = 2,
48  StreamToFifo = 3,
49  BypassToStream = 4
50  };
51 
52 
53  class Lsm303dlhcAccelRegisters : public RegisterManager
54  {
55  public:
56  class Ctrl1Register : public Register
57  {
58  public:
59  Ctrl1Register(RegisterManager& regManager) : Register(regManager,0x20, 1, false) { }
60  int xEnable;
61  int yEnable;
62  int zEnable;
63  int lowPowerEnable;
64  int outputDataRate;
65  OutputDataRates getOutputDataRate() { return (OutputDataRates)outputDataRate; }
66  void setOutputDataRate(OutputDataRates enumVal) { outputDataRate = (int)enumVal; }
67 
68  long getValue() { return ((xEnable & 0x1) << 0) | ((yEnable & 0x1) << 1) | ((zEnable & 0x1) << 2) | ((lowPowerEnable & 0x1) << 3) | ((outputDataRate & 0xF) << 4); }
69  void setValue(long val)
70  {
71  xEnable = (int)((val >> 0) & 0x1);
72  yEnable = (int)((val >> 1) & 0x1);
73  zEnable = (int)((val >> 2) & 0x1);
74  lowPowerEnable = (int)((val >> 3) & 0x1);
75  outputDataRate = (int)((val >> 4) & 0xF);
76  }
77  };
78 
79  class Ctrl2Register : public Register
80  {
81  public:
82  Ctrl2Register(RegisterManager& regManager) : Register(regManager,0x21, 1, false) { }
83  int hpis;
84  int hpClick;
85  int filterDataSelection;
86  int hpcf;
87  int accelhighPassMode;
88  AccelhighPassModes getAccelhighPassMode() { return (AccelhighPassModes)accelhighPassMode; }
89  void setAccelhighPassMode(AccelhighPassModes enumVal) { accelhighPassMode = (int)enumVal; }
90 
91  long getValue() { return ((hpis & 0x3) << 0) | ((hpClick & 0x1) << 2) | ((filterDataSelection & 0x1) << 3) | ((hpcf & 0x3) << 4) | ((accelhighPassMode & 0x3) << 6); }
92  void setValue(long val)
93  {
94  hpis = (int)((val >> 0) & 0x3);
95  hpClick = (int)((val >> 2) & 0x1);
96  filterDataSelection = (int)((val >> 3) & 0x1);
97  hpcf = (int)((val >> 4) & 0x3);
98  accelhighPassMode = (int)((val >> 6) & 0x3);
99  }
100  };
101 
102  class Ctrl3Register : public Register
103  {
104  public:
105  Ctrl3Register(RegisterManager& regManager) : Register(regManager,0x22, 1, false) { }
106  int fifoOverrunOnInt1;
107  int fifoWatermarkOnInt1;
108  int drdy2OnInt1;
109  int drdy1OnInt1;
110  int aoi2OnInt1;
111  int aoi1OnInt1;
112  int clickOnInt2;
113 
114  long getValue() { return ((fifoOverrunOnInt1 & 0x1) << 1) | ((fifoWatermarkOnInt1 & 0x1) << 2) | ((drdy2OnInt1 & 0x1) << 3) | ((drdy1OnInt1 & 0x1) << 4) | ((aoi2OnInt1 & 0x1) << 5) | ((aoi1OnInt1 & 0x1) << 6) | ((clickOnInt2 & 0x1) << 7); }
115  void setValue(long val)
116  {
117  fifoOverrunOnInt1 = (int)((val >> 1) & 0x1);
118  fifoWatermarkOnInt1 = (int)((val >> 2) & 0x1);
119  drdy2OnInt1 = (int)((val >> 3) & 0x1);
120  drdy1OnInt1 = (int)((val >> 4) & 0x1);
121  aoi2OnInt1 = (int)((val >> 5) & 0x1);
122  aoi1OnInt1 = (int)((val >> 6) & 0x1);
123  clickOnInt2 = (int)((val >> 7) & 0x1);
124  }
125  };
126 
127  class Ctrl4Register : public Register
128  {
129  public:
130  Ctrl4Register(RegisterManager& regManager) : Register(regManager,0x23, 1, false) { }
131  int spiModeSelection;
132  int highResolution;
133  int fullScaleSelection;
134  int ble;
135  int bdu;
136  FullScaleSelections getFullScaleSelection() { return (FullScaleSelections)fullScaleSelection; }
137  void setFullScaleSelection(FullScaleSelections enumVal) { fullScaleSelection = (int)enumVal; }
138 
139  long getValue() { return ((spiModeSelection & 0x1) << 0) | ((highResolution & 0x1) << 3) | ((fullScaleSelection & 0x7) << 3) | ((ble & 0x1) << 6) | ((bdu & 0x1) << 7); }
140  void setValue(long val)
141  {
142  spiModeSelection = (int)((val >> 0) & 0x1);
143  highResolution = (int)((val >> 3) & 0x1);
144  fullScaleSelection = (int)((val >> 3) & 0x7);
145  ble = (int)((val >> 6) & 0x1);
146  bdu = (int)((val >> 7) & 0x1);
147  }
148  };
149 
150  class Ctrl5Register : public Register
151  {
152  public:
153  Ctrl5Register(RegisterManager& regManager) : Register(regManager,0x24, 1, false) { }
154  int d4dInt2;
155  int lirInt2;
156  int d4dInt1;
157  int lirInt1;
158  int fifoEnable;
159  int boot;
160 
161  long getValue() { return ((d4dInt2 & 0x1) << 0) | ((lirInt2 & 0x1) << 1) | ((d4dInt1 & 0x1) << 2) | ((lirInt1 & 0x1) << 3) | ((fifoEnable & 0x1) << 6) | ((boot & 0x1) << 7); }
162  void setValue(long val)
163  {
164  d4dInt2 = (int)((val >> 0) & 0x1);
165  lirInt2 = (int)((val >> 1) & 0x1);
166  d4dInt1 = (int)((val >> 2) & 0x1);
167  lirInt1 = (int)((val >> 3) & 0x1);
168  fifoEnable = (int)((val >> 6) & 0x1);
169  boot = (int)((val >> 7) & 0x1);
170  }
171  };
172 
173  class Ctrl6Register : public Register
174  {
175  public:
176  Ctrl6Register(RegisterManager& regManager) : Register(regManager,0x25, 1, false) { }
177  int interruptActiveHigh;
178  int p2Act;
179  int bootI1;
180  int i2Int2;
181  int i2Int1;
182  int i2ClickEnable;
183 
184  long getValue() { return ((interruptActiveHigh & 0x1) << 1) | ((p2Act & 0x1) << 3) | ((bootI1 & 0x1) << 4) | ((i2Int2 & 0x1) << 5) | ((i2Int1 & 0x1) << 6) | ((i2ClickEnable & 0x1) << 7); }
185  void setValue(long val)
186  {
187  interruptActiveHigh = (int)((val >> 1) & 0x1);
188  p2Act = (int)((val >> 3) & 0x1);
189  bootI1 = (int)((val >> 4) & 0x1);
190  i2Int2 = (int)((val >> 5) & 0x1);
191  i2Int1 = (int)((val >> 6) & 0x1);
192  i2ClickEnable = (int)((val >> 7) & 0x1);
193  }
194  };
195 
196  class ReferenceRegister : public Register
197  {
198  public:
199  ReferenceRegister(RegisterManager& regManager) : Register(regManager,0x26, 1, false) { }
200  int value;
201 
202  long getValue() { return ((value & 0xFF) << 0); }
203  void setValue(long val)
204  {
205  value = (int)((val >> 0) & 0xFF);
206  }
207  };
208 
209  class StatusRegister : public Register
210  {
211  public:
212  StatusRegister(RegisterManager& regManager) : Register(regManager,0x27, 1, false) { }
213  int xDataAvailable;
214  int yDataAvailable;
215  int zDataAvailable;
216  int zyxDataAvailable;
217  int xDataOverrun;
218  int yDataOverrun;
219  int zDataOverrun;
220  int zyxDataOverrun;
221 
222  long getValue() { return ((xDataAvailable & 0x1) << 0) | ((yDataAvailable & 0x1) << 1) | ((zDataAvailable & 0x1) << 2) | ((zyxDataAvailable & 0x1) << 3) | ((xDataOverrun & 0x1) << 4) | ((yDataOverrun & 0x1) << 5) | ((zDataOverrun & 0x1) << 6) | ((zyxDataOverrun & 0x1) << 7); }
223  void setValue(long val)
224  {
225  xDataAvailable = (int)((val >> 0) & 0x1);
226  yDataAvailable = (int)((val >> 1) & 0x1);
227  zDataAvailable = (int)((val >> 2) & 0x1);
228  zyxDataAvailable = (int)((val >> 3) & 0x1);
229  xDataOverrun = (int)((val >> 4) & 0x1);
230  yDataOverrun = (int)((val >> 5) & 0x1);
231  zDataOverrun = (int)((val >> 6) & 0x1);
232  zyxDataOverrun = (int)((val >> 7) & 0x1);
233  }
234  };
235 
236  class FifoControlRegister : public Register
237  {
238  public:
239  FifoControlRegister(RegisterManager& regManager) : Register(regManager,0x2E, 1, false) { }
240  int fifoThreshold;
241  int fifoMode;
242  FifoModes getFifoMode() { return (FifoModes)fifoMode; }
243  void setFifoMode(FifoModes enumVal) { fifoMode = (int)enumVal; }
244 
245  long getValue() { return ((fifoThreshold & 0x1F) << 0) | ((fifoMode & 0x7) << 5); }
246  void setValue(long val)
247  {
248  fifoThreshold = (int)((val >> 0) & 0x1F);
249  fifoMode = (int)((val >> 5) & 0x7);
250  }
251  };
252 
253  class FifoSourceRegister : public Register
254  {
255  public:
256  FifoSourceRegister(RegisterManager& regManager) : Register(regManager,0x2f, 1, false) { }
257  int fifoStoredLevel;
258  int empty;
259  int overrun;
260  int fifoThreshold;
261 
262  long getValue() { return ((fifoStoredLevel & 0x1F) << 0) | ((empty & 0x1) << 5) | ((overrun & 0x1) << 6) | ((fifoThreshold & 0x1) << 7); }
263  void setValue(long val)
264  {
265  fifoStoredLevel = (int)((val >> 0) & 0x1F);
266  empty = (int)((val >> 5) & 0x1);
267  overrun = (int)((val >> 6) & 0x1);
268  fifoThreshold = (int)((val >> 7) & 0x1);
269  }
270  };
271 
272  class InertialIntGen1ConfigRegister : public Register
273  {
274  public:
275  InertialIntGen1ConfigRegister(RegisterManager& regManager) : Register(regManager,0x30, 1, false) { }
276  int xLowInterruptEnable;
277  int xHighInterruptEnable;
278  int yLowInterruptEnable;
279  int yHighInterruptEnable;
280  int zLowInterruptEvent;
281  int zHighInterruptEnable;
282  int detect6D;
283  int andOrInterruptEvents;
284 
285  long getValue() { return ((xLowInterruptEnable & 0x1) << 0) | ((xHighInterruptEnable & 0x1) << 1) | ((yLowInterruptEnable & 0x1) << 2) | ((yHighInterruptEnable & 0x1) << 3) | ((zLowInterruptEvent & 0x1) << 4) | ((zHighInterruptEnable & 0x1) << 5) | ((detect6D & 0x1) << 6) | ((andOrInterruptEvents & 0x1) << 7); }
286  void setValue(long val)
287  {
288  xLowInterruptEnable = (int)((val >> 0) & 0x1);
289  xHighInterruptEnable = (int)((val >> 1) & 0x1);
290  yLowInterruptEnable = (int)((val >> 2) & 0x1);
291  yHighInterruptEnable = (int)((val >> 3) & 0x1);
292  zLowInterruptEvent = (int)((val >> 4) & 0x1);
293  zHighInterruptEnable = (int)((val >> 5) & 0x1);
294  detect6D = (int)((val >> 6) & 0x1);
295  andOrInterruptEvents = (int)((val >> 7) & 0x1);
296  }
297  };
298 
299  class InertialIntGen1StatusRegister : public Register
300  {
301  public:
302  InertialIntGen1StatusRegister(RegisterManager& regManager) : Register(regManager,0x31, 1, false) { }
303  int xLow;
304  int xHigh;
305  int yLow;
306  int yHigh;
307  int zLow;
308  int zHigh;
309  int intStatus;
310 
311  long getValue() { return ((xLow & 0x1) << 0) | ((xHigh & 0x1) << 1) | ((yLow & 0x1) << 2) | ((yHigh & 0x1) << 3) | ((zLow & 0x1) << 4) | ((zHigh & 0x1) << 5) | ((intStatus & 0x1) << 6); }
312  void setValue(long val)
313  {
314  xLow = (int)((val >> 0) & 0x1);
315  xHigh = (int)((val >> 1) & 0x1);
316  yLow = (int)((val >> 2) & 0x1);
317  yHigh = (int)((val >> 3) & 0x1);
318  zLow = (int)((val >> 4) & 0x1);
319  zHigh = (int)((val >> 5) & 0x1);
320  intStatus = (int)((val >> 6) & 0x1);
321  }
322  };
323 
324  class InertialIntGen1ThresholdRegister : public Register
325  {
326  public:
327  InertialIntGen1ThresholdRegister(RegisterManager& regManager) : Register(regManager,0x32, 1, false) { }
328  int value;
329 
330  long getValue() { return ((value & 0x7F) << 0); }
331  void setValue(long val)
332  {
333  value = (int)((val >> 0) & 0x7F);
334  }
335  };
336 
337  class InertialIntGen1DurationRegister : public Register
338  {
339  public:
340  InertialIntGen1DurationRegister(RegisterManager& regManager) : Register(regManager,0x33, 1, false) { }
341  int value;
342 
343  long getValue() { return ((value & 0x7F) << 0); }
344  void setValue(long val)
345  {
346  value = (int)((val >> 0) & 0x7F);
347  }
348  };
349 
350  class InertialIntGen2ConfigRegister : public Register
351  {
352  public:
353  InertialIntGen2ConfigRegister(RegisterManager& regManager) : Register(regManager,0x34, 1, false) { }
354  int xLowInterruptEnable;
355  int xHighInterruptEnable;
356  int yLowInterruptEnable;
357  int yHighInterruptEnable;
358  int zLowInterruptEvent;
359  int zHighInterruptEnable;
360  int detect6D;
361  int andOrInterruptEvents;
362 
363  long getValue() { return ((xLowInterruptEnable & 0x1) << 0) | ((xHighInterruptEnable & 0x1) << 1) | ((yLowInterruptEnable & 0x1) << 2) | ((yHighInterruptEnable & 0x1) << 3) | ((zLowInterruptEvent & 0x1) << 4) | ((zHighInterruptEnable & 0x1) << 5) | ((detect6D & 0x1) << 6) | ((andOrInterruptEvents & 0x1) << 7); }
364  void setValue(long val)
365  {
366  xLowInterruptEnable = (int)((val >> 0) & 0x1);
367  xHighInterruptEnable = (int)((val >> 1) & 0x1);
368  yLowInterruptEnable = (int)((val >> 2) & 0x1);
369  yHighInterruptEnable = (int)((val >> 3) & 0x1);
370  zLowInterruptEvent = (int)((val >> 4) & 0x1);
371  zHighInterruptEnable = (int)((val >> 5) & 0x1);
372  detect6D = (int)((val >> 6) & 0x1);
373  andOrInterruptEvents = (int)((val >> 7) & 0x1);
374  }
375  };
376 
377  class InertialIntGen2StatusRegister : public Register
378  {
379  public:
380  InertialIntGen2StatusRegister(RegisterManager& regManager) : Register(regManager,0x35, 1, false) { }
381  int xLow;
382  int xHigh;
383  int yLow;
384  int yHigh;
385  int zLow;
386  int zHigh;
387  int intStatus;
388 
389  long getValue() { return ((xLow & 0x1) << 0) | ((xHigh & 0x1) << 1) | ((yLow & 0x1) << 2) | ((yHigh & 0x1) << 3) | ((zLow & 0x1) << 4) | ((zHigh & 0x1) << 5) | ((intStatus & 0x1) << 6); }
390  void setValue(long val)
391  {
392  xLow = (int)((val >> 0) & 0x1);
393  xHigh = (int)((val >> 1) & 0x1);
394  yLow = (int)((val >> 2) & 0x1);
395  yHigh = (int)((val >> 3) & 0x1);
396  zLow = (int)((val >> 4) & 0x1);
397  zHigh = (int)((val >> 5) & 0x1);
398  intStatus = (int)((val >> 6) & 0x1);
399  }
400  };
401 
402  class InertialIntGen2ThresholdRegister : public Register
403  {
404  public:
405  InertialIntGen2ThresholdRegister(RegisterManager& regManager) : Register(regManager,0x36, 1, false) { }
406  int value;
407 
408  long getValue() { return ((value & 0x7F) << 0); }
409  void setValue(long val)
410  {
411  value = (int)((val >> 0) & 0x7F);
412  }
413  };
414 
415  class InertialIntGen2DurationRegister : public Register
416  {
417  public:
418  InertialIntGen2DurationRegister(RegisterManager& regManager) : Register(regManager,0x37, 1, false) { }
419  int value;
420 
421  long getValue() { return ((value & 0x7F) << 0); }
422  void setValue(long val)
423  {
424  value = (int)((val >> 0) & 0x7F);
425  }
426  };
427 
428  class ClickConfigRegister : public Register
429  {
430  public:
431  ClickConfigRegister(RegisterManager& regManager) : Register(regManager,0x38, 1, false) { }
432  int xSingleClick;
433  int xDoubleClick;
434  int ySingleClick;
435  int yDoubleClick;
436  int zSingleClick;
437  int zDoubleClick;
438 
439  long getValue() { return ((xSingleClick & 0x1) << 0) | ((xDoubleClick & 0x1) << 1) | ((ySingleClick & 0x1) << 2) | ((yDoubleClick & 0x1) << 3) | ((zSingleClick & 0x1) << 4) | ((zDoubleClick & 0x1) << 5); }
440  void setValue(long val)
441  {
442  xSingleClick = (int)((val >> 0) & 0x1);
443  xDoubleClick = (int)((val >> 1) & 0x1);
444  ySingleClick = (int)((val >> 2) & 0x1);
445  yDoubleClick = (int)((val >> 3) & 0x1);
446  zSingleClick = (int)((val >> 4) & 0x1);
447  zDoubleClick = (int)((val >> 5) & 0x1);
448  }
449  };
450 
451  class ClickSourceRegister : public Register
452  {
453  public:
454  ClickSourceRegister(RegisterManager& regManager) : Register(regManager,0x39, 1, false) { }
455  int x;
456  int y;
457  int z;
458  int sign;
459  int singleClickEn;
460  int doubleClickEn;
461  int interruptActive;
462 
463  long getValue() { return ((x & 0x1) << 0) | ((y & 0x1) << 1) | ((z & 0x1) << 2) | ((sign & 0x1) << 3) | ((singleClickEn & 0x1) << 4) | ((doubleClickEn & 0x1) << 5) | ((interruptActive & 0x1) << 6); }
464  void setValue(long val)
465  {
466  x = (int)((val >> 0) & 0x1);
467  y = (int)((val >> 1) & 0x1);
468  z = (int)((val >> 2) & 0x1);
469  sign = (int)((val >> 3) & 0x1);
470  singleClickEn = (int)((val >> 4) & 0x1);
471  doubleClickEn = (int)((val >> 5) & 0x1);
472  interruptActive = (int)((val >> 6) & 0x1);
473  }
474  };
475 
476  class ClickThresholdRegister : public Register
477  {
478  public:
479  ClickThresholdRegister(RegisterManager& regManager) : Register(regManager,0x3A, 1, false) { }
480  int value;
481 
482  long getValue() { return ((value & 0x7F) << 0); }
483  void setValue(long val)
484  {
485  value = (int)((val >> 0) & 0x7F);
486  }
487  };
488 
489  class TimeLimitRegister : public Register
490  {
491  public:
492  TimeLimitRegister(RegisterManager& regManager) : Register(regManager,0x3b, 1, false) { }
493  int value;
494 
495  long getValue() { return ((value & 0x7F) << 0); }
496  void setValue(long val)
497  {
498  value = (int)((val >> 0) & 0x7F);
499  }
500  };
501 
502  class TimeLatencyRegister : public Register
503  {
504  public:
505  TimeLatencyRegister(RegisterManager& regManager) : Register(regManager,0x3c, 1, false) { }
506  int value;
507 
508  long getValue() { return ((value & 0xFF) << 0); }
509  void setValue(long val)
510  {
511  value = (int)((val >> 0) & 0xFF);
512  }
513  };
514 
515  class TimeWindowRegister : public Register
516  {
517  public:
518  TimeWindowRegister(RegisterManager& regManager) : Register(regManager,0x3d, 1, false) { }
519  int value;
520 
521  long getValue() { return ((value & 0xFF) << 0); }
522  void setValue(long val)
523  {
524  value = (int)((val >> 0) & 0xFF);
525  }
526  };
527 
528  class OutAccelXRegister : public Register
529  {
530  public:
531  OutAccelXRegister(RegisterManager& regManager) : Register(regManager,0xa8, 2, false) { }
532  int value;
533 
534  long getValue() { return ((value & 0xFFFF) << 0); }
535  void setValue(long val)
536  {
537  value = (int)(((val >> 0) & 0xFFFF) << (32 - 16)) >> (32 - 16);
538  }
539  };
540 
541  class OutAccelYRegister : public Register
542  {
543  public:
544  OutAccelYRegister(RegisterManager& regManager) : Register(regManager,0xaA, 2, false) { }
545  int value;
546 
547  long getValue() { return ((value & 0xFFFF) << 0); }
548  void setValue(long val)
549  {
550  value = (int)(((val >> 0) & 0xFFFF) << (32 - 16)) >> (32 - 16);
551  }
552  };
553 
554  class OutAccelZRegister : public Register
555  {
556  public:
557  OutAccelZRegister(RegisterManager& regManager) : Register(regManager,0xaC, 2, false) { }
558  int value;
559 
560  long getValue() { return ((value & 0xFFFF) << 0); }
561  void setValue(long val)
562  {
563  value = (int)(((val >> 0) & 0xFFFF) << (32 - 16)) >> (32 - 16);
564  }
565  };
566 
567  Ctrl1Register ctrl1;
568  Ctrl2Register ctrl2;
569  Ctrl3Register ctrl3;
570  Ctrl4Register ctrl4;
571  Ctrl5Register ctrl5;
572  Ctrl6Register ctrl6;
573  ReferenceRegister reference;
574  StatusRegister status;
575  FifoControlRegister fifoControl;
576  FifoSourceRegister fifoSource;
577  InertialIntGen1ConfigRegister inertialIntGen1Config;
578  InertialIntGen1StatusRegister inertialIntGen1Status;
579  InertialIntGen1ThresholdRegister inertialIntGen1Threshold;
580  InertialIntGen1DurationRegister inertialIntGen1Duration;
581  InertialIntGen2ConfigRegister inertialIntGen2Config;
582  InertialIntGen2StatusRegister inertialIntGen2Status;
583  InertialIntGen2ThresholdRegister inertialIntGen2Threshold;
584  InertialIntGen2DurationRegister inertialIntGen2Duration;
585  ClickConfigRegister clickConfig;
586  ClickSourceRegister clickSource;
587  ClickThresholdRegister clickThreshold;
588  TimeLimitRegister timeLimit;
589  TimeLatencyRegister timeLatency;
590  TimeWindowRegister timeWindow;
591  OutAccelXRegister outAccelX;
592  OutAccelYRegister outAccelY;
593  OutAccelZRegister outAccelZ;
594 
595  Lsm303dlhcAccelRegisters(SMBusDevice& device) : RegisterManager(device, true), ctrl1(*this), ctrl2(*this), ctrl3(*this), ctrl4(*this), ctrl5(*this), ctrl6(*this), reference(*this), status(*this), fifoControl(*this), fifoSource(*this), inertialIntGen1Config(*this), inertialIntGen1Status(*this), inertialIntGen1Threshold(*this), inertialIntGen1Duration(*this), inertialIntGen2Config(*this), inertialIntGen2Status(*this), inertialIntGen2Threshold(*this), inertialIntGen2Duration(*this), clickConfig(*this), clickSource(*this), clickThreshold(*this), timeLimit(*this), timeLatency(*this), timeWindow(*this), outAccelX(*this), outAccelY(*this), outAccelZ(*this)
596  {
597  registers.push_back(&ctrl1);
598  registers.push_back(&ctrl2);
599  registers.push_back(&ctrl3);
600  registers.push_back(&ctrl4);
601  registers.push_back(&ctrl5);
602  registers.push_back(&ctrl6);
603  registers.push_back(&reference);
604  registers.push_back(&status);
605  registers.push_back(&fifoControl);
606  registers.push_back(&fifoSource);
607  registers.push_back(&inertialIntGen1Config);
608  registers.push_back(&inertialIntGen1Status);
609  registers.push_back(&inertialIntGen1Threshold);
610  registers.push_back(&inertialIntGen1Duration);
611  registers.push_back(&inertialIntGen2Config);
612  registers.push_back(&inertialIntGen2Status);
613  registers.push_back(&inertialIntGen2Threshold);
614  registers.push_back(&inertialIntGen2Duration);
615  registers.push_back(&clickConfig);
616  registers.push_back(&clickSource);
617  registers.push_back(&clickThreshold);
618  registers.push_back(&timeLimit);
619  registers.push_back(&timeLatency);
620  registers.push_back(&timeWindow);
621  registers.push_back(&outAccelX);
622  registers.push_back(&outAccelY);
623  registers.push_back(&outAccelZ);
624  }
625  };
626  } } } }
FullScaleSelections
Definition: Lis3dhRegisters.h:26
Definition: Dm632.h:9
Definition: Register.h:11
AccelhighPassModes
Definition: Lsm303dlhcAccelRegisters.h:26
Definition: RegisterManager.h:10
FifoModes
Definition: L3gd20Registers.h:20
OutputDataRates
Definition: Lis3dhRegisters.h:42
Definition: AdcPin.h:3