|
9 | 9 | #define _ADXL345_H_
|
10 | 10 |
|
11 | 11 | #define ADXL345_REG_DEVID 0x00
|
| 12 | +#define ADXL345_REG_THRESH_TAP 0x1D |
12 | 13 | #define ADXL345_REG_OFSX 0x1E
|
13 | 14 | #define ADXL345_REG_OFSY 0x1F
|
14 | 15 | #define ADXL345_REG_OFSZ 0x20
|
15 | 16 | #define ADXL345_REG_OFS_AXIS(index) (ADXL345_REG_OFSX + (index))
|
| 17 | + |
| 18 | +/* Tap duration */ |
| 19 | +#define ADXL345_REG_DUR 0x21 |
| 20 | +/* Tap latency */ |
| 21 | +#define ADXL345_REG_LATENT 0x22 |
| 22 | +/* Tap window */ |
| 23 | +#define ADXL345_REG_WINDOW 0x23 |
| 24 | +/* Activity threshold */ |
| 25 | +#define ADXL345_REG_THRESH_ACT 0x24 |
| 26 | +/* Inactivity threshold */ |
| 27 | +#define ADXL345_REG_THRESH_INACT 0x25 |
| 28 | +/* Inactivity time */ |
| 29 | +#define ADXL345_REG_TIME_INACT 0x26 |
| 30 | +/* Axis enable control for activity and inactivity detection */ |
| 31 | +#define ADXL345_REG_ACT_INACT_CTRL 0x27 |
| 32 | +/* Free-fall threshold */ |
| 33 | +#define ADXL345_REG_THRESH_FF 0x28 |
| 34 | +/* Free-fall time */ |
| 35 | +#define ADXL345_REG_TIME_FF 0x29 |
| 36 | +/* Axis control for single tap or double tap */ |
| 37 | +#define ADXL345_REG_TAP_AXIS 0x2A |
| 38 | +/* Source of single tap or double tap */ |
| 39 | +#define ADXL345_REG_ACT_TAP_STATUS 0x2B |
| 40 | +/* Data rate and power mode control */ |
16 | 41 | #define ADXL345_REG_BW_RATE 0x2C
|
17 | 42 | #define ADXL345_REG_POWER_CTL 0x2D
|
18 | 43 | #define ADXL345_REG_INT_ENABLE 0x2E
|
|
34 | 59 |
|
35 | 60 | #define ADXL345_INT_OVERRUN BIT(0)
|
36 | 61 | #define ADXL345_INT_WATERMARK BIT(1)
|
| 62 | +#define ADXL345_INT_FREE_FALL BIT(2) |
| 63 | +#define ADXL345_INT_INACTIVITY BIT(3) |
| 64 | +#define ADXL345_INT_ACTIVITY BIT(4) |
| 65 | +#define ADXL345_INT_DOUBLE_TAP BIT(5) |
| 66 | +#define ADXL345_INT_SINGLE_TAP BIT(6) |
37 | 67 | #define ADXL345_INT_DATA_READY BIT(7)
|
| 68 | + |
| 69 | +/* |
| 70 | + * BW_RATE bits - Bandwidth and output data rate. The default value is |
| 71 | + * 0x0A, which translates to a 100 Hz output data rate |
| 72 | + */ |
38 | 73 | #define ADXL345_BW_RATE GENMASK(3, 0)
|
| 74 | +#define ADXL345_BW_LOW_POWER BIT(4) |
39 | 75 | #define ADXL345_BASE_RATE_NANO_HZ 97656250LL
|
40 | 76 |
|
41 | 77 | #define ADXL345_POWER_CTL_STANDBY 0x00
|
| 78 | +#define ADXL345_POWER_CTL_WAKEUP GENMASK(1, 0) |
| 79 | +#define ADXL345_POWER_CTL_SLEEP BIT(2) |
42 | 80 | #define ADXL345_POWER_CTL_MEASURE BIT(3)
|
| 81 | +#define ADXL345_POWER_CTL_AUTO_SLEEP BIT(4) |
| 82 | +#define ADXL345_POWER_CTL_LINK BIT(5) |
43 | 83 |
|
44 |
| -#define ADXL345_DATA_FORMAT_RANGE GENMASK(1, 0) /* Set the g range */ |
45 |
| -#define ADXL345_DATA_FORMAT_JUSTIFY BIT(2) /* Left-justified (MSB) mode */ |
46 |
| -#define ADXL345_DATA_FORMAT_FULL_RES BIT(3) /* Up to 13-bits resolution */ |
47 |
| -#define ADXL345_DATA_FORMAT_SPI_3WIRE BIT(6) /* 3-wire SPI mode */ |
48 |
| -#define ADXL345_DATA_FORMAT_SELF_TEST BIT(7) /* Enable a self test */ |
49 |
| - |
| 84 | +/* Set the g range */ |
| 85 | +#define ADXL345_DATA_FORMAT_RANGE GENMASK(1, 0) |
| 86 | +/* Data is left justified */ |
| 87 | +#define ADXL345_DATA_FORMAT_JUSTIFY BIT(2) |
| 88 | +/* Up to 13-bits resolution */ |
| 89 | +#define ADXL345_DATA_FORMAT_FULL_RES BIT(3) |
| 90 | +#define ADXL345_DATA_FORMAT_SPI_3WIRE BIT(6) |
| 91 | +#define ADXL345_DATA_FORMAT_SELF_TEST BIT(7) |
50 | 92 | #define ADXL345_DATA_FORMAT_2G 0
|
51 | 93 | #define ADXL345_DATA_FORMAT_4G 1
|
52 | 94 | #define ADXL345_DATA_FORMAT_8G 2
|
|
0 commit comments