Contiki-Inga 3.x
|
Macros | |
#define | ADXL345_CS 2 |
#define | ADXL345_DEVICE_ID_REG 0x00 |
Device ID Register. | |
#define | ADXL345_OUTX_LOW_REG 0x32 |
x Acceleration Data register (high) | |
#define | ADXL345_OUTX_HIGH_REG 0x33 |
x Acceleration Data register (low) | |
#define | ADXL345_OUTY_LOW_REG 0x34 |
y Acceleration Data register (high) | |
#define | ADXL345_OUTY_HIGH_REG 0x35 |
y Acceleration Data register (low) | |
#define | ADXL345_OUTZ_LOW_REG 0x36 |
z Acceleration Data register (high) | |
#define | ADXL345_OUTZ_HIGH_REG 0x37 |
z Acceleration Data register (low) | |
#define | adxl345_raw_to_mg(raw) (raw * 62) / 16; |
Convert raw value to mg value. | |
Functions | |
int8_t | adxl345_available (void) |
Checks if ADXL345 is available. More... | |
int8_t | adxl345_init (void) |
Initialize the ADXL345 accelerometer. More... | |
void | adxl345_deinit (void) |
Deinitilizes the ADX345 accelerometer. More... | |
void | adxl345_set_g_range (uint8_t range) |
void | adxl345_set_data_rate (uint8_t rate) |
void | adxl345_set_fifomode (uint8_t mode) |
void | adxl345_set_powermode (uint8_t mode) |
uint8_t | adxl345_get_fifo_level () |
Returns the current fill level of the internal FIFO (when operating in FIFO/Stream mode). More... | |
int16_t | adxl345_get_x (void) |
This function returns the current measured acceleration at the x-axis of the adxl345. More... | |
int16_t | adxl345_get_y (void) |
This function returns the current measured acceleration at the y-axis of the adxl345. More... | |
int16_t | adxl345_get_z (void) |
This function returns the current measured acceleration at the z-axis of the adxl345. More... | |
acc_data_t | adxl345_get (void) |
This function returns the current measured acceleration of all axis (x,y,z) More... | |
void | adxl345_write (uint8_t reg, uint8_t data) |
This function writes data to the given register of the ADXL345. More... | |
uint8_t | adxl345_read (uint8_t reg) |
This function reads from the given register of the ADXL345. More... | |
int8_t | adxl345_ready (void) |
Checks whether the device is ready or not by reading the ID. More... | |
BW_RATE register/bits | |
#define | ADXL345_BW_RATE_REG 0x2C |
ADXL Data Rate and Power Mode Control Register. More... | |
#define | ADXL345_LOW_POWER 4 |
Low power bit pos. More... | |
#define | ADXL345_RATE_L 0 |
Rate bits [4] pos. More... | |
POWER_CTL register/bits | |
#define | ADXL345_POWER_CTL_REG 0x2D |
ADXL Power Control Register. More... | |
#define | ADXL345_LINK 5 |
Link bit pos. More... | |
#define | ADXL345_AUTO_SLEEP 4 |
AUTO_SLEEP bit pos. More... | |
#define | ADXL345_MEASURE 3 |
Measure bit pos. More... | |
#define | ADXL345_SLEEP 2 |
Sleep bit pos. More... | |
#define | ADXL345_WAKEUP_L 0 |
Wakeup bits [2] LSB pos. More... | |
DATA_FORMAT register/bits | |
#define | ADXL345_DATA_FORMAT_REG 0x31 |
ADXL Data Format Register Register. More... | |
#define | ADXL345_SELF_TEST 7 |
SELF_TEST bit pos. More... | |
#define | ADXL345_SPI 6 |
SPI bit pos. More... | |
#define | ADXL345_INT_INVERT 5 |
INT_INVERT bit pos. More... | |
#define | ADXL345_FULL_RES 3 |
FULL_RES bit pos. More... | |
#define | ADXL345_JUSTIFY 2 |
Justify bit pos. More... | |
#define | ADXL345_RANGE_L 0 |
Range bits [2] LSB pos. More... | |
FIFO_CTL register/bits | |
#define | ADXL345_FIFO_CTL_REG 0x38 |
FIFO control register. | |
#define | ADXL345_FIFO_MODE_L 6 |
FIFO_MODE bits [2] LSB pos. More... | |
#define | ADXL345_TRIGGER 5 |
Trigger bit pos. More... | |
#define | ADXL345_SAMPLES_L 0 |
Samples bits [5] LSB pos. More... | |
FIFO_STATUS register/bits | |
#define | ADXL345_FIFO_STATUS_REG 0x39 |
FIFO status register. | |
#define | ADXL345_FIFO_TRIG 7 |
FIFO_TRIG bit pos. More... | |
#define | ADXL345_ENTRIES_L 0 |
Entries bits [6] LSB pos. More... | |
g range settings | |
#define | ADXL345_MODE_2G (0x0 << ADXL345_RANGE_L) |
+/- 2g, 256 LSB/g | |
#define | ADXL345_MODE_4G (0x1 << ADXL345_RANGE_L) |
+/- 4g, 128 LSB/g | |
#define | ADXL345_MODE_8G (0x2 << ADXL345_RANGE_L) |
+/- 8g, 64 LSB/g | |
#define | ADXL345_MODE_16G (0x3 << ADXL345_RANGE_L) |
+/- 16g, 32 LSB/g | |
Power mode settings | |
#define | ADXL345_PMODE_SLEEP 1 |
#define | ADXL345_PMODE_WAKEUP 3 |
#define | ADXL345_PMODE_STANDBY 4 |
Values for output data rate | |
| |
#define | ADXL345_ODR_0HZ10 (0x0 << ADXL345_RATE_L) |
#define | ADXL345_ODR_0HZ20 (0x1 << ADXL345_RATE_L) |
#define | ADXL345_ODR_0HZ39 (0x2 << ADXL345_RATE_L) |
#define | ADXL345_ODR_0HZ78 (0x3 << ADXL345_RATE_L) |
#define | ADXL345_ODR_1HZ56 (0x4 << ADXL345_RATE_L) |
#define | ADXL345_ODR_3HZ13 (0x5 << ADXL345_RATE_L) |
#define | ADXL345_ODR_6HZ25 (0x6 << ADXL345_RATE_L) |
#define | ADXL345_ODR_12HZ5 (0x7 << ADXL345_RATE_L) |
#define | ADXL345_ODR_25HZ (0x8 << ADXL345_RATE_L) |
#define | ADXL345_ODR_50HZ (0x9 << ADXL345_RATE_L) |
#define | ADXL345_ODR_100HZ (0xA << ADXL345_RATE_L) |
#define | ADXL345_ODR_200HZ (0xB << ADXL345_RATE_L) |
#define | ADXL345_ODR_400HZ (0xC << ADXL345_RATE_L) |
#define | ADXL345_ODR_800HZ (0xD << ADXL345_RATE_L) |
#define | ADXL345_ODR_1600HZ (0xE << ADXL345_RATE_L) |
#define | ADXL345_ODR_3200HZ (0xF << ADXL345_RATE_L) |
All registers are named ADXL345_name_REG
where name is the name of the register as described in the sensors datasheet.
All bit positions are named ADXL345_name
for single bit entries and ADXL345_name_L for multiple bit entries, where the position always means the entries LSB.
#define ADXL345_BW_RATE_REG 0x2C |
ADXL Data Rate and Power Mode Control Register.
Definition at line 77 of file adxl345.h.
Referenced by adxl345_init(), and adxl345_set_data_rate().
#define ADXL345_CS 2 |
SPI device order. The chip select number where the ADXL345 is connected to the BCD-decimal decoder
Definition at line 69 of file adxl345.h.
Referenced by adxl345_available(), adxl345_get(), adxl345_read(), and adxl345_write().
#define ADXL345_DATA_FORMAT_REG 0x31 |
ADXL Data Format Register Register.
Definition at line 103 of file adxl345.h.
Referenced by adxl345_init(), and adxl345_set_g_range().
#define ADXL345_FULL_RES 3 |
#define ADXL345_MEASURE 3 |
Measure bit pos.
Definition at line 93 of file adxl345.h.
Referenced by adxl345_init(), and adxl345_set_powermode().
#define ADXL345_POWER_CTL_REG 0x2D |
ADXL Power Control Register.
Definition at line 87 of file adxl345.h.
Referenced by adxl345_init(), and adxl345_set_powermode().
#define ADXL345_SLEEP 2 |
#define ADXL345_WAKEUP_L 0 |
Wakeup bits [2] LSB pos.
Definition at line 97 of file adxl345.h.
Referenced by adxl345_set_powermode().
int8_t adxl345_available | ( | void | ) |
Checks if ADXL345 is available.
1 | available |
0 | not availabe |
Definition at line 57 of file adxl345.c.
References ADXL345_CS, ADXL345_DEVICE_ID_REG, adxl345_read(), MSPI_BAUD_MAX, mspi_chip_release(), mspi_init(), and MSPI_MODE_3.
Referenced by adxl345_init().
void adxl345_deinit | ( | void | ) |
Deinitilizes the ADX345 accelerometer.
I.e. sets it in standby mode.
Definition at line 93 of file adxl345.c.
References adxl345_set_powermode().
acc_data_t adxl345_get | ( | void | ) |
This function returns the current measured acceleration of all axis (x,y,z)
Definition at line 180 of file adxl345.c.
References ADXL345_CS, ADXL345_OUTX_LOW_REG, mspi_chip_release(), mspi_chip_select(), and mspi_transceive().
uint8_t adxl345_get_fifo_level | ( | ) |
Returns the current fill level of the internal FIFO (when operating in FIFO/Stream mode).
Definition at line 143 of file adxl345.c.
References ADXL345_FIFO_STATUS_REG, and adxl345_read().
int16_t adxl345_get_x | ( | void | ) |
This function returns the current measured acceleration at the x-axis of the adxl345.
Definition at line 149 of file adxl345.c.
References ADXL345_OUTX_HIGH_REG, ADXL345_OUTX_LOW_REG, and adxl345_read().
int16_t adxl345_get_y | ( | void | ) |
This function returns the current measured acceleration at the y-axis of the adxl345.
Definition at line 160 of file adxl345.c.
References ADXL345_OUTY_HIGH_REG, ADXL345_OUTY_LOW_REG, and adxl345_read().
int16_t adxl345_get_z | ( | void | ) |
This function returns the current measured acceleration at the z-axis of the adxl345.
Definition at line 170 of file adxl345.c.
References ADXL345_OUTZ_HIGH_REG, ADXL345_OUTZ_LOW_REG, and adxl345_read().
int8_t adxl345_init | ( | void | ) |
Initialize the ADXL345 accelerometer.
Default settings are: TODO
0 | Initialization succeeded |
-1 | Initialization failed |
Definition at line 74 of file adxl345.c.
References adxl345_available(), ADXL345_BW_RATE_REG, ADXL345_DATA_FORMAT_REG, ADXL345_FULL_RES, ADXL345_MEASURE, ADXL345_POWER_CTL_REG, and adxl345_write().
uint8_t adxl345_read | ( | uint8_t | reg | ) |
This function reads from the given register of the ADXL345.
reg | The register address |
Definition at line 224 of file adxl345.c.
References ADXL345_CS, mspi_chip_release(), mspi_chip_select(), and mspi_transceive().
Referenced by adxl345_available(), adxl345_get_fifo_level(), adxl345_get_x(), adxl345_get_y(), adxl345_get_z(), adxl345_set_data_rate(), adxl345_set_fifomode(), adxl345_set_g_range(), and adxl345_set_powermode().
int8_t adxl345_ready | ( | void | ) |
Checks whether the device is ready or not by reading the ID.
1 | ready |
0 | not ready |
void adxl345_set_data_rate | ( | uint8_t | rate | ) |
rate |
Definition at line 107 of file adxl345.c.
References ADXL345_BW_RATE_REG, adxl345_read(), and adxl345_write().
void adxl345_set_fifomode | ( | uint8_t | mode | ) |
mode | One of ADXL345_MODE_BYPASS, ADXL345_MODE_FIFO, ADXL345_MODE_STREAM, ADXL345_MODE_TRIGGER |
Definition at line 114 of file adxl345.c.
References ADXL345_FIFO_CTL_REG, adxl345_read(), and adxl345_write().
void adxl345_set_g_range | ( | uint8_t | range | ) |
range |
Definition at line 100 of file adxl345.c.
References ADXL345_DATA_FORMAT_REG, adxl345_read(), and adxl345_write().
void adxl345_set_powermode | ( | uint8_t | mode | ) |
mode | One of ADXL345_PMODE_SLEEP, ADXL345_PMODE_WAKEUP, ADXL345_PMODE_STANDBY |
Definition at line 121 of file adxl345.c.
References ADXL345_MEASURE, ADXL345_POWER_CTL_REG, adxl345_read(), ADXL345_SLEEP, ADXL345_WAKEUP_L, and adxl345_write().
Referenced by adxl345_deinit().
void adxl345_write | ( | uint8_t | reg, |
uint8_t | data | ||
) |
This function writes data to the given register of the ADXL345.
reg | The register address |
data | The data value |
Definition at line 214 of file adxl345.c.
References ADXL345_CS, mspi_chip_release(), mspi_chip_select(), and mspi_transceive().
Referenced by adxl345_init(), adxl345_set_data_rate(), adxl345_set_fifomode(), adxl345_set_g_range(), and adxl345_set_powermode().