47 #include "lib/sensors.h" 67 int16_t accm_read_axis(
enum ADXL345_AXIS axis);
76 int accm_set_grange(uint8_t grange);
82 int accm_set_irq(uint8_t int1, uint8_t int2);
89 #define ACCM_REGISTER_INT1_CB(ptr) accm_int1_cb = ptr; 90 #define ACCM_REGISTER_INT2_CB(ptr) accm_int2_cb = ptr; 98 #define SUPPRESS_TIME_INT1 CLOCK_SECOND/4 99 #define SUPPRESS_TIME_INT2 CLOCK_SECOND/4 102 #define ADXL345_THRESH_TAP_DEFAULT 0x48 103 #define ADXL345_OFSX_DEFAULT 0x00 104 #define ADXL345_OFSY_DEFAULT 0x00 105 #define ADXL345_OFSZ_DEFAULT 0x00 106 #define ADXL345_DUR_DEFAULT 0x20 107 #define ADXL345_LATENT_DEFAULT 0x50 108 #define ADXL345_WINDOW_DEFAULT 0xFF 109 #define ADXL345_THRESH_ACT_DEFAULT 0x15 110 #define ADXL345_THRESH_INACT_DEFAULT 0x08 111 #define ADXL345_TIME_INACT_DEFAULT 0x02 112 #define ADXL345_ACT_INACT_CTL_DEFAULT 0xFF 113 #define ADXL345_THRESH_FF_DEFAULT 0x09 114 #define ADXL345_TIME_FF_DEFAULT 0x20 115 #define ADXL345_TAP_AXES_DEFAULT 0x07 117 #define ADXL345_BW_RATE_DEFAULT (0x00 | ADXL345_SRATE_100) 119 #define ADXL345_POWER_CTL_DEFAULT 0x28 120 #define ADXL345_INT_ENABLE_DEFAULT 0x00 121 #define ADXL345_INT_MAP_DEFAULT 0x00 131 #define ADXL345_DATA_FORMAT_DEFAULT (0x00 | ADXL345_RANGE_2G) 132 #define ADXL345_FIFO_CTL_DEFAULT 0x00 137 #define ADXL345_ADDR 0x53 140 #define ADXL345_DEVID 0x00 142 #define ADXL345_THRESH_TAP 0x1D 143 #define ADXL345_OFSX 0x1E 144 #define ADXL345_OFSY 0x1F 145 #define ADXL345_OFSZ 0x20 146 #define ADXL345_DUR 0x21 147 #define ADXL345_LATENT 0x22 148 #define ADXL345_WINDOW 0x23 149 #define ADXL345_THRESH_ACT 0x24 150 #define ADXL345_THRESH_INACT 0x25 151 #define ADXL345_TIME_INACT 0x26 152 #define ADXL345_ACT_INACT_CTL 0x27 153 #define ADXL345_THRESH_FF 0x28 154 #define ADXL345_TIME_FF 0x29 155 #define ADXL345_TAP_AXES 0x2A 156 #define ADXL345_ACT_TAP_STATUS 0x2B 157 #define ADXL345_BW_RATE 0x2C 158 #define ADXL345_POWER_CTL 0x2D 159 #define ADXL345_INT_ENABLE 0x2E 160 #define ADXL345_INT_MAP 0x2F 161 #define ADXL345_INT_SOURCE 0x30 162 #define ADXL345_DATA_FORMAT 0x31 163 #define ADXL345_DATAX0 0x32 164 #define ADXL345_DATAX1 0x33 165 #define ADXL345_DATAY0 0x34 166 #define ADXL345_DATAY1 0x35 167 #define ADXL345_DATAZ0 0x36 168 #define ADXL345_DATAZ1 0x37 169 #define ADXL345_FIFO_CTL 0x38 170 #define ADXL345_FIFO_STATUS 0x39 173 #define ADXL345_INT_DISABLE 0X00 174 #define ADXL345_INT_OVERRUN 0X01 175 #define ADXL345_INT_WATERMARK 0X02 176 #define ADXL345_INT_FREEFALL 0X04 177 #define ADXL345_INT_INACTIVITY 0X08 178 #define ADXL345_INT_ACTIVITY 0X10 179 #define ADXL345_INT_DOUBLETAP 0X20 180 #define ADXL345_INT_TAP 0X40 181 #define ADXL345_INT_DATAREADY 0X80 184 #define ADXL345_DIR P1DIR 185 #define ADXL345_PIN P1PIN 186 #define ADXL345_REN P1REN 187 #define ADXL345_SEL P1SEL 188 #define ADXL345_SEL2 P1SEL2 189 #define ADXL345_INT1_PIN (1<<6) 190 #define ADXL345_INT2_PIN (1<<7) 191 #define ADXL345_IES P1IES 192 #define ADXL345_IE P1IE 193 #define ADXL345_IFG P1IFG 194 #define ADXL345_VECTOR PORT1_VECTOR 197 #define ADXL345_RANGE_2G 0x00 198 #define ADXL345_RANGE_4G 0x01 199 #define ADXL345_RANGE_8G 0x02 200 #define ADXL345_RANGE_16G 0x03 214 #define ADXL345_SRATE_3200 0x0F 216 #define ADXL345_SRATE_1600 0x0E 217 #define ADXL345_SRATE_800 0x0D 218 #define ADXL345_SRATE_400 0x0C 219 #define ADXL345_SRATE_200 0x0B 220 #define ADXL345_SRATE_100 0x0A 221 #define ADXL345_SRATE_50 0x09 222 #define ADXL345_SRATE_25 0x08 223 #define ADXL345_SRATE_12_5 0x07 224 #define ADXL345_SRATE_6_25 0x06 225 #define ADXL345_SRATE_3_13 0x05 226 #define ADXL345_SRATE_1_56 0x04 227 #define ADXL345_SRATE_0_78 0x03 228 #define ADXL345_SRATE_0_39 0x02 229 #define ADXL345_SRATE_0_20 0x01 230 #define ADXL345_SRATE_0_10 0x00 233 extern void (*accm_int1_cb)(uint8_t reg);
234 extern void (*accm_int2_cb)(uint8_t reg);
236 #define ACCM_INT1 0x01 237 #define ACCM_INT2 0x02 238 #define ADXL345_SUCCESS 0x00 239 #define ADXL345_ERROR (-1) 241 #define ADXL345_SENSOR "ADXL345 sensor" 243 extern const struct sensors_sensor adxl345;
I2C communication device driver header file for Zolertia Z1 sensor node.