![]() |
LibDriver L3GD20H
|
driver l3gd20h header file More...
#include <stdint.h>#include <stdio.h>#include <string.h>Go to the source code of this file.
Data Structures | |
| struct | l3gd20h_handle_s |
| l3gd20h handle structure definition More... | |
| struct | l3gd20h_info_s |
| l3gd20h information structure definition More... | |
Macros | |
| #define | DRIVER_L3GD20H_LINK_INIT(HANDLE, STRUCTURE) |
| initialize l3gd20h_handle_t structure | |
| #define | DRIVER_L3GD20H_LINK_IIC_INIT(HANDLE, FUC) |
| link iic_init function | |
| #define | DRIVER_L3GD20H_LINK_IIC_DEINIT(HANDLE, FUC) |
| link iic_deinit function | |
| #define | DRIVER_L3GD20H_LINK_IIC_READ(HANDLE, FUC) |
| link iic_read function | |
| #define | DRIVER_L3GD20H_LINK_IIC_WRITE(HANDLE, FUC) |
| link iic_write function | |
| #define | DRIVER_L3GD20H_LINK_SPI_INIT(HANDLE, FUC) |
| link spi_init function | |
| #define | DRIVER_L3GD20H_LINK_SPI_DEINIT(HANDLE, FUC) |
| link spi_deinit function | |
| #define | DRIVER_L3GD20H_LINK_SPI_READ(HANDLE, FUC) |
| link spi_read function | |
| #define | DRIVER_L3GD20H_LINK_SPI_WRITE(HANDLE, FUC) |
| link spi_write function | |
| #define | DRIVER_L3GD20H_LINK_DELAY_MS(HANDLE, FUC) |
| link delay_ms function | |
| #define | DRIVER_L3GD20H_LINK_DEBUG_PRINT(HANDLE, FUC) |
| link debug_print function | |
| #define | DRIVER_L3GD20H_LINK_RECEIVE_CALLBACK(HANDLE, FUC) |
| link receive_callback function | |
Typedefs | |
| typedef struct l3gd20h_handle_s | l3gd20h_handle_t |
| l3gd20h handle structure definition | |
| typedef struct l3gd20h_info_s | l3gd20h_info_t |
| l3gd20h information structure definition | |
Functions | |
| uint8_t | l3gd20h_info (l3gd20h_info_t *info) |
| get chip's information | |
| uint8_t | l3gd20h_set_interface (l3gd20h_handle_t *handle, l3gd20h_interface_t interface) |
| set the chip interface | |
| uint8_t | l3gd20h_get_interface (l3gd20h_handle_t *handle, l3gd20h_interface_t *interface) |
| get the chip interface | |
| uint8_t | l3gd20h_set_addr_pin (l3gd20h_handle_t *handle, l3gd20h_address_t addr_pin) |
| set the iic address pin | |
| uint8_t | l3gd20h_get_addr_pin (l3gd20h_handle_t *handle, l3gd20h_address_t *addr_pin) |
| get the iic address pin | |
| uint8_t | l3gd20h_init (l3gd20h_handle_t *handle) |
| initialize the chip | |
| uint8_t | l3gd20h_deinit (l3gd20h_handle_t *handle) |
| close the chip | |
| uint8_t | l3gd20h_read (l3gd20h_handle_t *handle, int16_t(*raw)[3], float(*dps)[3], uint16_t *len) |
| read the data | |
| uint8_t | l3gd20h_irq_handler (l3gd20h_handle_t *handle, uint8_t num) |
| interrupt handler | |
| uint8_t | l3gd20h_read_temperature (l3gd20h_handle_t *handle, int8_t *raw, float *temp) |
| read the temperature | |
| uint8_t | l3gd20h_set_mode (l3gd20h_handle_t *handle, l3gd20h_mode_t mode) |
| set the chip mode | |
| uint8_t | l3gd20h_get_mode (l3gd20h_handle_t *handle, l3gd20h_mode_t *mode) |
| get the chip mode | |
| uint8_t | l3gd20h_set_axis (l3gd20h_handle_t *handle, l3gd20h_axis_t axis, l3gd20h_bool_t enable) |
| set the axis | |
| uint8_t | l3gd20h_get_axis (l3gd20h_handle_t *handle, l3gd20h_axis_t axis, l3gd20h_bool_t *enable) |
| get the axis | |
| uint8_t | l3gd20h_set_rate_bandwidth (l3gd20h_handle_t *handle, l3gd20h_lodr_odr_bw_t rate_bandwidth) |
| set the rate bandwidth | |
| uint8_t | l3gd20h_get_rate_bandwidth (l3gd20h_handle_t *handle, l3gd20h_lodr_odr_bw_t *rate_bandwidth) |
| get the rate bandwidth | |
| uint8_t | l3gd20h_set_edge_trigger (l3gd20h_handle_t *handle, l3gd20h_bool_t enable) |
| enable or disable the edge trigger | |
| uint8_t | l3gd20h_get_edge_trigger (l3gd20h_handle_t *handle, l3gd20h_bool_t *enable) |
| get the edge trigger status | |
| uint8_t | l3gd20h_set_level_trigger (l3gd20h_handle_t *handle, l3gd20h_bool_t enable) |
| enable or disable the level trigger | |
| uint8_t | l3gd20h_get_level_trigger (l3gd20h_handle_t *handle, l3gd20h_bool_t *enable) |
| get the level trigger status | |
| uint8_t | l3gd20h_set_high_pass_filter_mode (l3gd20h_handle_t *handle, l3gd20h_high_pass_filter_mode_t mode) |
| set the high pass filter mode | |
| uint8_t | l3gd20h_get_high_pass_filter_mode (l3gd20h_handle_t *handle, l3gd20h_high_pass_filter_mode_t *mode) |
| get the high pass filter mode | |
| uint8_t | l3gd20h_set_high_pass_filter_cut_off_frequency (l3gd20h_handle_t *handle, l3gd20h_high_pass_filter_cut_off_frequency_t frequency) |
| set the high pass filter cut off frequency | |
| uint8_t | l3gd20h_get_high_pass_filter_cut_off_frequency (l3gd20h_handle_t *handle, l3gd20h_high_pass_filter_cut_off_frequency_t *frequency) |
| get the high pass filter cut off frequency | |
| uint8_t | l3gd20h_set_block_data_update (l3gd20h_handle_t *handle, l3gd20h_bool_t enable) |
| enable or disable the block data update | |
| uint8_t | l3gd20h_get_block_data_update (l3gd20h_handle_t *handle, l3gd20h_bool_t *enable) |
| get the block data update status | |
| uint8_t | l3gd20h_set_data_format (l3gd20h_handle_t *handle, l3gd20h_data_format_t data_format) |
| set the data format | |
| uint8_t | l3gd20h_get_data_format (l3gd20h_handle_t *handle, l3gd20h_data_format_t *data_format) |
| get the data format | |
| uint8_t | l3gd20h_set_full_scale (l3gd20h_handle_t *handle, l3gd20h_full_scale_t full_scale) |
| set the full scale | |
| uint8_t | l3gd20h_get_full_scale (l3gd20h_handle_t *handle, l3gd20h_full_scale_t *full_scale) |
| get the full scale | |
| uint8_t | l3gd20h_set_level_sensitive_latched (l3gd20h_handle_t *handle, l3gd20h_bool_t enable) |
| enable or disable the level sensitive latched | |
| uint8_t | l3gd20h_get_level_sensitive_latched (l3gd20h_handle_t *handle, l3gd20h_bool_t *enable) |
| get the level sensitive latched status | |
| uint8_t | l3gd20h_set_self_test (l3gd20h_handle_t *handle, l3gd20h_self_test_t self_test) |
| set the self test | |
| uint8_t | l3gd20h_get_self_test (l3gd20h_handle_t *handle, l3gd20h_self_test_t *self_test) |
| get the self test | |
| uint8_t | l3gd20h_set_spi_wire (l3gd20h_handle_t *handle, l3gd20h_spi_wire_t spi_wire) |
| set the spi wire | |
| uint8_t | l3gd20h_get_spi_wire (l3gd20h_handle_t *handle, l3gd20h_spi_wire_t *spi_wire) |
| get the spi wire | |
| uint8_t | l3gd20h_set_boot (l3gd20h_handle_t *handle, l3gd20h_boot_t boot) |
| set the boot | |
| uint8_t | l3gd20h_get_boot (l3gd20h_handle_t *handle, l3gd20h_boot_t *boot) |
| get the boot | |
| uint8_t | l3gd20h_set_high_pass_filter (l3gd20h_handle_t *handle, l3gd20h_bool_t enable) |
| enable or disable high pass filter | |
| uint8_t | l3gd20h_get_high_pass_filter (l3gd20h_handle_t *handle, l3gd20h_bool_t *enable) |
| get high pass filter status | |
| uint8_t | l3gd20h_set_out_selection (l3gd20h_handle_t *handle, l3gd20h_selection_t selection) |
| set the out selection | |
| uint8_t | l3gd20h_get_out_selection (l3gd20h_handle_t *handle, l3gd20h_selection_t *selection) |
| get the out selection | |
| uint8_t | l3gd20h_set_high_pass_filter_reference (l3gd20h_handle_t *handle, uint8_t value) |
| set the high pass filter reference | |
| uint8_t | l3gd20h_get_high_pass_filter_reference (l3gd20h_handle_t *handle, uint8_t *value) |
| get the high pass filter reference | |
| uint8_t | l3gd20h_get_status (l3gd20h_handle_t *handle, uint8_t *status) |
| get the chip status | |
| uint8_t | l3gd20h_set_iic (l3gd20h_handle_t *handle, l3gd20h_bool_t enable) |
| enable or disable the iic interface | |
| uint8_t | l3gd20h_get_iic (l3gd20h_handle_t *handle, l3gd20h_bool_t *enable) |
| get the iic interface status | |
| uint8_t | l3gd20h_soft_reset (l3gd20h_handle_t *handle) |
| soft reset the device | |
| uint8_t | l3gd20h_set_interrupt1 (l3gd20h_handle_t *handle, l3gd20h_bool_t enable) |
| enable or disable the interrupt1 | |
| uint8_t | l3gd20h_get_interrupt1 (l3gd20h_handle_t *handle, l3gd20h_bool_t *enable) |
| get the interrupt1 status | |
| uint8_t | l3gd20h_set_boot_on_interrupt1 (l3gd20h_handle_t *handle, l3gd20h_bool_t enable) |
| enable or disable boot on the interrupt1 | |
| uint8_t | l3gd20h_get_boot_on_interrupt1 (l3gd20h_handle_t *handle, l3gd20h_bool_t *enable) |
| get the boot on the interrupt1 status | |
| uint8_t | l3gd20h_set_interrupt_active_level (l3gd20h_handle_t *handle, l3gd20h_interrupt_active_level_t level) |
| set the interrupt active level | |
| uint8_t | l3gd20h_get_interrupt_active_level (l3gd20h_handle_t *handle, l3gd20h_interrupt_active_level_t *level) |
| get the interrupt active level | |
| uint8_t | l3gd20h_set_interrupt_pin_type (l3gd20h_handle_t *handle, l3gd20h_pin_type_t pin_type) |
| set the interrupt pin type | |
| uint8_t | l3gd20h_get_interrupt_pin_type (l3gd20h_handle_t *handle, l3gd20h_pin_type_t *pin_type) |
| get the interrupt pin type | |
| uint8_t | l3gd20h_set_data_ready_on_interrupt2 (l3gd20h_handle_t *handle, l3gd20h_bool_t enable) |
| enable or disable the data ready on interrupt2 | |
| uint8_t | l3gd20h_get_data_ready_on_interrupt2 (l3gd20h_handle_t *handle, l3gd20h_bool_t *enable) |
| get the data ready on interrupt2 status | |
| uint8_t | l3gd20h_set_fifo_threshold_on_interrupt2 (l3gd20h_handle_t *handle, l3gd20h_bool_t enable) |
| enable or disable the fifo threshold on interrupt2 | |
| uint8_t | l3gd20h_get_fifo_threshold_on_interrupt2 (l3gd20h_handle_t *handle, l3gd20h_bool_t *enable) |
| get the fifo threshold on interrupt2 status | |
| uint8_t | l3gd20h_set_fifo_overrun_on_interrupt2 (l3gd20h_handle_t *handle, l3gd20h_bool_t enable) |
| enable or disable the fifo overrun on interrupt2 | |
| uint8_t | l3gd20h_get_fifo_overrun_on_interrupt2 (l3gd20h_handle_t *handle, l3gd20h_bool_t *enable) |
| get the fifo overrun on interrupt2 status | |
| uint8_t | l3gd20h_set_fifo_empty_on_interrupt2 (l3gd20h_handle_t *handle, l3gd20h_bool_t enable) |
| enable or disable the fifo empty on interrupt2 | |
| uint8_t | l3gd20h_get_fifo_empty_on_interrupt2 (l3gd20h_handle_t *handle, l3gd20h_bool_t *enable) |
| get the fifo empty on interrupt2 status | |
| uint8_t | l3gd20h_set_interrupt_selection (l3gd20h_handle_t *handle, l3gd20h_selection_t selection) |
| set the interrupt selection | |
| uint8_t | l3gd20h_get_interrupt_selection (l3gd20h_handle_t *handle, l3gd20h_selection_t *selection) |
| get the interrupt selection | |
| uint8_t | l3gd20h_set_interrupt_event (l3gd20h_handle_t *handle, l3gd20h_interrupt_event_t interrupt_event, l3gd20h_bool_t enable) |
| set the interrupt event | |
| uint8_t | l3gd20h_get_interrupt_event (l3gd20h_handle_t *handle, l3gd20h_interrupt_event_t interrupt_event, l3gd20h_bool_t *enable) |
| get the interrupt event | |
| uint8_t | l3gd20h_get_interrupt_source (l3gd20h_handle_t *handle, uint8_t *src) |
| get the interrupt source | |
| uint8_t | l3gd20h_set_x_interrupt_threshold (l3gd20h_handle_t *handle, uint16_t threshold) |
| set the x interrupt threshold | |
| uint8_t | l3gd20h_get_x_interrupt_threshold (l3gd20h_handle_t *handle, uint16_t *threshold) |
| get the x interrupt threshold | |
| uint8_t | l3gd20h_set_y_interrupt_threshold (l3gd20h_handle_t *handle, uint16_t threshold) |
| set the y interrupt threshold | |
| uint8_t | l3gd20h_get_y_interrupt_threshold (l3gd20h_handle_t *handle, uint16_t *threshold) |
| get the y interrupt threshold | |
| uint8_t | l3gd20h_set_z_interrupt_threshold (l3gd20h_handle_t *handle, uint16_t threshold) |
| set the z interrupt threshold | |
| uint8_t | l3gd20h_get_z_interrupt_threshold (l3gd20h_handle_t *handle, uint16_t *threshold) |
| get the z interrupt threshold | |
| uint8_t | l3gd20h_interrupt_threshold_convert_to_register (l3gd20h_handle_t *handle, float dps, uint16_t *reg) |
| convert the interrupt threshold real data to the register raw data | |
| uint8_t | l3gd20h_interrupt_threshold_convert_to_data (l3gd20h_handle_t *handle, uint16_t reg, float *dps) |
| convert the interrupt threshold register raw data to the real data | |
| uint8_t | l3gd20h_set_counter_mode (l3gd20h_handle_t *handle, l3gd20h_counter_mode_t counter_mode) |
| set the counter mode | |
| uint8_t | l3gd20h_get_counter_mode (l3gd20h_handle_t *handle, l3gd20h_counter_mode_t *counter_mode) |
| get the counter mode | |
| uint8_t | l3gd20h_set_wait (l3gd20h_handle_t *handle, l3gd20h_bool_t enable) |
| enable or disable the wait | |
| uint8_t | l3gd20h_get_wait (l3gd20h_handle_t *handle, l3gd20h_bool_t *enable) |
| get the wait status | |
| uint8_t | l3gd20h_set_duration (l3gd20h_handle_t *handle, uint8_t duration) |
| set the wait duration | |
| uint8_t | l3gd20h_get_duration (l3gd20h_handle_t *handle, uint8_t *duration) |
| get the wait duration | |
| uint8_t | l3gd20h_set_data_ready_active_level (l3gd20h_handle_t *handle, l3gd20h_interrupt_active_level_t level) |
| set the data ready active level | |
| uint8_t | l3gd20h_get_data_ready_active_level (l3gd20h_handle_t *handle, l3gd20h_interrupt_active_level_t *level) |
| get the data ready active level | |
| uint8_t | l3gd20h_set_fifo (l3gd20h_handle_t *handle, l3gd20h_bool_t enable) |
| enable or disable the fifo | |
| uint8_t | l3gd20h_get_fifo (l3gd20h_handle_t *handle, l3gd20h_bool_t *enable) |
| get the fifo status | |
| uint8_t | l3gd20h_set_stop_on_fifo_threshold (l3gd20h_handle_t *handle, l3gd20h_bool_t enable) |
| enable or disable stop on fifo threshold | |
| uint8_t | l3gd20h_get_stop_on_fifo_threshold (l3gd20h_handle_t *handle, l3gd20h_bool_t *enable) |
| get stop on fifo threshold status | |
| uint8_t | l3gd20h_set_fifo_mode (l3gd20h_handle_t *handle, l3gd20h_fifo_mode_t fifo_mode) |
| set the fifo mode | |
| uint8_t | l3gd20h_get_fifo_mode (l3gd20h_handle_t *handle, l3gd20h_fifo_mode_t *fifo_mode) |
| get the fifo mode | |
| uint8_t | l3gd20h_set_fifo_threshold (l3gd20h_handle_t *handle, uint8_t threshold) |
| set the fifo threshold | |
| uint8_t | l3gd20h_get_fifo_threshold (l3gd20h_handle_t *handle, uint8_t *threshold) |
| get the fifo threshold | |
| uint8_t | l3gd20h_get_fifo_level (l3gd20h_handle_t *handle, uint8_t *level) |
| get the fifo level | |
| uint8_t | l3gd20h_set_reg (l3gd20h_handle_t *handle, uint8_t reg, uint8_t *buf, uint16_t len) |
| set the chip register | |
| uint8_t | l3gd20h_get_reg (l3gd20h_handle_t *handle, uint8_t reg, uint8_t *buf, uint16_t len) |
| get the chip register | |
driver l3gd20h header file
Copyright (c) 2015 - present LibDriver All rights reserved
The MIT License (MIT)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
| Date | Version | Author | Description |
|---|---|---|---|
| 2021/05/29 | 2.0 | Shifeng Li | format the code |
| 2020/12/26 | 1.0 | Shifeng Li | first upload |
Definition in file driver_l3gd20h.h.