ChibiOS 21.11.4
|
L3GD20 data structures and types. | |
enum | l3gd20_fs_t { L3GD20_FS_250DPS = 0x00 , L3GD20_FS_500DPS = 0x10 , L3GD20_FS_2000DPS = 0x20 } |
L3GD20 full scale. More... | |
enum | l3gd20_odr_t { L3GD20_ODR_95HZ = 0x00 , L3GD20_ODR_190HZ = 0x40 , L3GD20_ODR_380HZ = 0x80 , L3GD20_ODR_760HZ = 0xC0 } |
L3GD20 output data rate and bandwidth. More... | |
enum | l3gd20_bw_t { L3GD20_BW0 = 0x00 , L3GD20_BW1 = 0x40 , L3GD20_BW2 = 0x80 , L3GD20_BW3 = 0xC0 } |
L3GD20 low pass filter 1 bandwidth. More... | |
enum | l3gd20_bdu_t { L3GD20_BDU_CONTINUOUS = 0x00 , L3GD20_BDU_BLOCKED = 0x80 } |
L3GD20 block data update. More... | |
enum | l3gd20_hpm_t { L3GD20_HPM_NORMAL = 0x00 , L3GD20_HPM_REFERENCE = 0x10 , L3GD20_HPM_AUTORESET = 0x30 , L3GD20_HPM_BYPASSED = 0xFF } |
L3GD20 HP filter mode. More... | |
enum | l3gd20_hpcf_t { L3GD20_HPCF_0 = 0x00 , L3GD20_HPCF_1 = 0x01 , L3GD20_HPCF_2 = 0x02 , L3GD20_HPCF_3 = 0x03 , L3GD20_HPCF_4 = 0x04 , L3GD20_HPCF_5 = 0x05 , L3GD20_HPCF_6 = 0x06 , L3GD20_HPCF_7 = 0x07 , L3GD20_HPCF_8 = 0x08 , L3GD20_HPCF_9 = 0x09 } |
L3GD20 HP configuration. More... | |
enum | l3gd20_lp2m_t { L3GD20_LP2M_ON = 0x00 , L3GD20_LP2M_BYPASSED = 0xFF } |
L3GD20 LP2 filter mode. More... | |
enum | l3gd20_end_t { L3GD20_END_LITTLE = 0x00 , L3GD20_END_BIG = 0x40 } |
L3GD20 endianness. More... | |
enum | l3gd20_state_t { L3GD20_UNINIT = 0 , L3GD20_STOP = 1 , L3GD20_READY = 2 } |
Driver state machine possible states. More... | |
typedef struct L3GD20Driver | L3GD20Driver |
Structure representing a L3GD20 driver. | |
#define | _l3gd20_methods_alone |
L3GD20 specific methods. | |
#define | _l3gd20_methods |
L3GD20 specific methods with inherited ones. | |
#define | _l3gd20_data |
L3GD20Driver specific data. |
Version identification | |
#define | EX_L3GD20_VERSION "1.1.3" |
L3GD20 driver version string. | |
#define | EX_L3GD20_MAJOR 1 |
L3GD20 driver version major number. | |
#define | EX_L3GD20_MINOR 1 |
L3GD20 driver version minor number. | |
#define | EX_L3GD20_PATCH 3 |
L3GD20 driver version patch number. | |
#define | L3GD20_GYRO_NUMBER_OF_AXES 3U |
L3GD20 gyroscope system characteristics. | |
#define | L3GD20_250DPS 250.0f |
#define | L3GD20_500DPS 500.0f |
#define | L3GD20_2000DPS 2000.0f |
#define | L3GD20_GYRO_SENS_250DPS 0.00875f |
#define | L3GD20_GYRO_SENS_500DPS 0.01750f |
#define | L3GD20_GYRO_SENS_2000DPS 0.07000f |
#define | L3GD20_GYRO_BIAS 0.0f |
L3GD20 communication interfaces related bit masks | |
#define | L3GD20_DI_MASK 0xFF |
#define | L3GD20_DI(n) |
#define | L3GD20_AD_MASK 0x3F |
#define | L3GD20_AD(n) |
#define | L3GD20_MS (1 << 6) |
#define | L3GD20_RW (1 << 7) |
L3GD20 register addresses | |
#define | L3GD20_AD_WHO_AM_I 0x0F |
#define | L3GD20_AD_CTRL_REG1 0x20 |
#define | L3GD20_AD_CTRL_REG2 0x21 |
#define | L3GD20_AD_CTRL_REG3 0x22 |
#define | L3GD20_AD_CTRL_REG4 0x23 |
#define | L3GD20_AD_CTRL_REG5 0x24 |
#define | L3GD20_AD_REFERENCE 0x25 |
#define | L3GD20_AD_OUT_TEMP 0x26 |
#define | L3GD20_AD_STATUS_REG 0x27 |
#define | L3GD20_AD_OUT_X_L 0x28 |
#define | L3GD20_AD_OUT_X_H 0x29 |
#define | L3GD20_AD_OUT_Y_L 0x2A |
#define | L3GD20_AD_OUT_Y_H 0x2B |
#define | L3GD20_AD_OUT_Z_L 0x2C |
#define | L3GD20_AD_OUT_Z_H 0x2D |
#define | L3GD20_AD_FIFO_CTRL_REG 0x2E |
#define | L3GD20_AD_FIFO_SRC_REG 0x2F |
#define | L3GD20_AD_INT1_CFG 0x30 |
#define | L3GD20_AD_INT1_SRC 0x31 |
#define | L3GD20_AD_INT1_THS_XH 0x32 |
#define | L3GD20_AD_INT1_THS_XL 0x33 |
#define | L3GD20_AD_INT1_THS_YH 0x34 |
#define | L3GD20_AD_INT1_THS_YL 0x35 |
#define | L3GD20_AD_INT1_THS_ZH 0x36 |
#define | L3GD20_AD_INT1_THS_ZL 0x37 |
#define | L3GD20_AD_INT1_DURATION 0x38 |
L3GD20_CTRL_REG1 register bits definitions | |
#define | L3GD20_CTRL_REG1_MASK 0xFF |
#define | L3GD20_CTRL_REG1_XEN (1 << 0) |
#define | L3GD20_CTRL_REG1_YEN (1 << 1) |
#define | L3GD20_CTRL_REG1_ZEN (1 << 2) |
#define | L3GD20_CTRL_REG1_PD (1 << 3) |
#define | L3GD20_CTRL_REG1_BW0 (1 << 4) |
#define | L3GD20_CTRL_REG1_BW1 (1 << 5) |
#define | L3GD20_CTRL_REG1_DR0 (1 << 6) |
#define | L3GD20_CTRL_REG1_DR1 (1 << 7) |
L3GD20_CTRL_REG2 register bits definitions | |
#define | L3GD20_CTRL_REG2_MASK 0x3F |
#define | L3GD20_CTRL_REG2_HPCF0 (1 << 0) |
#define | L3GD20_CTRL_REG2_HPCF1 (1 << 1) |
#define | L3GD20_CTRL_REG2_HPCF2 (1 << 2) |
#define | L3GD20_CTRL_REG2_HPCF3 (1 << 3) |
#define | L3GD20_CTRL_REG2_HPM0 (1 << 4) |
#define | L3GD20_CTRL_REG2_HPM1 (1 << 5) |
L3GD20_CTRL_REG3 register bits definitions | |
#define | L3GD20_CTRL_REG3_MASK 0xFF |
#define | L3GD20_CTRL_REG3_I2_EMPTY (1 << 0) |
#define | L3GD20_CTRL_REG3_I2_ORUN (1 << 1) |
#define | L3GD20_CTRL_REG3_I2_WTM (1 << 2) |
#define | L3GD20_CTRL_REG3_I2_DRDY (1 << 3) |
#define | L3GD20_CTRL_REG3_PP_OD (1 << 4) |
#define | L3GD20_CTRL_REG3_H_LACTIVE (1 << 5) |
#define | L3GD20_CTRL_REG3_I1_BOOT (1 << 6) |
#define | L3GD20_CTRL_REG3_I1_INT1 (1 << 7) |
L3GD20_CTRL_REG4 register bits definitions | |
#define | L3GD20_CTRL_REG4_MASK 0xF1 |
#define | L3GD20_CTRL_REG4_SIM (1 << 0) |
#define | L3GD20_CTRL_REG4_FS_MASK 0x30 |
#define | L3GD20_CTRL_REG4_FS0 (1 << 4) |
#define | L3GD20_CTRL_REG4_FS1 (1 << 5) |
#define | L3GD20_CTRL_REG4_BLE (1 << 6) |
#define | L3GD20_CTRL_REG4_BDU (1 << 7) |
L3GD20_CTRL_REG5 register bits definitions | |
#define | L3GD20_CTRL_REG5_MASK 0xDF |
#define | L3GD20_CTRL_REG5_OUT_SEL0 (1 << 0) |
#define | L3GD20_CTRL_REG5_OUT_SEL1 (1 << 1) |
#define | L3GD20_CTRL_REG5_INT1_SEL0 (1 << 2) |
#define | L3GD20_CTRL_REG5_INT1_SEL1 (1 << 3) |
#define | L3GD20_CTRL_REG5_HPEN (1 << 4) |
#define | L3GD20_CTRL_REG5_FIFO_EN (1 << 6) |
#define | L3GD20_CTRL_REG5_BOOT (1 << 7) |
L3GD20_INT1_CFG register bits definitions | |
#define | L3GD20_INT1_CFG_MASK 0xFF |
#define | L3GD20_INT1_CFG_XLIE (1 << 0) |
#define | L3GD20_INT1_CFG_XHIE (1 << 1) |
#define | L3GD20_INT1_CFG_YLIE (1 << 2) |
#define | L3GD20_INT1_CFG_YHIE (1 << 3) |
#define | L3GD20_INT1_CFG_ZLIE (1 << 4) |
#define | L3GD20_INT1_CFG_ZHIE (1 << 5) |
#define | L3GD20_INT1_CFG_LIR (1 << 6) |
#define | L3GD20_INT1_CFG_AND_OR (1 << 7) |
L3GD20_INT1_SRC register bits definitions | |
#define | L3GD20_INT1_SRC_MASK 0x7F |
#define | L3GD20_INT1_SRC_XL (1 << 0) |
#define | L3GD20_INT1_SRC_XH (1 << 1) |
#define | L3GD20_INT1_SRC_YL (1 << 2) |
#define | L3GD20_INT1_SRC_YH (1 << 3) |
#define | L3GD20_INT1_SRC_ZL (1 << 4) |
#define | L3GD20_INT1_SRC_ZH (1 << 5) |
#define | L3GD20_INT1_SRC_IA (1 << 6) |
Configuration options | |
#define | L3GD20_USE_SPI TRUE |
L3GD20 SPI interface switch. | |
#define | L3GD20_SHARED_SPI FALSE |
L3GD20 shared SPI switch. | |
#define | L3GD20_USE_I2C FALSE |
L3GD20 I2C interface switch. | |
#define | L3GD20_SHARED_I2C FALSE |
L3GD20 shared I2C switch. | |
#define | L3GD20_USE_ADVANCED FALSE |
L3GD20 advanced configurations switch. | |
#define | L3GD20_BIAS_ACQ_TIMES 50 |
Number of acquisitions for bias removal. | |
#define | L3GD20_BIAS_SETTLING_US 5000 |
Settling time for bias removal. |
Data Structures | |
struct | L3GD20Config |
L3GD20 configuration structure. More... | |
struct | L3GD20VMT |
L3GD20 virtual methods table. More... | |
struct | L3GD20Driver |
L3GD20 3-axis gyroscope class. More... |
Macros | |
#define | l3gd20GyroscopeGetAxesNumber(devp) |
Return the number of axes of the BaseGyroscope. | |
#define | l3gd20GyroscopeReadRaw(devp, axes) |
Retrieves raw data from the BaseGyroscope. | |
#define | l3gd20GyroscopeReadCooked(devp, axes) |
Retrieves cooked data from the BaseGyroscope. | |
#define | l3gd20GyroscopeSampleBias(devp) |
Samples bias values for the BaseGyroscope. | |
#define | l3gd20GyroscopeSetBias(devp, bp) |
Set bias values for the BaseGyroscope. | |
#define | l3gd20GyroscopeResetBias(devp) |
Reset bias values for the BaseGyroscope. | |
#define | l3gd20GyroscopeSetSensitivity(devp, sp) |
Set sensitivity values for the BaseGyroscope. | |
#define | l3gd20GyroscopeResetSensitivity(devp) |
Reset sensitivity values for the BaseGyroscope. | |
#define | l3gd20GyroscopeSetFullScale(devp, fs) |
Changes the L3GD20Driver gyroscope fullscale value. |
Functions | |
static void | l3gd20SPIReadRegister (SPIDriver *spip, uint8_t reg, size_t n, uint8_t *b) |
Reads a generic register value using SPI. | |
static void | l3gd20SPIWriteRegister (SPIDriver *spip, uint8_t reg, size_t n, uint8_t *b) |
Writes a value into a generic register using SPI. | |
static size_t | gyro_get_axes_number (void *ip) |
Return the number of axes of the BaseGyroscope. | |
static msg_t | gyro_read_raw (void *ip, int32_t axes[L3GD20_GYRO_NUMBER_OF_AXES]) |
Retrieves raw data from the BaseGyroscope. | |
static msg_t | gyro_read_cooked (void *ip, float axes[]) |
Retrieves cooked data from the BaseGyroscope. | |
static msg_t | gyro_sample_bias (void *ip) |
Samples bias values for the BaseGyroscope. | |
static msg_t | gyro_set_bias (void *ip, float *bp) |
Set bias values for the BaseGyroscope. | |
static msg_t | gyro_reset_bias (void *ip) |
Reset bias values for the BaseGyroscope. | |
static msg_t | gyro_set_sensivity (void *ip, float *sp) |
Set sensitivity values for the BaseGyroscope. | |
static msg_t | gyro_reset_sensivity (void *ip) |
Reset sensitivity values for the BaseGyroscope. | |
static msg_t | gyro_set_full_scale (L3GD20Driver *devp, l3gd20_fs_t fs) |
Changes the L3GD20Driver gyroscope fullscale value. | |
void | l3gd20ObjectInit (L3GD20Driver *devp) |
Initializes an instance. | |
void | l3gd20Start (L3GD20Driver *devp, const L3GD20Config *config) |
Configures and activates L3GD20 Complex Driver peripheral. | |
void | l3gd20Stop (L3GD20Driver *devp) |
Deactivates the L3GD20 Complex Driver peripheral. |
Variables | |
static const struct L3GD20VMT | vmt_device |
static const struct BaseGyroscopeVMT | vmt_gyroscope |
#define EX_L3GD20_VERSION "1.1.3" |
#define EX_L3GD20_MAJOR 1 |
#define EX_L3GD20_MINOR 1 |
#define EX_L3GD20_PATCH 3 |
#define L3GD20_GYRO_NUMBER_OF_AXES 3U |
L3GD20 gyroscope system characteristics.
Definition at line 71 of file l3gd20.h.
Referenced by gyro_get_axes_number(), gyro_read_cooked(), gyro_read_raw(), gyro_reset_bias(), gyro_reset_sensivity(), gyro_sample_bias(), gyro_set_bias(), gyro_set_full_scale(), gyro_set_sensivity(), and l3gd20Start().
#define L3GD20_250DPS 250.0f |
Definition at line 73 of file l3gd20.h.
Referenced by gyro_set_full_scale(), and l3gd20Start().
#define L3GD20_500DPS 500.0f |
Definition at line 74 of file l3gd20.h.
Referenced by gyro_set_full_scale(), and l3gd20Start().
#define L3GD20_2000DPS 2000.0f |
Definition at line 75 of file l3gd20.h.
Referenced by gyro_set_full_scale(), and l3gd20Start().
#define L3GD20_GYRO_SENS_250DPS 0.00875f |
Definition at line 77 of file l3gd20.h.
Referenced by gyro_reset_sensivity(), and l3gd20Start().
#define L3GD20_GYRO_SENS_500DPS 0.01750f |
Definition at line 78 of file l3gd20.h.
Referenced by gyro_reset_sensivity(), and l3gd20Start().
#define L3GD20_GYRO_SENS_2000DPS 0.07000f |
Definition at line 79 of file l3gd20.h.
Referenced by gyro_reset_sensivity(), and l3gd20Start().
#define L3GD20_GYRO_BIAS 0.0f |
Definition at line 81 of file l3gd20.h.
Referenced by gyro_reset_bias(), and l3gd20Start().
#define L3GD20_MS (1 << 6) |
Definition at line 92 of file l3gd20.h.
Referenced by l3gd20SPIReadRegister(), and l3gd20SPIWriteRegister().
#define L3GD20_RW (1 << 7) |
Definition at line 93 of file l3gd20.h.
Referenced by l3gd20SPIReadRegister().
#define L3GD20_AD_CTRL_REG1 0x20 |
Definition at line 101 of file l3gd20.h.
Referenced by l3gd20Start(), and l3gd20Stop().
#define L3GD20_AD_CTRL_REG4 0x23 |
Definition at line 104 of file l3gd20.h.
Referenced by gyro_set_full_scale().
#define L3GD20_AD_OUT_X_L 0x28 |
Definition at line 109 of file l3gd20.h.
Referenced by gyro_read_raw().
#define L3GD20_CTRL_REG1_XEN (1 << 0) |
Definition at line 133 of file l3gd20.h.
Referenced by l3gd20Start().
#define L3GD20_CTRL_REG1_YEN (1 << 1) |
Definition at line 134 of file l3gd20.h.
Referenced by l3gd20Start().
#define L3GD20_CTRL_REG1_ZEN (1 << 2) |
Definition at line 135 of file l3gd20.h.
Referenced by l3gd20Start().
#define L3GD20_CTRL_REG1_PD (1 << 3) |
Definition at line 136 of file l3gd20.h.
Referenced by l3gd20Start().
#define L3GD20_CTRL_REG4_FS_MASK 0x30 |
Definition at line 177 of file l3gd20.h.
Referenced by gyro_set_full_scale().
#define L3GD20_CTRL_REG5_OUT_SEL0 (1 << 0) |
Definition at line 189 of file l3gd20.h.
Referenced by l3gd20Start().
#define L3GD20_CTRL_REG5_OUT_SEL1 (1 << 1) |
Definition at line 190 of file l3gd20.h.
Referenced by l3gd20Start().
#define L3GD20_CTRL_REG5_INT1_SEL0 (1 << 2) |
Definition at line 191 of file l3gd20.h.
Referenced by l3gd20Start().
#define L3GD20_CTRL_REG5_INT1_SEL1 (1 << 3) |
Definition at line 192 of file l3gd20.h.
Referenced by l3gd20Start().
#define L3GD20_CTRL_REG5_HPEN (1 << 4) |
Definition at line 193 of file l3gd20.h.
Referenced by l3gd20Start().
#define L3GD20_USE_SPI TRUE |
#define L3GD20_SHARED_SPI FALSE |
#define L3GD20_USE_I2C FALSE |
#define L3GD20_SHARED_I2C FALSE |
#define L3GD20_USE_ADVANCED FALSE |
#define L3GD20_BIAS_ACQ_TIMES 50 |
Number of acquisitions for bias removal.
This is the number of acquisitions performed to compute the bias. A repetition is required in order to remove noise.
Definition at line 288 of file l3gd20.h.
Referenced by gyro_sample_bias().
#define L3GD20_BIAS_SETTLING_US 5000 |
Settling time for bias removal.
This is the time between each bias acquisition.
Definition at line 296 of file l3gd20.h.
Referenced by gyro_sample_bias().
#define _l3gd20_methods_alone |
L3GD20
specific methods.
#define _l3gd20_methods |
#define _l3gd20_data |
L3GD20Driver
specific data.
#define l3gd20GyroscopeGetAxesNumber | ( | devp | ) |
Return the number of axes of the BaseGyroscope.
[in] | devp | pointer to L3GD20Driver . |
#define l3gd20GyroscopeReadRaw | ( | devp, | |
axes ) |
Retrieves raw data from the BaseGyroscope.
[in] | devp | pointer to L3GD20Driver . |
[out] | axes | a buffer which would be filled with raw data. |
MSG_OK | if the function succeeded. |
#define l3gd20GyroscopeReadCooked | ( | devp, | |
axes ) |
Retrieves cooked data from the BaseGyroscope.
[in] | devp | pointer to L3GD20Driver . |
[out] | axes | a buffer which would be filled with cooked data. |
MSG_OK | if the function succeeded. |
#define l3gd20GyroscopeSampleBias | ( | devp | ) |
Samples bias values for the BaseGyroscope.
L3GD20_BIAS_ACQ_TIMES
and L3GD20_BIAS_SETTLING_US
.[in] | devp | pointer to L3GD20Driver . |
MSG_OK | if the function succeeded. |
#define l3gd20GyroscopeSetBias | ( | devp, | |
bp ) |
Set bias values for the BaseGyroscope.
[in] | devp | pointer to L3GD20Driver . |
[in] | bp | a buffer which contains biases. |
MSG_OK | if the function succeeded. |
#define l3gd20GyroscopeResetBias | ( | devp | ) |
Reset bias values for the BaseGyroscope.
[in] | devp | pointer to L3GD20Driver . |
MSG_OK | if the function succeeded. |
#define l3gd20GyroscopeSetSensitivity | ( | devp, | |
sp ) |
Set sensitivity values for the BaseGyroscope.
[in] | devp | pointer to L3GD20Driver . |
[in] | sp | a buffer which contains sensitivities. |
MSG_OK | if the function succeeded. |
#define l3gd20GyroscopeResetSensitivity | ( | devp | ) |
Reset sensitivity values for the BaseGyroscope.
[in] | devp | pointer to L3GD20Driver . |
MSG_OK | if the function succeeded. |
MSG_RESET | otherwise. |
#define l3gd20GyroscopeSetFullScale | ( | devp, | |
fs ) |
Changes the L3GD20Driver gyroscope fullscale value.
[in] | devp | pointer to L3GD20Driver . |
[in] | fs | new fullscale value. |
MSG_OK | if the function succeeded. |
MSG_RESET | otherwise. |
typedef struct L3GD20Driver L3GD20Driver |
enum l3gd20_fs_t |
enum l3gd20_odr_t |
enum l3gd20_bw_t |
enum l3gd20_bdu_t |
enum l3gd20_hpm_t |
enum l3gd20_hpcf_t |
L3GD20 HP configuration.
enum l3gd20_lp2m_t |
enum l3gd20_end_t |
enum l3gd20_state_t |
|
static |
Reads a generic register value using SPI.
[in] | spip | pointer to the SPI interface |
[in] | reg | starting register address |
[in] | n | number of consecutive registers to read |
[in] | b | pointer to an output buffer. |
Definition at line 59 of file l3gd20.c.
References L3GD20_MS, L3GD20_RW, spiReceive(), spiSelect(), spiSend(), and spiUnselect().
Referenced by gyro_read_raw(), and gyro_set_full_scale().
|
static |
Writes a value into a generic register using SPI.
[in] | spip | pointer to the SPI interface |
[in] | reg | starting register address |
[in] | n | number of adjacent registers to write |
[in] | b | pointer to a buffer of values. |
Definition at line 78 of file l3gd20.c.
References L3GD20_MS, spiSelect(), spiSend(), and spiUnselect().
Referenced by gyro_set_full_scale(), l3gd20Start(), and l3gd20Stop().
|
static |
Return the number of axes of the BaseGyroscope.
[in] | ip | pointer to BaseGyroscope interface. |
Definition at line 96 of file l3gd20.c.
References L3GD20_GYRO_NUMBER_OF_AXES.
|
static |
Retrieves raw data from the BaseGyroscope.
[in] | ip | pointer to BaseGyroscope interface. |
[out] | axes | a buffer which would be filled with raw data. |
MSG_OK | if the function succeeded. |
Definition at line 115 of file l3gd20.c.
References L3GD20_AD_OUT_X_L, L3GD20_GYRO_NUMBER_OF_AXES, L3GD20_READY, l3gd20SPIReadRegister(), MSG_OK, objGetInstance, osalDbgAssert, osalDbgCheck, SPI_READY, spiAcquireBus(), spiReleaseBus(), and spiStart().
Referenced by gyro_read_cooked(), and gyro_sample_bias().
|
static |
Retrieves cooked data from the BaseGyroscope.
[in] | ip | pointer to BaseGyroscope interface. |
[out] | axes | a buffer which would be filled with cooked data. |
MSG_OK | if the function succeeded. |
Definition at line 167 of file l3gd20.c.
References gyro_read_raw(), L3GD20_GYRO_NUMBER_OF_AXES, L3GD20_READY, objGetInstance, osalDbgAssert, and osalDbgCheck.
|
static |
Samples bias values for the BaseGyroscope.
L3GD20_BIAS_ACQ_TIMES
and L3GD20_BIAS_SETTLING_US
.[in] | ip | pointer to BaseGyroscope interface. |
MSG_OK | if the function succeeded. |
Definition at line 200 of file l3gd20.c.
References gyro_read_raw(), L3GD20_BIAS_ACQ_TIMES, L3GD20_BIAS_SETTLING_US, L3GD20_GYRO_NUMBER_OF_AXES, L3GD20_READY, MSG_OK, objGetInstance, osalDbgAssert, osalDbgCheck, osalThreadSleepMicroseconds, and SPI_READY.
|
static |
Set bias values for the BaseGyroscope.
[in] | ip | pointer to BaseGyroscope interface. |
[in] | bp | a buffer which contains biases. |
MSG_OK | if the function succeeded. |
Definition at line 248 of file l3gd20.c.
References L3GD20_GYRO_NUMBER_OF_AXES, L3GD20_READY, MSG_OK, objGetInstance, osalDbgAssert, and osalDbgCheck.
|
static |
Reset bias values for the BaseGyroscope.
[in] | ip | pointer to BaseGyroscope interface. |
MSG_OK | if the function succeeded. |
Definition at line 277 of file l3gd20.c.
References L3GD20_GYRO_BIAS, L3GD20_GYRO_NUMBER_OF_AXES, L3GD20_READY, MSG_OK, objGetInstance, osalDbgAssert, and osalDbgCheck.
|
static |
Set sensitivity values for the BaseGyroscope.
[in] | ip | pointer to BaseGyroscope interface. |
[in] | sp | a buffer which contains sensitivities. |
MSG_OK | if the function succeeded. |
Definition at line 307 of file l3gd20.c.
References L3GD20_GYRO_NUMBER_OF_AXES, L3GD20_READY, MSG_OK, objGetInstance, osalDbgAssert, and osalDbgCheck.
|
static |
Reset sensitivity values for the BaseGyroscope.
[in] | ip | pointer to BaseGyroscope interface. |
MSG_OK | if the function succeeded. |
MSG_RESET | otherwise. |
Definition at line 336 of file l3gd20.c.
References FALSE, L3GD20_FS_2000DPS, L3GD20_FS_250DPS, L3GD20_FS_500DPS, L3GD20_GYRO_NUMBER_OF_AXES, L3GD20_GYRO_SENS_2000DPS, L3GD20_GYRO_SENS_250DPS, L3GD20_GYRO_SENS_500DPS, L3GD20_READY, MSG_OK, MSG_RESET, objGetInstance, osalDbgAssert, and osalDbgCheck.
|
static |
Changes the L3GD20Driver gyroscope fullscale value.
[in] | devp | pointer to BaseGyroscope interface. |
[in] | fs | new fullscale value. |
MSG_OK | if the function succeeded. |
MSG_RESET | otherwise. |
Definition at line 378 of file l3gd20.c.
References L3GD20_2000DPS, L3GD20_250DPS, L3GD20_500DPS, L3GD20_AD_CTRL_REG4, L3GD20_CTRL_REG4_FS_MASK, L3GD20_FS_2000DPS, L3GD20_FS_250DPS, L3GD20_FS_500DPS, L3GD20_GYRO_NUMBER_OF_AXES, L3GD20_READY, l3gd20SPIReadRegister(), l3gd20SPIWriteRegister(), MSG_OK, MSG_RESET, osalDbgAssert, osalDbgCheck, SPI_READY, spiAcquireBus(), spiReleaseBus(), and spiStart().
void l3gd20ObjectInit | ( | L3GD20Driver * | devp | ) |
Initializes an instance.
[out] | devp | pointer to the L3GD20Driver object |
Definition at line 473 of file l3gd20.c.
References L3GD20Driver::gyro_if, L3GD20_STOP, BaseGyroscope::vmt, L3GD20Driver::vmt, vmt_device, and vmt_gyroscope.
void l3gd20Start | ( | L3GD20Driver * | devp, |
const L3GD20Config * | config ) |
Configures and activates L3GD20 Complex Driver peripheral.
[in] | devp | pointer to the L3GD20Driver object |
[in] | config | pointer to the L3GD20Config object |
Definition at line 490 of file l3gd20.c.
References FALSE, L3GD20_2000DPS, L3GD20_250DPS, L3GD20_500DPS, L3GD20_AD_CTRL_REG1, L3GD20_CTRL_REG1_PD, L3GD20_CTRL_REG1_XEN, L3GD20_CTRL_REG1_YEN, L3GD20_CTRL_REG1_ZEN, L3GD20_CTRL_REG5_HPEN, L3GD20_CTRL_REG5_INT1_SEL0, L3GD20_CTRL_REG5_INT1_SEL1, L3GD20_CTRL_REG5_OUT_SEL0, L3GD20_CTRL_REG5_OUT_SEL1, L3GD20_FS_2000DPS, L3GD20_FS_250DPS, L3GD20_FS_500DPS, L3GD20_GYRO_BIAS, L3GD20_GYRO_NUMBER_OF_AXES, L3GD20_GYRO_SENS_2000DPS, L3GD20_GYRO_SENS_250DPS, L3GD20_GYRO_SENS_500DPS, L3GD20_HPM_BYPASSED, L3GD20_LP2M_BYPASSED, L3GD20_READY, L3GD20_STOP, l3gd20SPIWriteRegister(), osalDbgAssert, osalDbgCheck, osalThreadSleepMilliseconds, spiAcquireBus(), spiReleaseBus(), and spiStart().
void l3gd20Stop | ( | L3GD20Driver * | devp | ) |
Deactivates the L3GD20 Complex Driver peripheral.
[in] | devp | pointer to the L3GD20Driver object |
Definition at line 613 of file l3gd20.c.
References L3GD20_AD_CTRL_REG1, L3GD20_READY, L3GD20_STOP, l3gd20SPIWriteRegister(), osalDbgAssert, osalDbgCheck, spiAcquireBus(), spiReleaseBus(), spiStart(), and spiStop().
|
static |
|
static |
Definition at line 455 of file l3gd20.c.
Referenced by l3gd20ObjectInit(), lsm6ds0ObjectInit(), and lsm6dslObjectInit().