Modified Arduino library for ICM_20948 IMU for Nucleo boards
util/AK09916_REGISTERS.h@0:894b603d32ee, 2022-01-31 (annotated)
- Committer:
- saloutos
- Date:
- Mon Jan 31 03:25:31 2022 +0000
- Revision:
- 0:894b603d32ee
modified ICM_20948 Arduino library for Nucleo boards
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
saloutos | 0:894b603d32ee | 1 | #ifndef _AK09916_REGISTERS_H_ |
saloutos | 0:894b603d32ee | 2 | #define _AK09916_REGISTERS_H_ |
saloutos | 0:894b603d32ee | 3 | |
saloutos | 0:894b603d32ee | 4 | #include <stdint.h> |
saloutos | 0:894b603d32ee | 5 | |
saloutos | 0:894b603d32ee | 6 | typedef enum |
saloutos | 0:894b603d32ee | 7 | { |
saloutos | 0:894b603d32ee | 8 | AK09916_REG_WIA1 = 0x00, |
saloutos | 0:894b603d32ee | 9 | AK09916_REG_WIA2, |
saloutos | 0:894b603d32ee | 10 | AK09916_REG_RSV1, |
saloutos | 0:894b603d32ee | 11 | AK09916_REG_RSV2, // Reserved register. We start reading here when using the DMP. Secret sauce... |
saloutos | 0:894b603d32ee | 12 | // discontinuity - containing another nine reserved registers? Secret sauce... |
saloutos | 0:894b603d32ee | 13 | AK09916_REG_ST1 = 0x10, |
saloutos | 0:894b603d32ee | 14 | AK09916_REG_HXL, |
saloutos | 0:894b603d32ee | 15 | AK09916_REG_HXH, |
saloutos | 0:894b603d32ee | 16 | AK09916_REG_HYL, |
saloutos | 0:894b603d32ee | 17 | AK09916_REG_HYH, |
saloutos | 0:894b603d32ee | 18 | AK09916_REG_HZL, |
saloutos | 0:894b603d32ee | 19 | AK09916_REG_HZH, |
saloutos | 0:894b603d32ee | 20 | // discontinuity |
saloutos | 0:894b603d32ee | 21 | AK09916_REG_ST2 = 0x18, |
saloutos | 0:894b603d32ee | 22 | // discontinuity |
saloutos | 0:894b603d32ee | 23 | AK09916_REG_CNTL2 = 0x31, |
saloutos | 0:894b603d32ee | 24 | AK09916_REG_CNTL3, |
saloutos | 0:894b603d32ee | 25 | } AK09916_Reg_Addr_e; |
saloutos | 0:894b603d32ee | 26 | |
saloutos | 0:894b603d32ee | 27 | typedef struct |
saloutos | 0:894b603d32ee | 28 | { |
saloutos | 0:894b603d32ee | 29 | uint8_t WIA1; |
saloutos | 0:894b603d32ee | 30 | } AK09916_WIA1_Reg_t; |
saloutos | 0:894b603d32ee | 31 | |
saloutos | 0:894b603d32ee | 32 | typedef struct |
saloutos | 0:894b603d32ee | 33 | { |
saloutos | 0:894b603d32ee | 34 | uint8_t WIA2; |
saloutos | 0:894b603d32ee | 35 | } AK09916_WIA2_Reg_t; |
saloutos | 0:894b603d32ee | 36 | |
saloutos | 0:894b603d32ee | 37 | typedef struct |
saloutos | 0:894b603d32ee | 38 | { |
saloutos | 0:894b603d32ee | 39 | uint8_t DRDY : 1; |
saloutos | 0:894b603d32ee | 40 | uint8_t DOR : 1; |
saloutos | 0:894b603d32ee | 41 | uint8_t reserved_0 : 6; |
saloutos | 0:894b603d32ee | 42 | } AK09916_ST1_Reg_t; |
saloutos | 0:894b603d32ee | 43 | |
saloutos | 0:894b603d32ee | 44 | // typedef struct{ |
saloutos | 0:894b603d32ee | 45 | |
saloutos | 0:894b603d32ee | 46 | // }AK09916_HXL_Reg_t; |
saloutos | 0:894b603d32ee | 47 | |
saloutos | 0:894b603d32ee | 48 | // typedef struct{ |
saloutos | 0:894b603d32ee | 49 | |
saloutos | 0:894b603d32ee | 50 | // }AK09916_HXH_Reg_t; |
saloutos | 0:894b603d32ee | 51 | // typedef struct{ |
saloutos | 0:894b603d32ee | 52 | |
saloutos | 0:894b603d32ee | 53 | // }AK09916_HYL_Reg_t; |
saloutos | 0:894b603d32ee | 54 | // typedef struct{ |
saloutos | 0:894b603d32ee | 55 | |
saloutos | 0:894b603d32ee | 56 | // }AK09916_HYH_Reg_t; |
saloutos | 0:894b603d32ee | 57 | // typedef struct{ |
saloutos | 0:894b603d32ee | 58 | |
saloutos | 0:894b603d32ee | 59 | // }AK09916_HZL_Reg_t; |
saloutos | 0:894b603d32ee | 60 | // typedef struct{ |
saloutos | 0:894b603d32ee | 61 | |
saloutos | 0:894b603d32ee | 62 | // }AK09916_HZH_Reg_t; |
saloutos | 0:894b603d32ee | 63 | |
saloutos | 0:894b603d32ee | 64 | typedef struct |
saloutos | 0:894b603d32ee | 65 | { |
saloutos | 0:894b603d32ee | 66 | uint8_t reserved_0 : 3; |
saloutos | 0:894b603d32ee | 67 | uint8_t HOFL : 1; |
saloutos | 0:894b603d32ee | 68 | uint8_t reserved_1 : 4; |
saloutos | 0:894b603d32ee | 69 | } AK09916_ST2_Reg_t; |
saloutos | 0:894b603d32ee | 70 | |
saloutos | 0:894b603d32ee | 71 | typedef struct |
saloutos | 0:894b603d32ee | 72 | { |
saloutos | 0:894b603d32ee | 73 | uint8_t MODE : 5; |
saloutos | 0:894b603d32ee | 74 | uint8_t reserved_0 : 3; |
saloutos | 0:894b603d32ee | 75 | } AK09916_CNTL2_Reg_t; |
saloutos | 0:894b603d32ee | 76 | |
saloutos | 0:894b603d32ee | 77 | typedef struct |
saloutos | 0:894b603d32ee | 78 | { |
saloutos | 0:894b603d32ee | 79 | uint8_t SRST : 1; |
saloutos | 0:894b603d32ee | 80 | uint8_t reserved_0 : 7; |
saloutos | 0:894b603d32ee | 81 | } AK09916_CNTL3_Reg_t; |
saloutos | 0:894b603d32ee | 82 | |
saloutos | 0:894b603d32ee | 83 | #endif // _AK09916_REGISTERS_H_ |