![]() |
LibDriver L3GD20H
|
driver l3gd20h source file More...
#include "driver_l3gd20h.h"Go to the source code of this file.
Functions | |
| 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_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_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_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_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_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_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_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_read_temperature (l3gd20h_handle_t *handle, int8_t *raw, float *temp) |
| read the temperature | |
| uint8_t | l3gd20h_get_status (l3gd20h_handle_t *handle, uint8_t *status) |
| get the chip 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_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_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_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_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_irq_handler (l3gd20h_handle_t *handle, uint8_t num) |
| interrupt handler | |
| 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_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 | |
| uint8_t | l3gd20h_info (l3gd20h_info_t *info) |
| get chip's information | |
driver l3gd20h source 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.c.
| #define CHIP_NAME "STMicroelectronic L3GD20H" |
| #define DRIVER_VERSION 2000 |
driver version
Definition at line 50 of file driver_l3gd20h.c.
| #define L3GD20H_REG_CTRL1 0x20 |
control 1 register
Definition at line 56 of file driver_l3gd20h.c.
| #define L3GD20H_REG_CTRL2 0x21 |
control 2 register
Definition at line 57 of file driver_l3gd20h.c.
| #define L3GD20H_REG_CTRL3 0x22 |
control 3 register
Definition at line 58 of file driver_l3gd20h.c.
| #define L3GD20H_REG_CTRL4 0x23 |
control 4 register
Definition at line 59 of file driver_l3gd20h.c.
| #define L3GD20H_REG_CTRL5 0x24 |
control 5 register
Definition at line 60 of file driver_l3gd20h.c.
| #define L3GD20H_REG_FIFO_CTRL 0x2E |
fifo control register
Definition at line 70 of file driver_l3gd20h.c.
| #define L3GD20H_REG_FIFO_SRC 0x2F |
fifo source register
Definition at line 71 of file driver_l3gd20h.c.
| #define L3GD20H_REG_IG_CFG 0x30 |
interrupt configure register
Definition at line 72 of file driver_l3gd20h.c.
| #define L3GD20H_REG_IG_DURATION 0x38 |
interrupt duration register
Definition at line 80 of file driver_l3gd20h.c.
| #define L3GD20H_REG_IG_SRC 0x31 |
interrupt source register
Definition at line 73 of file driver_l3gd20h.c.
| #define L3GD20H_REG_IG_THS_XH 0x32 |
threshold x high register
Definition at line 74 of file driver_l3gd20h.c.
| #define L3GD20H_REG_IG_THS_XL 0x33 |
threshold x low register
Definition at line 75 of file driver_l3gd20h.c.
| #define L3GD20H_REG_IG_THS_YH 0x34 |
threshold y high register
Definition at line 76 of file driver_l3gd20h.c.
| #define L3GD20H_REG_IG_THS_YL 0x35 |
threshold y low register
Definition at line 77 of file driver_l3gd20h.c.
| #define L3GD20H_REG_IG_THS_ZH 0x36 |
threshold z high register
Definition at line 78 of file driver_l3gd20h.c.
| #define L3GD20H_REG_IG_THS_ZL 0x37 |
threshold z low register
Definition at line 79 of file driver_l3gd20h.c.
| #define L3GD20H_REG_LOW_ODR 0x39 |
low power output data rate register
Definition at line 81 of file driver_l3gd20h.c.
| #define L3GD20H_REG_OUT_TEMP 0x26 |
output temperature register
Definition at line 62 of file driver_l3gd20h.c.
| #define L3GD20H_REG_OUT_X_H 0x29 |
out x high register
Definition at line 65 of file driver_l3gd20h.c.
| #define L3GD20H_REG_OUT_X_L 0x28 |
out x low register
Definition at line 64 of file driver_l3gd20h.c.
| #define L3GD20H_REG_OUT_Y_H 0x2B |
out y high register
Definition at line 67 of file driver_l3gd20h.c.
| #define L3GD20H_REG_OUT_Y_L 0x2A |
out y low register
Definition at line 66 of file driver_l3gd20h.c.
| #define L3GD20H_REG_OUT_Z_H 0x2D |
out z high register
Definition at line 69 of file driver_l3gd20h.c.
| #define L3GD20H_REG_OUT_Z_L 0x2C |
out z low register
Definition at line 68 of file driver_l3gd20h.c.
| #define L3GD20H_REG_REFERENCE 0x25 |
reference register
Definition at line 61 of file driver_l3gd20h.c.
| #define L3GD20H_REG_STATUS 0x27 |
status register
Definition at line 63 of file driver_l3gd20h.c.
| #define L3GD20H_REG_WHO_AM_I 0x0F |
| #define MANUFACTURER_NAME "STMicroelectronic" |
manufacturer name
Definition at line 44 of file driver_l3gd20h.c.
| #define MAX_CURRENT 5.0f |
chip max current
Definition at line 47 of file driver_l3gd20h.c.
| #define SUPPLY_VOLTAGE_MAX 3.6f |
chip max supply voltage
Definition at line 46 of file driver_l3gd20h.c.
| #define SUPPLY_VOLTAGE_MIN 2.2f |
chip min supply voltage
Definition at line 45 of file driver_l3gd20h.c.
| #define TEMPERATURE_MAX 85.0f |
chip max operating temperature
Definition at line 49 of file driver_l3gd20h.c.
| #define TEMPERATURE_MIN -40.0f |
chip min operating temperature
Definition at line 48 of file driver_l3gd20h.c.