l3gx: Driver for L3Gx(L3GD20/L3G4200D) 3-axis gyroscope sensors
Enums
- enum l3gx_sensor_type_t
Sensor type.
Values:
- enumerator L3GX_TYPE_L3G4200D
- enumerator L3GX_TYPE_L3GD20
- enumerator L3GX_TYPE_UNKNOWN
- enum l3gx_scale_t
Scales.
Values:
- enumerator L3GX_SCALE_250
- enumerator L3GX_SCALE_500
- enumerator L3GX_SCALE_2000
- 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
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.
Public Members
- i2c_dev_t i2c_dev
- l3gx_sensor_type_t sensor_type
- l3gx_scale_t scale
- l3gx_drbw_t datarate_bandwith