27 #include <mraa/i2c.hpp>
28 #include <mraa/spi.hpp>
29 #include <mraa/gpio.hpp>
31 #define BMG160_I2C_BUS 0
32 #define BMG160_SPI_BUS 0
33 #define BMG160_DEFAULT_ADDR 0x68
72 static const uint8_t BMG160_RESET_BYTE = 0xb6;
82 typedef enum : uint8_t {
87 REG_RATE_X_LSB = 0x02,
88 REG_RATE_X_MSB = 0x03,
89 REG_RATE_Y_LSB = 0x04,
90 REG_RATE_Y_MSB = 0x05,
91 REG_RATE_Z_LSB = 0x06,
92 REG_RATE_Z_MSB = 0x07,
96 REG_INT_STATUS_0 = 0x09,
97 REG_INT_STATUS_1 = 0x0a,
98 REG_INT_STATUS_2 = 0x0b,
99 REG_INT_STATUS_3 = 0x0c,
103 REG_FIFO_STATUS = 0x0e,
105 REG_GYR_RANGE = 0x0f,
112 REG_SOFTRESET = 0x14,
117 REG_INT_MAP_0 = 0x17,
118 REG_INT_MAP_1 = 0x18,
119 REG_INT_MAP_2 = 0x19,
131 REG_INT_RST_LATCH = 0x21,
133 REG_HIGH_TH_X = 0x22,
134 REG_HIGH_DUR_X = 0x23,
135 REG_HIGH_TH_Y = 0x24,
136 REG_HIGH_DUR_Y = 0x25,
137 REG_HIGH_TH_Z = 0x26,
138 REG_HIGH_DUR_Z = 0x27,
145 REG_TRIM_NVM_CTRL = 0x33,
161 REG_FIFO_CONFIG_0 = 0x3d,
162 REG_FIFO_CONFIG_1 = 0x3e,
172 _INT_STATUS_0_RESERVED_BITS = 0xf0 | 0x08 | 0x01,
174 INT_STATUS_0_HIGH_INT = 0x02,
175 INT_STATUS_0_ANY_INT = 0x04
182 _INT_STATUS_1_RESERVED_BITS = 0x0f,
184 INT_STATUS_1_FIFO_INT = 0x10,
185 INT_STATUS_1_FAST_OFFSET_INT = 0x20,
186 INT_STATUS_1_AUTO_OFFSET_INT = 0x40,
187 INT_STATUS_1_DATA_INT = 0x80
194 _INT_STATUS_2_RESERVED_BITS = 0xf0,
196 INT_STATUS_2_ANY_FIRST_X = 0x01,
197 INT_STATUS_2_ANY_FIRST_Y = 0x02,
198 INT_STATUS_2_ANY_FIRST_Z = 0x04,
199 INT_STATUS_2_ANY_SIGN = 0x08
206 _INT_STATUS_3_RESERVED_BITS = 0xf0,
208 INT_STATUS_3_HIGH_FIRST_X = 0x01,
209 INT_STATUS_3_HIGH_FIRST_Y = 0x02,
210 INT_STATUS_3_HIGH_FIRST_Z = 0x04,
211 INT_STATUS_3_HIGH_SIGN = 0x08
218 FIFO_STATUS_FRAME_COUNTER0 = 0x01,
219 FIFO_STATUS_FRAME_COUNTER1 = 0x02,
220 FIFO_STATUS_FRAME_COUNTER2 = 0x04,
221 FIFO_STATUS_FRAME_COUNTER3 = 0x08,
222 FIFO_STATUS_FRAME_COUNTER4 = 0x10,
223 FIFO_STATUS_FRAME_COUNTER5 = 0x20,
224 FIFO_STATUS_FRAME_COUNTER6 = 0x40,
225 _FIFO_STATUS_FRAME_COUNTER_MASK = 127,
226 _FIFO_STATUS_FRAME_COUNTER_SHIFT = 0,
228 FIFO_STATUS_FIFO_OVERRUN = 0x80
235 _GYR_RANGE_RESERVED_BITS = 0x20 | 0x10 | 0x08,
241 _GYR_RANGE_SHIFT = 0,
243 GYR_RANGE_FIXED0 = 0x40,
244 GYR_RANGE_FIXED1 = 0x80,
245 _GYR_RANGE_FIXED_MASK = 3,
246 _GYR_RANGE_FIXED_SHIFT = 6,
247 _GYR_RANGE_FIXED_VALUE = 2
265 _GYR_BW_RESERVED_BITS = 0xf0,
279 BW_2000_UNFILTERED = 0,
294 _LPM1_RESERVED_MASK = 0x40 | 0x10 | 0x01,
296 LPM1_SLEEP_DUR0 = 0x02,
297 LPM1_SLEEP_DUR1 = 0x04,
298 LPM1_SLEEP_DUR2 = 0x08,
299 _LPM1_SLEEP_MASK = 7,
300 _LPM1_SLEEP_SHIFT = 1,
305 LPM1_POWER_MODE0 = 0x20,
306 LPM1_POWER_MODE1 = 0x40,
307 LPM1_POWER_MODE2 = 0x80,
308 _LPM1_POWER_MODE_MASK = 7,
309 _LPM1_POWER_MODE_SHIFT = 5
330 POWER_MODE_NORMAL = 0,
331 POWER_MODE_DEEP_SUSPEND = 1,
332 POWER_MODE_SUSPEND = 4
339 _LPM2_RESERVED_BITS = 0x08,
341 LPM2_AUTOSLEEP_DUR0 = 0x01,
342 LPM2_AUTOSLEEP_DUR1 = 0x02,
343 LPM2_AUTOSLEEP_DUR2 = 0x04,
344 _LPM2_AUTOSLEEP_DUR_MASK = 7,
345 _LPM2_AUTOSLEEP_DUR_SHIFT = 0,
347 LPM2_EXT_TRIG_SEL0 = 0x10,
348 LPM2_EXT_TRIG_SEL1 = 0x20,
349 _LPM2_EXT_TRIG_SEL_MASK = 3,
350 _LPM2_EXT_TRIG_SEL_SHIFT = 4,
352 LPM2_POWER_SAVE_MODE = 0x40,
353 LPM2_FAST_POWERUP = 0x80
361 AUTOSLEEP_DUR_NONE = 0,
362 AUTOSLEEP_DUR_4MS = 1,
363 AUTOSLEEP_DUR_5MS = 2,
364 AUTOSLEEP_DUR_8MS = 3,
365 AUTOSLEEP_DUR_10MS = 4,
366 AUTOSLEEP_DUR_15MS = 5,
367 AUTOSLEEP_DUR_20MS = 6,
368 AUTOSLEEP_DUR_40MS = 7
375 EXT_TRIG_SEL_NONE = 0,
376 EXT_TRIG_SEL_INT1 = 1,
377 EXT_TRIG_SEL_INT2 = 2,
385 _RATE_HBW_RESERVED_BITS = 0x0f | 0x10 | 0x20,
387 RATE_HBW_SHADOW_DIS = 0x40,
388 RATE_HBW_DATA_HIGH_BW = 0x80
395 _INT_EN_0_RESERVED_BITS = 0x20 | 0x10 | 0x08 | 0x02 | 0x01,
397 INT_EN_0_AUTO_OFFSET_EN = 0x04,
399 INT_EN_0_FIFO_EN = 0x40,
400 INT_EN_0_DATA_EN = 0x80
407 _INT_EN_1_INT1_RESERVED_BITS = 0xf0,
409 INT_EN_1_INT1_LVL = 0x01,
410 INT_EN_1_INT1_OD = 0x02,
411 INT_EN_1_INT2_LVL = 0x04,
412 INT_EN_1_INT2_OD = 0x08
419 _INT_MAP_0_RESERVED_BITS = 0xf0 | 0x04 | 0x01,
421 INT_MAP_0_INT1_ANY = 0x02,
422 INT_MAP_0_INT1_HIGH = 0x08
429 INT_MAP_1_INT1_DATA = 0x01,
430 INT_MAP_1_INT1_FAST_OFFSET = 0x02,
431 INT_MAP_1_INT1_FIFO = 0x04,
432 INT_MAP_1_INT1_AUTO_OFFSET = 0x08,
433 INT_MAP_1_INT2_AUTO_OFFSET = 0x10,
434 INT_MAP_1_INT2_FIFO = 0x20,
435 INT_MAP_1_INT2_FAST_OFFSET = 0x40,
436 INT_MAP_1_INT2_DATA = 0x80
443 _INT_1A_RESERVED_BITS = 0xd5,
445 INT_1A_ANY_UNFILT_DATA = 0x02,
446 INT_1A_HIGH_UNFILT_DATA = 0x08,
447 INT_1A_SLOW_OFFSET_UNFILT = 0x20
454 INT_1B_ANY_TH0 = 0x01,
455 INT_1B_ANY_TH1 = 0x02,
456 INT_1B_ANY_TH2 = 0x04,
457 INT_1B_ANY_TH3 = 0x08,
458 INT_1B_ANY_TH4 = 0x10,
459 INT_1B_ANY_TH5 = 0x20,
460 INT_1B_ANY_TH6 = 0x40,
461 _INT_1B_ANY_TH_MASK = 127,
462 _INT_1B_ANY_TH_SHIFT = 0,
464 INT_1B_FAST_OFFSET_UNFILT = 0x80
471 _INT_1C_RESERVED_BITS = 0x08,
473 INT_1C_ANY_EN_X = 0x01,
474 INT_1C_ANY_EN_Y = 0x02,
475 INT_1C_ANY_EN_Z = 0x04,
477 INT_1C_ANY_DUR_SAMPLE0 = 0x10,
478 INT_1C_ANY_DUR_SAMPLE1 = 0x20,
479 INT_1C_ANY_DUR_SAMPLE_MASK = 3,
480 INT_1C_ANY_DUR_SAMPLE_SHIFT = 4,
482 INT_1C_AWAKE_DUR0 = 0x40,
483 INT_1C_AWAKE_DUR1 = 0x80,
484 INT_1C_AWAKE_DUR_MASK = 3,
485 INT_1C_AWAKE_DUR_SHIFT = 6
492 ANY_DUR_SAMPLE_4 = 0,
493 ANY_DUR_SAMPLE_8 = 1,
494 ANY_DUR_SAMPLE_12 = 2,
495 ANY_DUR_SAMPLE_16 = 3
502 AWAKE_DUR_SAMPLE_8 = 0,
503 AWAKE_DUR_SAMPLE_16 = 1,
504 AWAKE_DUR_SAMPLE_32 = 2,
505 AWAKE_DUR_SAMPLE_64 = 3
512 _INT_1E_RESERVED_BITS = 0x7f,
514 INT_1E_FIFO_WM_EN = 0x80
521 _INT_RST_LATCH_RESERVED_BITS = 0x20,
523 INT_RST_LATCH0 = 0x01,
524 INT_RST_LATCH1 = 0x02,
525 INT_RST_LATCH2 = 0x04,
526 INT_RST_LATCH3 = 0x08,
527 _INT_RST_LATCH_MASK = 15,
528 _INT_RST_LATCH_SHIFT = 0,
530 INT_RST_LATCH_STATUS_BIT = 0x10,
532 INT_RST_LATCH_OFFSET_RESET = 0x40,
533 INT_RST_LATCH_RESET_INT = 0x80
540 RST_LATCH_NON_LATCHED = 0,
541 RST_LATCH_TEMPORARY_250MS = 1,
542 RST_LATCH_TEMPORARY_500MS = 2,
543 RST_LATCH_TEMPORARY_1S = 3,
544 RST_LATCH_TEMPORARY_2S = 4,
545 RST_LATCH_TEMPORARY_4S = 5,
546 RST_LATCH_TEMPORARY_8S = 6,
547 RST_LATCH_LATCHED = 7,
551 RST_LATCH_TEMPORARY_250US = 9,
552 RST_LATCH_TEMPORARY_500US = 10,
553 RST_LATCH_TEMPORARY_1MS = 11,
554 RST_LATCH_TEMPORARY_12_5MS = 12,
555 RST_LATCH_TEMPORARY_25MS = 13,
556 RST_LATCH_TEMPORARY_50MS = 14
572 _HIGH_TH_TH_MASK = 31,
573 _HIGH_TH_TH_SHIFT = 1,
577 _HIGH_TH_HY_MASK = 3,
578 _HIGH_TH_HY_SHIFT = 6
585 SOC_SLOW_OFFSET_EN_X = 0x01,
586 SOC_SLOW_OFFSET_EN_Y = 0x02,
587 SOC_SLOW_OFFSET_EN_Z = 0x04,
589 SOC_SLOW_OFFSET_DUR0 = 0x08,
590 SOC_SLOW_OFFSET_DUR1 = 0x10,
591 SOC_SLOW_OFFSET_DUR2 = 0x20,
592 _SOC_SLOW_OFFSET_DUR_MASK = 7,
593 _SOC_SLOW_OFFSET_DUR_SHIFT = 3,
595 SOC_SLOW_OFFSET_TH0 = 0x40,
596 SOC_SLOW_OFFSET_TH1 = 0x80,
597 _SOC_SLOW_OFFSET_TH_MASK = 3,
598 _SOC_SLOW_OFFSET_TH_SHIFT = 6
605 SLOW_OFFSET_DUR_40MS = 0,
606 SLOW_OFFSET_DUR_80MS = 1,
607 SLOW_OFFSET_DUR_160MS = 2,
608 SLOW_OFFSET_DUR_320MS = 3,
609 SLOW_OFFSET_DUR_640MS = 4,
610 SLOW_OFFSET_DUR_1280MS = 5
617 SLOW_OFFSET_TH_0_1 = 0,
618 SLOW_OFFSET_TH_0_2 = 1,
619 SLOW_OFFSET_TH_0_5 = 2,
627 A_FOC_FAST_OFFSET_EN_X = 0x01,
628 A_FOC_FAST_OFFSET_EN_Y = 0x02,
629 A_FOC_FAST_OFFSET_EN_Z = 0x04,
631 A_FOC_FAST_OFFSET_EN = 0x08,
633 A_FOC_FAST_OFFSET_WORDLENGTH0 = 0x10,
634 A_FOC_FAST_OFFSET_WORDLENGTH1 = 0x20,
635 _A_FOC_FAST_OFFSET_WORDLENGTH_MASK = 3,
636 _A_FOC_FAST_OFFSET_WORDLENGTH_SHIFT = 4,
638 A_FOC_AUTO_OFFSET_WORDLENGTH0 = 0x40,
639 A_FOC_AUTO_OFFSET_WORDLENGTH1 = 0x80,
640 _A_FOC_AUTO_OFFSET_WORDLENGTH_MASK = 3,
641 _A_FOC_AUTO_OFFSET_WORDLENGTH_SHIFT = 6
648 FAST_OFFSET_WORDLENGTH_32 = 0,
649 FAST_OFFSET_WORDLENGTH_64 = 1,
650 FAST_OFFSET_WORDLENGTH_128 = 2,
651 FAST_OFFSET_WORDLENGTH_256 = 3
658 AUTO_OFFSET_WORDLENGTH_32 = 0,
659 AUTO_OFFSET_WORDLENGTH_64 = 1,
660 AUTO_OFFSET_WORDLENGTH_128 = 2,
661 AUTO_OFFSET_WORDLENGTH_256 = 3
668 TRIM_NVM_CTRL_NVM_PROG_MODE = 0x01,
669 TRIM_NVM_CTRL_NVM_PROG_TRIG = 0x02,
670 TRIM_NVM_CTRL_NVM_PROG_RDY = 0x04,
671 TRIM_NVM_CTRL_NVM_PROG_LOAD = 0x08,
673 TRIM_NVM_CTRL_NVM_REMAIN0 = 0x10,
674 TRIM_NVM_CTRL_NVM_REMAIN1 = 0x20,
675 TRIM_NVM_CTRL_NVM_REMAIN2 = 0x40,
676 TRIM_NVM_CTRL_NVM_REMAIN3 = 0x80,
677 _TRIM_NVM_CTRL_NVM_REMAIN_MASK = 15,
678 _TRIM_NVM_CTRL_NVM_REMAIN_SHIFT = 4
685 _SPI3_WDT_RESERVED_BITS = 0xf0 | 0x08,
687 SPI3_WDT_SPI3 = 0x01,
689 SPI3_WDT_I2C_WDT_SEL = 0x02,
690 SPI3_WDT_I2C_WDT_EN = 0x04
699 OFC1_OFFSET_Z0 = 0x01,
700 OFC1_OFFSET_Z1 = 0x02,
701 OFC1_OFFSET_Z2 = 0x04,
702 _OFC1_OFFSET_Z_MASK = 7,
703 _OFC1_OFFSET_Z_SHIFT = 0,
705 OFC1_OFFSET_Y0 = 0x08,
706 OFC1_OFFSET_Y1 = 0x10,
707 OFC1_OFFSET_Y2 = 0x20,
708 _OFC1_OFFSET_Y_MASK = 7,
709 _OFC1_OFFSET_Y_SHIFT = 3,
711 OFC1_OFFSET_X0 = 0x08,
712 OFC1_OFFSET_X1 = 0x10,
713 _OFC1_OFFSET_X_MASK = 3,
714 _OFC1_OFFSET_X_SHIFT = 6
724 GP0_OFFSET_X0 = 0x04,
725 GP0_OFFSET_X1 = 0x08,
726 _GP0_OFFSET_X_MASK = 3,
727 _GP0_OFFSET_X_SHIFT = 2,
741 _BIST_RESERVED_BITS = 0x80 | 0x40 | 0x20 | 0x08,
743 BIST_TRIG_BIST = 0x01,
744 BIST_BIST_RDY = 0x02,
745 BIST_BIST_FAIL = 0x04,
754 FIFO_CONFIG_0_WATER_MARK0 = 0x01,
755 FIFO_CONFIG_0_WATER_MARK1 = 0x02,
756 FIFO_CONFIG_0_WATER_MARK2 = 0x04,
757 FIFO_CONFIG_0_WATER_MARK3 = 0x08,
758 FIFO_CONFIG_0_WATER_MARK4 = 0x10,
759 FIFO_CONFIG_0_WATER_MARK5 = 0x20,
760 FIFO_CONFIG_0_WATER_MARK6 = 0x40,
761 _FIFO_CONFIG_0_WATER_MARK_MASK = 127,
762 _FIFO_CONFIG_0_WATER_MARK_SHIFT = 0,
764 FIFO_CONFIG_0_TAG = 0x80
771 _FIFO_CONFIG_1_RESERVED_BITS = 0x20 | 0x10 |0x08 | 0x04,
773 FIFO_CONFIG_1_FIFO_DATA_SEL0 = 0x01,
774 FIFO_CONFIG_1_FIFO_DATA_SEL1 = 0x02,
775 _FIFO_CONFIG_1_FIFO_DATA_SEL = 3,
776 _FIFO_CONFIG_1_FIFO_DATA_SHIFT = 0,
778 FIFO_CONFIG_1_FIFO_MODE0 = 0x40,
779 FIFO_CONFIG_1_FIFO_MODE1 = 0x80,
780 _FIFO_CONFIG_1_FIFO_MODE_MASK = 3,
781 _FIFO_CONFIG_1_FIFO_MODE_SHIFT = 6
788 FIFO_DATA_SEL_XYZ = 0,
798 FIFO_MODE_BYPASS = 0,
826 BMG160(
int bus=BMG160_I2C_BUS,
int addr=BMG160_DEFAULT_ADDR,
1131 #if defined(SWIGJAVA) || defined(JAVACALLBACK)
1132 void installISR(INTERRUPT_PINS_T intr,
int gpio, mraa::Edge level,
1147 void installISR(INTERRUPT_PINS_T intr,
int gpio, mraa::Edge level,
1148 void (*isr)(
void *),
void *arg);
1174 int readRegs(uint8_t reg, uint8_t *buffer,
int len);
1182 void writeReg(uint8_t reg, uint8_t val);
1189 mraa::Gpio *m_gpioCS;
1191 mraa::Gpio *m_gpioIntr1;
1192 mraa::Gpio *m_gpioIntr2;
1207 float m_temperature;
1215 mraa::Gpio*& getPin(INTERRUPT_PINS_T intr);
1218 #if defined(SWIGJAVA) || defined(JAVACALLBACK)
1219 void installISR(INTERRUPT_PINS_T intr,
int gpio, mraa::Edge level,
1220 void (*isr)(
void *),
void *arg);
void clearInterruptLatches()
Definition: bmg160.cxx:460
INT_MAP_1_BITS_T
Definition: bmg160.hpp:428
BIST_BITS_T
Definition: bmg160.hpp:740
BMG160_REGS_T
Definition: bmg160.hpp:82
INT_1C_BITS_T
Definition: bmg160.hpp:470
INT_EN_0_BITS_T
Definition: bmg160.hpp:394
HIGH_TH_BITS_T
Definition: bmg160.hpp:564
void setBandwidth(BW_T bw)
Definition: bmg160.cxx:369
uint8_t getInterruptStatus3()
Definition: bmg160.cxx:527
RATE_HBW_BITS_T
Definition: bmg160.hpp:384
void enableRegisterShadowing(bool shadow)
Definition: bmg160.cxx:488
float getTemperature(bool fahrenheit=false)
Definition: bmg160.cxx:324
RST_LATCH_T getInterruptLatchBehavior()
Definition: bmg160.cxx:469
LPM1_BITS_T
Definition: bmg160.hpp:292
POWER_MODE_T
Definition: bmg160.hpp:329
A_FOC_BITS_T
Definition: bmg160.hpp:626
float * getGyroscope()
Definition: bmg160.cxx:316
OFC1_OFFSET_BITS_T
Definition: bmg160.hpp:698
SLOW_OFFSET_TH_T
Definition: bmg160.hpp:616
uint8_t getInterruptStatus0()
Definition: bmg160.cxx:512
void setInterruptMap0(uint8_t bits)
Definition: bmg160.cxx:418
uint8_t readReg(uint8_t reg)
Definition: bmg160.cxx:203
uint8_t getInterruptOutputControl()
Definition: bmg160.cxx:448
GP0_BITS_T
Definition: bmg160.hpp:720
RST_LATCH_T
Definition: bmg160.hpp:539
uint8_t getChipID()
Definition: bmg160.cxx:299
BW_T
Definition: bmg160.hpp:278
API for the BMG160 16 bit Trixial Gyroscope.
Definition: bmg160.hpp:69
FIFO_CONFIG_1_BITS_T
Definition: bmg160.hpp:770
void writeReg(uint8_t reg, uint8_t val)
Definition: bmg160.cxx:259
ANY_DUR_SAMPLE_T
Definition: bmg160.hpp:491
uint8_t getInterruptEnable0()
Definition: bmg160.cxx:401
SPI3_WDT_BITS_T
Definition: bmg160.hpp:684
INT_STATUS_0_BITS_T
Definition: bmg160.hpp:171
LPM2_BITS_T
Definition: bmg160.hpp:338
void setInterruptLatchBehavior(RST_LATCH_T latch)
Definition: bmg160.cxx:478
void installISR(INTERRUPT_PINS_T intr, int gpio, mraa::Edge level, void(*isr)(void *), void *arg)
Definition: bmg160.cxx:546
void uninstallISR(INTERRUPT_PINS_T intr)
Definition: bmg160.cxx:560
SLOW_OFFSET_DUR_T
Definition: bmg160.hpp:604
~BMG160()
Definition: bmg160.cxx:109
FIFO_MODE_T
Definition: bmg160.hpp:797
uint8_t getInterruptStatus1()
Definition: bmg160.cxx:517
uint8_t getInterruptStatus2()
Definition: bmg160.cxx:522
INT_1E_BITS_T
Definition: bmg160.hpp:511
INT_STATUS_3_BITS_T
Definition: bmg160.hpp:205
void setInterruptEnable0(uint8_t bits)
Definition: bmg160.cxx:406
void setInterruptSrc(uint8_t bits)
Definition: bmg160.cxx:441
void enableFIFO(bool useFIFO)
Definition: bmg160.cxx:198
SOC_BITS_T
Definition: bmg160.hpp:584
INT_EN_1_BITS_T
Definition: bmg160.hpp:406
FIFO_STATUS_BITS_T
Definition: bmg160.hpp:217
INT_STATUS_1_BITS_T
Definition: bmg160.hpp:181
AWAKE_DUR_SAMPLE_T
Definition: bmg160.hpp:501
INT_MAP_0_BITS_T
Definition: bmg160.hpp:418
void enableOutputFiltering(bool filter)
Definition: bmg160.cxx:500
void reset()
Definition: bmg160.cxx:332
INT_STATUS_2_BITS_T
Definition: bmg160.hpp:193
INT_1B_BITS_T
Definition: bmg160.hpp:453
BMG160(int bus=BMG160_I2C_BUS, int addr=BMG160_DEFAULT_ADDR, int cs=-1)
Definition: bmg160.cxx:45
void setPowerMode(POWER_MODE_T power)
Definition: bmg160.cxx:374
FIFO_DATA_SEL_T
Definition: bmg160.hpp:787
uint8_t getInterruptMap0()
Definition: bmg160.cxx:413
AUTOSLEEP_DUR_T
Definition: bmg160.hpp:360
uint8_t getInterruptMap1()
Definition: bmg160.cxx:425
FAST_OFFSET_WORDLENGTH_T
Definition: bmg160.hpp:647
void setRange(RANGE_T range)
Definition: bmg160.cxx:338
GYR_RANGE_BITS_T
Definition: bmg160.hpp:234
uint8_t getInterruptSrc()
Definition: bmg160.cxx:436
void update()
Definition: bmg160.cxx:145
AUTO_OFFSET_WORDLENGTH_T
Definition: bmg160.hpp:657
GYR_BW_BITS_T
Definition: bmg160.hpp:264
TRIM_NVM_CTRL_BITS_T
Definition: bmg160.hpp:667
SLEEP_DUR_T
Definition: bmg160.hpp:315
void init(POWER_MODE_T pwr=POWER_MODE_NORMAL, RANGE_T range=RANGE_250, BW_T bw=BW_400_47)
Definition: bmg160.cxx:122
FIFO_CONFIG_0_BITS_T
Definition: bmg160.hpp:753
RANGE_T
Definition: bmg160.hpp:253
void setInterruptOutputControl(uint8_t bits)
Definition: bmg160.cxx:453
void setInterruptMap1(uint8_t bits)
Definition: bmg160.cxx:430
int readRegs(uint8_t reg, uint8_t *buffer, int len)
Definition: bmg160.cxx:225
void fifoSetWatermark(int wm)
Definition: bmg160.cxx:385
EXT_TRIG_SEL_T
Definition: bmg160.hpp:374
INT_RST_LATCH_BITS_T
Definition: bmg160.hpp:520
void fifoConfig(FIFO_MODE_T mode, FIFO_DATA_SEL_T axes)
Definition: bmg160.cxx:393
INT_1A_BITS_T
Definition: bmg160.hpp:442