l3gx - Driver for L3Gx(L3GD20/L3G4200D) 3-axis gyroscope sensors
- group l3gx
ESP-IDF Driver for L3GDx: L3G4200D and L3GD20 3-axis gyroscope sensors.
Copyright (c) 2023 Jakub Turek qb4.dev@gmail.com
BSD Licensed as described in the file LICENSE
Enums
-
enum l3gx_sensor_type_t
Sensor type.
Values:
-
enumerator L3GX_TYPE_L3G4200D
-
enumerator L3GX_TYPE_L3GD20
-
enumerator L3GX_TYPE_UNKNOWN
-
enumerator L3GX_TYPE_L3G4200D
-
enum l3gx_scale_t
Scales.
Values:
-
enumerator L3GX_SCALE_250
-
enumerator L3GX_SCALE_500
-
enumerator L3GX_SCALE_2000
-
enumerator L3GX_SCALE_250
-
enum l3gx_drbw_t
Data rates and bandwith.
Values:
-
enumerator L3GX_DRBW_100_125
-
enumerator L3GX_DRBW_100_25a
-
enumerator L3GX_DRBW_100_25b
-
enumerator L3GX_DRBW_100_25c
-
enumerator L3GX_DRBW_200_125
-
enumerator L3GX_DRBW_200_25
-
enumerator L3GX_DRBW_200_50
-
enumerator L3GX_DRBW_200_70
-
enumerator L3GX_DRBW_400_20
-
enumerator L3GX_DRBW_400_25
-
enumerator L3GX_DRBW_400_50
-
enumerator L3GX_DRBW_400_110
-
enumerator L3GX_DRBW_800_30
-
enumerator L3GX_DRBW_800_35
-
enumerator L3GX_DRBW_800_50
-
enumerator L3GX_DRBW_800_110
-
enumerator L3GX_DRBW_100_125
Functions
-
esp_err_t l3gx_init_desc(l3gx_t *dev, uint8_t addr, i2c_port_t port, gpio_num_t sda_gpio, gpio_num_t scl_gpio)
Initialize device descriptor.
- Parameters:
dev – Device descriptor
port – I2C port number
addr – I2C address
sda_gpio – SDA GPIO
scl_gpio – SCL GPIO
- Returns:
ESP_OK
on success
-
esp_err_t l3gx_free_desc(l3gx_t *dev)
Free device descriptor.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
-
esp_err_t l3gx_init(l3gx_t *dev)
Initialize device.
- Parameters:
dev – Device descriptor
- Returns:
ESP_OK
on success
-
esp_err_t l3gd20_get_chip_id(l3gx_t *dev, uint8_t *id)
Read chip ID.
- Parameters:
dev – Device descriptor
id – [out] Chip ID
- Returns:
ESP_OK
on success
-
esp_err_t l3gd20_set_scale(l3gx_t *dev, l3gx_scale_t scale)
Set scaling factor.
- Parameters:
dev – Device descriptor
scale – [in] Scale factor
- Returns:
ESP_OK
on success
-
esp_err_t l3gd20_set_datarate_and_bandwith(l3gx_t *dev, l3gx_drbw_t drbw)
Set data rate and bandwith.
- Parameters:
dev – Device descriptor
drbw – [in] Data rate and bandwidth setup
- Returns:
ESP_OK
on success
-
esp_err_t l3gx_data_ready(l3gx_t *dev, bool *ready)
Get gyro data state.
- Parameters:
dev – Device descriptor
ready – [out] Gyro data ready to read if true
- Returns:
ESP_OK
on success
-
esp_err_t l3gx_get_raw_data(l3gx_t *dev, l3gx_raw_data_t *raw)
Read raw gyro data.
- Parameters:
dev – Device descriptor
raw – [out] Raw gyro data
- Returns:
ESP_OK
on success
-
esp_err_t l3gd20_raw_to_dps(l3gx_t *dev, l3gx_raw_data_t *raw, l3gx_data_t *data)
Convert raw gyro data to dps [degrees per second].
- Parameters:
dev – Device descriptor
raw – [in] Raw gyro data
data – [out] Gyro data in dps
- Returns:
ESP_OK
on success
-
esp_err_t l3gx_get_data(l3gx_t *dev, l3gx_data_t *data)
Read gyro data in degrees per second.
- Parameters:
dev – Device descriptor
data – [out] Gyro data in dps
- Returns:
ESP_OK
on success
-
struct l3gx_raw_data_t
- #include <l3gx.h>
Raw measurement result.
-
struct l3gx_data_t
- #include <l3gx.h>
Measurement result, degrees per second.
-
struct l3gx_t
- #include <l3gx.h>
Device descriptor.
-
enum l3gx_sensor_type_t