APM:Libraries
|
< for UARTDriver More...
#include <AP_Proximity_RPLidarA2.h>
Classes | |
struct | _sensor_health |
struct | _sensor_scan |
union | PACKED |
Public Member Functions | |
AP_Proximity_RPLidarA2 (AP_Proximity &_frontend, AP_Proximity::Proximity_State &_state, AP_SerialManager &serial_manager) | |
void | update (void) |
float | distance_max () const |
float | distance_min () const |
![]() | |
AP_Proximity_Backend (AP_Proximity &_frontend, AP_Proximity::Proximity_State &_state) | |
virtual | ~AP_Proximity_Backend (void) |
virtual bool | get_upward_distance (float &distance) const |
virtual void | handle_msg (mavlink_message_t *msg) |
bool | get_horizontal_distance (float angle_deg, float &distance) const |
const Vector2f * | get_boundary_points (uint16_t &num_points) const |
bool | get_closest_object (float &angle_deg, float &distance) const |
uint8_t | get_object_count () const |
bool | get_object_angle_and_distance (uint8_t object_number, float &angle_deg, float &distance) const |
bool | get_horizontal_distances (AP_Proximity::Proximity_Distance_Array &prx_dist_array) const |
Static Public Member Functions | |
static bool | detect (AP_SerialManager &serial_manager) |
Private Types | |
enum | rp_state { rp_unknown = 0, rp_resetted, rp_responding, rp_measurements, rp_health } |
enum | ResponseType { ResponseType_Descriptor = 0, ResponseType_SCAN, ResponseType_EXPRESS, ResponseType_Health } |
Private Member Functions | |
bool | initialise () |
void | init_sectors () |
void | set_scan_mode () |
void | send_request_for_health () |
void | parse_response_data () |
void | parse_response_descriptor () |
void | get_readings () |
void | reset_rplidar () |
Private Attributes | |
AP_HAL::UARTDriver * | _uart |
uint8_t | _descriptor [7] |
char | _rp_systeminfo [63] |
bool | _descriptor_data |
bool | _information_data |
bool | _resetted |
bool | _initialised |
bool | _sector_initialised |
uint8_t | _payload_length |
uint8_t | _cnt |
uint8_t | _sync_error |
uint16_t | _byte_count |
enum ResponseType | _response_type |
response from the lidar More... | |
enum rp_state | _rp_state |
uint8_t | _last_sector |
last sector requested More... | |
uint32_t | _last_request_ms |
system time of last request More... | |
uint32_t | _last_distance_received_ms |
system time of last distance measurement received from sensor More... | |
uint32_t | _last_reset_ms |
float | _angle_deg_last |
float | _distance_m_last |
union AP_Proximity_RPLidarA2::PACKED | payload |
< for UARTDriver
Definition at line 37 of file AP_Proximity_RPLidarA2.h.
|
private |
Enumerator | |
---|---|
ResponseType_Descriptor | |
ResponseType_SCAN | |
ResponseType_EXPRESS | |
ResponseType_Health |
Definition at line 63 of file AP_Proximity_RPLidarA2.h.
|
private |
Enumerator | |
---|---|
rp_unknown | |
rp_resetted | |
rp_responding | |
rp_measurements | |
rp_health |
Definition at line 55 of file AP_Proximity_RPLidarA2.h.
AP_Proximity_RPLidarA2::AP_Proximity_RPLidarA2 | ( | AP_Proximity & | _frontend, |
AP_Proximity::Proximity_State & | _state, | ||
AP_SerialManager & | serial_manager | ||
) |
|
static |
Definition at line 87 of file AP_Proximity_RPLidarA2.cpp.
Referenced by AP_Proximity::detect_instance().
|
virtual |
Implements AP_Proximity_Backend.
Definition at line 119 of file AP_Proximity_RPLidarA2.cpp.
|
virtual |
Implements AP_Proximity_Backend.
Definition at line 125 of file AP_Proximity_RPLidarA2.cpp.
Referenced by parse_response_data().
|
private |
Definition at line 245 of file AP_Proximity_RPLidarA2.cpp.
Referenced by update().
|
private |
Definition at line 162 of file AP_Proximity_RPLidarA2.cpp.
Referenced by initialise().
|
private |
Definition at line 130 of file AP_Proximity_RPLidarA2.cpp.
Referenced by update().
|
private |
Definition at line 390 of file AP_Proximity_RPLidarA2.cpp.
Referenced by get_readings().
|
private |
Definition at line 362 of file AP_Proximity_RPLidarA2.cpp.
Referenced by get_readings().
|
private |
< be aware of extra 63 bytes coming after reset containing FW information
Definition at line 146 of file AP_Proximity_RPLidarA2.cpp.
Referenced by get_readings(), and initialise().
|
private |
Definition at line 234 of file AP_Proximity_RPLidarA2.cpp.
|
private |
Definition at line 221 of file AP_Proximity_RPLidarA2.cpp.
Referenced by get_readings().
|
virtual |
Implements AP_Proximity_Backend.
Definition at line 93 of file AP_Proximity_RPLidarA2.cpp.
|
private |
Definition at line 106 of file AP_Proximity_RPLidarA2.h.
Referenced by parse_response_data().
|
private |
Definition at line 95 of file AP_Proximity_RPLidarA2.h.
Referenced by AP_Proximity_RPLidarA2(), and get_readings().
|
private |
Definition at line 93 of file AP_Proximity_RPLidarA2.h.
Referenced by AP_Proximity_RPLidarA2(), and get_readings().
|
private |
Definition at line 84 of file AP_Proximity_RPLidarA2.h.
Referenced by get_readings(), and parse_response_descriptor().
|
private |
Definition at line 86 of file AP_Proximity_RPLidarA2.h.
Referenced by get_readings().
|
private |
Definition at line 107 of file AP_Proximity_RPLidarA2.h.
Referenced by parse_response_data().
|
private |
Definition at line 87 of file AP_Proximity_RPLidarA2.h.
Referenced by get_readings().
|
private |
Definition at line 89 of file AP_Proximity_RPLidarA2.h.
Referenced by initialise(), and update().
|
private |
system time of last distance measurement received from sensor
Definition at line 102 of file AP_Proximity_RPLidarA2.h.
Referenced by get_readings(), parse_response_data(), parse_response_descriptor(), and update().
|
private |
system time of last request
Definition at line 101 of file AP_Proximity_RPLidarA2.h.
Referenced by send_request_for_health(), and set_scan_mode().
|
private |
Definition at line 103 of file AP_Proximity_RPLidarA2.h.
Referenced by reset_rplidar().
|
private |
last sector requested
Definition at line 100 of file AP_Proximity_RPLidarA2.h.
Referenced by parse_response_data().
|
private |
Definition at line 92 of file AP_Proximity_RPLidarA2.h.
Referenced by get_readings(), and parse_response_descriptor().
|
private |
Definition at line 88 of file AP_Proximity_RPLidarA2.h.
Referenced by reset_rplidar().
|
private |
response from the lidar
Definition at line 98 of file AP_Proximity_RPLidarA2.h.
Referenced by get_readings(), parse_response_data(), and parse_response_descriptor().
|
private |
Definition at line 99 of file AP_Proximity_RPLidarA2.h.
Referenced by get_readings(), parse_response_descriptor(), reset_rplidar(), send_request_for_health(), and set_scan_mode().
|
private |
Definition at line 85 of file AP_Proximity_RPLidarA2.h.
Referenced by get_readings().
|
private |
Definition at line 90 of file AP_Proximity_RPLidarA2.h.
Referenced by init_sectors(), and initialise().
|
private |
Definition at line 94 of file AP_Proximity_RPLidarA2.h.
Referenced by AP_Proximity_RPLidarA2(), get_readings(), and parse_response_data().
|
private |
Definition at line 83 of file AP_Proximity_RPLidarA2.h.
Referenced by AP_Proximity_RPLidarA2(), get_readings(), reset_rplidar(), send_request_for_health(), set_scan_mode(), and update().
|
private |
Referenced by get_readings(), parse_response_data(), and parse_response_descriptor().