41 static void (*a_callback)(float (*g)[3], uint16_t len) = NULL;
42 static int16_t gs_raw[32][3];
43 static float gs_data[32][3];
69 static void a_adxl345_fifo_receive_callback(uint8_t type)
78 if (
adxl345_read(&gs_handle, (int16_t (*)[3])gs_raw, (
float (*)[3])gs_data, (uint16_t *)&len) != 0)
84 if (a_callback != NULL)
86 a_callback(gs_data, len);
109 void (*callback)(
float (*g)[3], uint16_t len))
761 if (
adxl345_read(&gs_handle, (int16_t (*)[3])gs_raw, (
float (*)[3])gs_data, (uint16_t *)&len) != 0)
769 a_callback = callback;
driver adxl345 fifo header file
adxl345_interface_t
adxl345 interface enumeration definition
uint8_t adxl345_inaction_time_convert_to_register(adxl345_handle_t *handle, uint8_t s, uint8_t *reg)
convert the inaction time to the register raw data
uint8_t adxl345_duration_convert_to_register(adxl345_handle_t *handle, uint32_t us, uint8_t *reg)
convert the duration to the register raw data
uint8_t adxl345_inaction_threshold_convert_to_register(adxl345_handle_t *handle, float g, uint8_t *reg)
convert the inaction threshold to the register raw data
uint8_t adxl345_set_full_resolution(adxl345_handle_t *handle, adxl345_bool_t enable)
enable or disable the full resolution
uint8_t adxl345_set_inaction_time(adxl345_handle_t *handle, uint8_t t)
set the inaction time
uint8_t adxl345_deinit(adxl345_handle_t *handle)
close the chip
uint8_t adxl345_set_inaction_coupled(adxl345_handle_t *handle, adxl345_coupled_t coupled)
set the inaction coupled
uint8_t adxl345_set_spi_wire(adxl345_handle_t *handle, adxl345_spi_wire_t wire)
set the chip spi wire
uint8_t adxl345_set_measure(adxl345_handle_t *handle, adxl345_bool_t enable)
enable or disable the measure
uint8_t adxl345_set_trigger_pin(adxl345_handle_t *handle, adxl345_interrupt_pin_t pin)
set the trigger pin
uint8_t adxl345_irq_handler(adxl345_handle_t *handle)
irq handler
uint8_t adxl345_set_link_activity_inactivity(adxl345_handle_t *handle, adxl345_bool_t enable)
enable or disable the activity and inactivity linking
uint8_t adxl345_set_action_threshold(adxl345_handle_t *handle, uint8_t threshold)
set the action threshold
uint8_t adxl345_set_free_fall_threshold(adxl345_handle_t *handle, uint8_t threshold)
set the free fall threshold
uint8_t adxl345_set_sleep(adxl345_handle_t *handle, adxl345_bool_t enable)
enable or disable the sleep mode
uint8_t adxl345_read(adxl345_handle_t *handle, int16_t(*raw)[3], float(*g)[3], uint16_t *len)
read the data
uint8_t adxl345_set_offset(adxl345_handle_t *handle, int8_t x, int8_t y, int8_t z)
set the axis offset
uint8_t adxl345_set_latent(adxl345_handle_t *handle, uint8_t t)
set the latent
uint8_t adxl345_set_rate(adxl345_handle_t *handle, adxl345_rate_t rate)
set the sampling rate
uint8_t adxl345_set_inaction_threshold(adxl345_handle_t *handle, uint8_t threshold)
set the inaction threshold
uint8_t adxl345_set_addr_pin(adxl345_handle_t *handle, adxl345_address_t addr_pin)
set the iic address pin
uint8_t adxl345_free_fall_time_convert_to_register(adxl345_handle_t *handle, uint16_t ms, uint8_t *reg)
convert the free fall time to the register raw data
uint8_t adxl345_set_action_inaction(adxl345_handle_t *handle, adxl345_action_inaction_t type, adxl345_bool_t enable)
enable or disable the action or inaction
uint8_t adxl345_free_fall_threshold_convert_to_register(adxl345_handle_t *handle, float g, uint8_t *reg)
convert the free fall threshold to the register raw data
uint8_t adxl345_window_convert_to_register(adxl345_handle_t *handle, float ms, uint8_t *reg)
convert the window time to the register raw data
uint8_t adxl345_set_duration(adxl345_handle_t *handle, uint8_t t)
set the duration
uint8_t adxl345_tap_threshold_convert_to_register(adxl345_handle_t *handle, float g, uint8_t *reg)
convert the tap threshold to the register raw data
uint8_t adxl345_set_tap_suppress(adxl345_handle_t *handle, adxl345_bool_t enable)
enable or disable the tap suppress
uint8_t adxl345_set_auto_sleep(adxl345_handle_t *handle, adxl345_bool_t enable)
enable or disable the auto sleep
uint8_t adxl345_set_tap_axis(adxl345_handle_t *handle, adxl345_tap_axis_t axis, adxl345_bool_t enable)
enable or disable the tap axis
uint8_t adxl345_set_free_fall_time(adxl345_handle_t *handle, uint8_t t)
set the free fall time
uint8_t adxl345_set_window(adxl345_handle_t *handle, uint8_t t)
set the window
uint8_t adxl345_action_threshold_convert_to_register(adxl345_handle_t *handle, float g, uint8_t *reg)
convert the action threshold to the register raw data
uint8_t adxl345_set_sleep_frequency(adxl345_handle_t *handle, adxl345_sleep_frequency_t sleep_frequency)
set the sleep frequency
adxl345_address_t
adxl345 address enumeration definition
uint8_t adxl345_latent_convert_to_register(adxl345_handle_t *handle, float ms, uint8_t *reg)
convert the latent to the register raw data
uint8_t adxl345_offset_convert_to_register(adxl345_handle_t *handle, float g, int8_t *reg)
convert the offset to the register raw data
uint8_t adxl345_init(adxl345_handle_t *handle)
initialize the chip
uint8_t adxl345_set_action_coupled(adxl345_handle_t *handle, adxl345_coupled_t coupled)
set the action coupled
uint8_t adxl345_set_justify(adxl345_handle_t *handle, adxl345_justify_t enable)
enable or disable the justify
uint8_t adxl345_set_interface(adxl345_handle_t *handle, adxl345_interface_t interface)
set the chip interface
uint8_t adxl345_set_mode(adxl345_handle_t *handle, adxl345_mode_t mode)
set the chip mode
uint8_t adxl345_set_tap_threshold(adxl345_handle_t *handle, uint8_t threshold)
set the tap threshold
uint8_t adxl345_set_range(adxl345_handle_t *handle, adxl345_range_t range)
set the chip range
#define ADXL345_FIFO_DEFAULT_AUTO_SLEEP
#define ADXL345_FIFO_DEFAULT_RATE
adxl345 fifo example default definition
#define ADXL345_FIFO_DEFAULT_INTERRUPT_DATA_READY
#define ADXL345_FIFO_DEFAULT_TAP_THRESHOLD
#define ADXL345_FIFO_DEFAULT_TAP_SUPPRESS
#define ADXL345_FIFO_DEFAULT_INTERRUPT_INACTIVITY_MAP
#define ADXL345_FIFO_DEFAULT_INACTION_COUPLED
#define ADXL345_FIFO_DEFAULT_INTERRUPT_DATA_READY_MAP
#define ADXL345_FIFO_DEFAULT_WINDOW
#define ADXL345_FIFO_DEFAULT_RANGE
#define ADXL345_FIFO_DEFAULT_WATERMARK
#define ADXL345_FIFO_DEFAULT_INTERRUPT_WATERMARK_MAP
#define ADXL345_FIFO_DEFAULT_FULL_RESOLUTION
#define ADXL345_FIFO_DEFAULT_SLEEP
uint8_t adxl345_fifo_irq_handler(void)
fifo irq
uint8_t adxl345_fifo_init(adxl345_interface_t interface, adxl345_address_t addr_pin, void(*callback)(float(*g)[3], uint16_t len))
fifo example init
uint8_t adxl345_fifo_deinit(void)
fifo example deinit
#define ADXL345_FIFO_DEFAULT_DURATION
#define ADXL345_FIFO_DEFAULT_SPI_WIRE
#define ADXL345_FIFO_DEFAULT_INTERRUPT_OVERRUN_MAP
#define ADXL345_FIFO_DEFAULT_JUSTIFY
#define ADXL345_FIFO_DEFAULT_ACTION_COUPLED
#define ADXL345_FIFO_DEFAULT_INTERRUPT_FREE_FALL_MAP
#define ADXL345_FIFO_DEFAULT_INTERRUPT_ACTIVITY_MAP
#define ADXL345_FIFO_DEFAULT_ACTION_THRESHOLD
#define ADXL345_FIFO_DEFAULT_INTERRUPT_DOUBLE_TAP_MAP
#define ADXL345_FIFO_DEFAULT_INACTION_THRESHOLD
#define ADXL345_FIFO_DEFAULT_INTERRUPT_ACTIVE_LEVEL
#define ADXL345_FIFO_DEFAULT_OFFSET
#define ADXL345_FIFO_DEFAULT_LATENT
#define ADXL345_FIFO_DEFAULT_INACTION_TIME
#define ADXL345_FIFO_DEFAULT_TRIGGER_PIN
#define ADXL345_FIFO_DEFAULT_SLEEP_FREQUENCY
#define ADXL345_FIFO_DEFAULT_LINK_ACTIVITY_INACTIVITY
#define ADXL345_FIFO_DEFAULT_FREE_FALL_TIME
#define ADXL345_FIFO_DEFAULT_FREE_FALL_THRESHOLD
#define ADXL345_FIFO_DEFAULT_INTERRUPT_SINGLE_TAP_MAP
uint8_t adxl345_get_watermark_level(adxl345_handle_t *handle, uint8_t *level)
get the current fifo watermark level
uint8_t adxl345_set_watermark(adxl345_handle_t *handle, uint8_t level)
set the fifo watermark
uint8_t adxl345_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
uint8_t adxl345_interface_spi_deinit(void)
interface spi bus deinit
uint8_t adxl345_interface_iic_deinit(void)
interface iic bus deinit
uint8_t adxl345_interface_spi_read(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus read
uint8_t adxl345_interface_iic_init(void)
interface iic bus init
uint8_t adxl345_interface_spi_init(void)
interface spi bus init
uint8_t adxl345_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
void adxl345_interface_delay_ms(uint32_t ms)
interface delay ms
void adxl345_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t adxl345_interface_spi_write(uint8_t reg, uint8_t *buf, uint16_t len)
interface spi bus write
uint8_t adxl345_get_interrupt_source(adxl345_handle_t *handle, uint8_t *source)
get the interrupt source
uint8_t adxl345_set_interrupt(adxl345_handle_t *handle, adxl345_interrupt_t type, adxl345_bool_t enable)
enable or disable the interrupt
uint8_t adxl345_set_interrupt_map(adxl345_handle_t *handle, adxl345_interrupt_t type, adxl345_interrupt_pin_t pin)
set the interrupt map
uint8_t adxl345_set_interrupt_active_level(adxl345_handle_t *handle, adxl345_interrupt_active_level_t active_level)
set the interrupt active level
@ ADXL345_INTERRUPT_DATA_READY
@ ADXL345_INTERRUPT_DOUBLE_TAP
@ ADXL345_INTERRUPT_ACTIVITY
@ ADXL345_INTERRUPT_SINGLE_TAP
@ ADXL345_INTERRUPT_INACTIVITY
@ ADXL345_INTERRUPT_WATERMARK
@ ADXL345_INTERRUPT_OVERRUN
@ ADXL345_INTERRUPT_FREE_FALL
#define DRIVER_ADXL345_LINK_SPI_WRITE(HANDLE, FUC)
link spi_write function
#define DRIVER_ADXL345_LINK_SPI_READ(HANDLE, FUC)
link spi_read function
#define DRIVER_ADXL345_LINK_RECEIVE_CALLBACK(HANDLE, FUC)
link receive_callback function
#define DRIVER_ADXL345_LINK_SPI_DEINIT(HANDLE, FUC)
link spi_deinit function
#define DRIVER_ADXL345_LINK_IIC_INIT(HANDLE, FUC)
link iic_init function
#define DRIVER_ADXL345_LINK_INIT(HANDLE, STRUCTURE)
initialize adxl345_handle_t structure
#define DRIVER_ADXL345_LINK_IIC_DEINIT(HANDLE, FUC)
link iic_deinit function
#define DRIVER_ADXL345_LINK_SPI_INIT(HANDLE, FUC)
link spi_init function
#define DRIVER_ADXL345_LINK_DEBUG_PRINT(HANDLE, FUC)
link debug_print function
#define DRIVER_ADXL345_LINK_DELAY_MS(HANDLE, FUC)
link delay_ms function
#define DRIVER_ADXL345_LINK_IIC_WRITE(HANDLE, FUC)
link iic_write function
#define DRIVER_ADXL345_LINK_IIC_READ(HANDLE, FUC)
link iic_read function
adxl345 handle structure definition