APM:Libraries
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
AP_Proximity_TeraRangerTower Class Reference

#include <AP_Proximity_TeraRangerTower.h>

Inheritance diagram for AP_Proximity_TeraRangerTower:
[legend]
Collaboration diagram for AP_Proximity_TeraRangerTower:
[legend]

Public Member Functions

 AP_Proximity_TeraRangerTower (AP_Proximity &_frontend, AP_Proximity::Proximity_State &_state, AP_SerialManager &serial_manager)
 
void update (void)
 
float distance_max () const
 
float distance_min () const
 
- Public Member Functions inherited from AP_Proximity_Backend
 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 Vector2fget_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 Member Functions

bool read_sensor_data ()
 
void update_sector_data (int16_t angle_deg, uint16_t distance_cm)
 
uint16_t process_distance (uint8_t buf1, uint8_t buf2)
 

Private Attributes

AP_HAL::UARTDriveruart = nullptr
 
uint8_t buffer [20]
 
uint8_t buffer_count
 
uint32_t _last_distance_received_ms
 

Additional Inherited Members

- Protected Member Functions inherited from AP_Proximity_Backend
void set_status (AP_Proximity::Proximity_Status status)
 
bool convert_angle_to_sector (float angle_degrees, uint8_t &sector) const
 
void init_boundary ()
 
void update_boundary_for_sector (uint8_t sector)
 
uint8_t get_ignore_area_count () const
 
bool get_ignore_area (uint8_t index, uint16_t &angle_deg, uint8_t &width_deg) const
 
bool get_next_ignore_start_or_end (uint8_t start_or_end, int16_t start_angle, int16_t &ignore_start) const
 
- Protected Attributes inherited from AP_Proximity_Backend
AP_Proximityfrontend
 
AP_Proximity::Proximity_Statestate
 
uint8_t _num_sectors = PROXIMITY_MAX_DIRECTION
 
uint16_t _sector_middle_deg [PROXIMITY_SECTORS_MAX] = {0, 45, 90, 135, 180, 225, 270, 315, 0, 0, 0, 0}
 
uint8_t _sector_width_deg [PROXIMITY_SECTORS_MAX] = {45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 0, 0}
 
float _angle [PROXIMITY_SECTORS_MAX]
 
float _distance [PROXIMITY_SECTORS_MAX]
 
bool _distance_valid [PROXIMITY_SECTORS_MAX]
 
Vector2f _sector_edge_vector [PROXIMITY_SECTORS_MAX]
 
Vector2f _boundary_point [PROXIMITY_SECTORS_MAX]
 

Detailed Description

Definition at line 8 of file AP_Proximity_TeraRangerTower.h.

Constructor & Destructor Documentation

◆ AP_Proximity_TeraRangerTower()

AP_Proximity_TeraRangerTower::AP_Proximity_TeraRangerTower ( AP_Proximity _frontend,
AP_Proximity::Proximity_State _state,
AP_SerialManager serial_manager 
)

Definition at line 30 of file AP_Proximity_TeraRangerTower.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ detect()

bool AP_Proximity_TeraRangerTower::detect ( AP_SerialManager serial_manager)
static

Definition at line 42 of file AP_Proximity_TeraRangerTower.cpp.

Referenced by AP_Proximity::detect_instance().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ distance_max()

float AP_Proximity_TeraRangerTower::distance_max ( ) const
virtual

Implements AP_Proximity_Backend.

Definition at line 68 of file AP_Proximity_TeraRangerTower.cpp.

◆ distance_min()

float AP_Proximity_TeraRangerTower::distance_min ( ) const
virtual

Implements AP_Proximity_Backend.

Definition at line 72 of file AP_Proximity_TeraRangerTower.cpp.

◆ process_distance()

uint16_t AP_Proximity_TeraRangerTower::process_distance ( uint8_t  buf1,
uint8_t  buf2 
)
private

Definition at line 126 of file AP_Proximity_TeraRangerTower.cpp.

Referenced by read_sensor_data().

Here is the caller graph for this function:

◆ read_sensor_data()

bool AP_Proximity_TeraRangerTower::read_sensor_data ( )
private

Definition at line 78 of file AP_Proximity_TeraRangerTower.cpp.

Referenced by update().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ update()

void AP_Proximity_TeraRangerTower::update ( void  )
virtual

Implements AP_Proximity_Backend.

Definition at line 50 of file AP_Proximity_TeraRangerTower.cpp.

Here is the call graph for this function:

◆ update_sector_data()

void AP_Proximity_TeraRangerTower::update_sector_data ( int16_t  angle_deg,
uint16_t  distance_cm 
)
private

Definition at line 132 of file AP_Proximity_TeraRangerTower.cpp.

Referenced by read_sensor_data().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ _last_distance_received_ms

uint32_t AP_Proximity_TeraRangerTower::_last_distance_received_ms
private

Definition at line 38 of file AP_Proximity_TeraRangerTower.h.

Referenced by update(), and update_sector_data().

◆ buffer

uint8_t AP_Proximity_TeraRangerTower::buffer[20]
private

Definition at line 34 of file AP_Proximity_TeraRangerTower.h.

Referenced by read_sensor_data().

◆ buffer_count

uint8_t AP_Proximity_TeraRangerTower::buffer_count
private

Definition at line 35 of file AP_Proximity_TeraRangerTower.h.

Referenced by read_sensor_data().

◆ uart

AP_HAL::UARTDriver* AP_Proximity_TeraRangerTower::uart = nullptr
private

The documentation for this class was generated from the following files: