|
Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
driver for the Lidar-Lite i2c lidar More...
Include dependency graph for lidar_lite.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | LidarLite |
Enumerations | |
| enum | LidarLiteStatus { LIDAR_LITE_INIT_RANGING , LIDAR_LITE_REQ_READ , LIDAR_LITE_READ_DISTANCE , LIDAR_LITE_PARSE } |
Functions | |
| void | lidar_lite_init (void) |
| Initialization function. | |
| void | lidar_lite_event (void) |
| Lidar event function Basically just check the progress of the transation to prevent overruns during high speed operation (ie. | |
| void | lidar_lite_periodic (void) |
| Poll lidar for data for altitude hold 50Hz-100Hz should be enough, in theory can go faster (see the datasheet for Lidar Lite v3. | |
| void | lidar_lite_downlink (void) |
| Downlink message for debug. | |
Variables | |
| struct LidarLite | lidar_lite |
driver for the Lidar-Lite i2c lidar
Note that the version 1 (silver label) seems to generate unexpected events on the i2c bus, such as misplaced start or stop or word reset (see I2C_ERRORS message). It seems to have no effect on other i2c devices (especially the IMU), but use with caution.
The newer versions function correctly.
Definition in file lidar_lite.h.
| struct LidarLite |
Definition at line 46 of file lidar_lite.h.
Collaboration diagram for LidarLite:| Data Fields | ||
|---|---|---|
| uint8_t | addr | |
| bool | compensate_rotation | |
| float | distance | |
| uint32_t | distance_raw | |
| enum LidarLiteStatus | status | |
| struct i2c_transaction | trans | |
| bool | update_agl | |
| Enumerator | |
|---|---|
| LIDAR_LITE_INIT_RANGING | |
| LIDAR_LITE_REQ_READ | |
| LIDAR_LITE_READ_DISTANCE | |
| LIDAR_LITE_PARSE | |
Definition at line 39 of file lidar_lite.h.
Downlink message for debug.
Definition at line 173 of file lidar_lite.c.
References DefaultChannel, DefaultDevice, LidarLite::distance, foo, lidar_lite, i2c_transaction::status, LidarLite::status, status, and LidarLite::trans.
Lidar event function Basically just check the progress of the transation to prevent overruns during high speed operation (ie.
polling the radar at >100Hz)
Definition at line 76 of file lidar_lite.c.
References I2CTransDone, I2CTransFailed, I2CTransPending, I2CTransRunning, I2CTransSuccess, lidar_lite, i2c_transaction::status, and LidarLite::trans.
Initialization function.
Definition at line 56 of file lidar_lite.c.
References LidarLite::addr, LidarLite::compensate_rotation, LidarLite::distance, LidarLite::distance_raw, foo, I2CTransDone, init_median_filter_i(), lidar_lite, lidar_lite_filter, LIDAR_LITE_INIT_RANGING, i2c_transaction::status, LidarLite::status, LidarLite::trans, and LidarLite::update_agl.
Here is the call graph for this function:Poll lidar for data for altitude hold 50Hz-100Hz should be enough, in theory can go faster (see the datasheet for Lidar Lite v3.
Definition at line 106 of file lidar_lite.c.
References LidarLite::addr, AGL_LIDAR_LITE_ID, i2c_transaction::buf, LidarLite::compensate_rotation, LidarLite::distance, LidarLite::distance_raw, foo, get_sys_time_usec(), i2c_receive(), i2c_transmit(), I2CTransDone, lidar_lite, lidar_lite_filter, LIDAR_LITE_INIT_RANGING, LIDAR_LITE_PARSE, LIDAR_LITE_READ_ADDR, LIDAR_LITE_READ_DISTANCE, LIDAR_LITE_REG_ADDR, LIDAR_LITE_REG_VAL, LIDAR_LITE_REQ_READ, FloatEulers::phi, stateGetNedToBodyEulers_f(), i2c_transaction::status, LidarLite::status, FloatEulers::theta, LidarLite::trans, LidarLite::update_agl, and update_median_filter_i().
Here is the call graph for this function:
|
extern |
Definition at line 45 of file lidar_lite.c.
Referenced by lidar_lite_downlink(), lidar_lite_event(), lidar_lite_init(), and lidar_lite_periodic().