#include <gnss.hpp>
|
static const char *const | NAME = "gnss" |
|
static constexpr unsigned | MAX_NAME_LEN = 20 |
|
|
typedef uavcan::MethodBinder< UavcanGnssBridge *, void(UavcanGnssBridge::*)(const uavcan::ReceivedDataStructure< uavcan::equipment::gnss::Auxiliary > &) > | AuxiliaryCbBinder |
|
typedef uavcan::MethodBinder< UavcanGnssBridge *, void(UavcanGnssBridge::*)(const uavcan::ReceivedDataStructure< uavcan::equipment::gnss::Fix > &) > | FixCbBinder |
|
typedef uavcan::MethodBinder< UavcanGnssBridge *, void(UavcanGnssBridge::*)(const uavcan::ReceivedDataStructure< uavcan::equipment::gnss::Fix2 > &) > | Fix2CbBinder |
|
typedef uavcan::MethodBinder< UavcanGnssBridge *, void(UavcanGnssBridge::*)(const uavcan::TimerEvent &)> | TimerCbBinder |
|
|
void | gnss_auxiliary_sub_cb (const uavcan::ReceivedDataStructure< uavcan::equipment::gnss::Auxiliary > &msg) |
| GNSS fix message will be reported via this callback. More...
|
|
void | gnss_fix_sub_cb (const uavcan::ReceivedDataStructure< uavcan::equipment::gnss::Fix > &msg) |
|
void | gnss_fix2_sub_cb (const uavcan::ReceivedDataStructure< uavcan::equipment::gnss::Fix2 > &msg) |
|
template<typename FixType > |
void | process_fixx (const uavcan::ReceivedDataStructure< FixType > &msg, const float(&pos_cov)[9], const float(&vel_cov)[9], const bool valid_pos_cov, const bool valid_vel_cov) |
|
void | broadcast_from_orb (const uavcan::TimerEvent &) |
|
Definition at line 58 of file gnss.hpp.
◆ AuxiliaryCbBinder
◆ Fix2CbBinder
◆ FixCbBinder
◆ TimerCbBinder
◆ UavcanGnssBridge()
UavcanGnssBridge::UavcanGnssBridge |
( |
uavcan::INode & |
node | ) |
|
◆ ~UavcanGnssBridge()
UavcanGnssBridge::~UavcanGnssBridge |
( |
| ) |
|
|
default |
◆ broadcast_from_orb()
void UavcanGnssBridge::broadcast_from_orb |
( |
const uavcan::TimerEvent & |
| ) |
|
|
private |
◆ get_name()
const char* UavcanGnssBridge::get_name |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ get_num_redundant_channels()
unsigned UavcanGnssBridge::get_num_redundant_channels |
( |
| ) |
const |
|
overridevirtual |
◆ gnss_auxiliary_sub_cb()
void UavcanGnssBridge::gnss_auxiliary_sub_cb |
( |
const uavcan::ReceivedDataStructure< uavcan::equipment::gnss::Auxiliary > & |
msg | ) |
|
|
private |
◆ gnss_fix2_sub_cb()
void UavcanGnssBridge::gnss_fix2_sub_cb |
( |
const uavcan::ReceivedDataStructure< uavcan::equipment::gnss::Fix2 > & |
msg | ) |
|
|
private |
◆ gnss_fix_sub_cb()
void UavcanGnssBridge::gnss_fix_sub_cb |
( |
const uavcan::ReceivedDataStructure< uavcan::equipment::gnss::Fix > & |
msg | ) |
|
|
private |
◆ init()
int UavcanGnssBridge::init |
( |
| ) |
|
|
overridevirtual |
◆ print_status()
void UavcanGnssBridge::print_status |
( |
| ) |
const |
|
overridevirtual |
◆ process_fixx()
template<typename FixType >
void UavcanGnssBridge::process_fixx |
( |
const uavcan::ReceivedDataStructure< FixType > & |
msg, |
|
|
const float(&) |
pos_cov[9], |
|
|
const float(&) |
vel_cov[9], |
|
|
const bool |
valid_pos_cov, |
|
|
const bool |
valid_vel_cov |
|
) |
| |
|
private |
Definition at line 262 of file gnss.cpp.
References _gps_pub, _last_gnss_auxiliary_hdop, _last_gnss_auxiliary_timestamp, _last_gnss_auxiliary_vdop, _orb_to_uavcan_pub_timer, _receiver_node_id, _system_clock_set, hrt_absolute_time(), hrt_elapsed_time(), math::max(), uORB::PublicationMulti< T >::publish(), and vehicle_gps_position_s::timestamp.
Referenced by get_name(), gnss_fix2_sub_cb(), and gnss_fix_sub_cb().
◆ _gps_pub
◆ _last_gnss_auxiliary_hdop
float UavcanGnssBridge::_last_gnss_auxiliary_hdop {0.0f} |
|
private |
◆ _last_gnss_auxiliary_timestamp
uint64_t UavcanGnssBridge::_last_gnss_auxiliary_timestamp {0} |
|
private |
◆ _last_gnss_auxiliary_vdop
float UavcanGnssBridge::_last_gnss_auxiliary_vdop {0.0f} |
|
private |
◆ _node
uavcan::INode& UavcanGnssBridge::_node |
|
private |
◆ _old_fix_subscriber_active
bool UavcanGnssBridge::_old_fix_subscriber_active {true} |
|
private |
◆ _orb_sub_gnss
◆ _orb_to_uavcan_pub_timer
uavcan::TimerEventForwarder<TimerCbBinder> UavcanGnssBridge::_orb_to_uavcan_pub_timer |
|
private |
◆ _pub_fix2
uavcan::Publisher<uavcan::equipment::gnss::Fix2> UavcanGnssBridge::_pub_fix2 |
|
private |
◆ _receiver_node_id
int UavcanGnssBridge::_receiver_node_id {-1} |
|
private |
◆ _sub_auxiliary
uavcan::Subscriber<uavcan::equipment::gnss::Auxiliary, AuxiliaryCbBinder> UavcanGnssBridge::_sub_auxiliary |
|
private |
◆ _sub_fix
uavcan::Subscriber<uavcan::equipment::gnss::Fix, FixCbBinder> UavcanGnssBridge::_sub_fix |
|
private |
◆ _sub_fix2
uavcan::Subscriber<uavcan::equipment::gnss::Fix2, Fix2CbBinder> UavcanGnssBridge::_sub_fix2 |
|
private |
◆ _system_clock_set
bool UavcanGnssBridge::_system_clock_set {false} |
|
private |
Have we set the system clock at least once from GNSS data?
Definition at line 126 of file gnss.hpp.
Referenced by process_fixx().
◆ NAME
const char *const UavcanGnssBridge::NAME = "gnss" |
|
static |
◆ ORB_TO_UAVCAN_FREQUENCY_HZ
constexpr unsigned UavcanGnssBridge::ORB_TO_UAVCAN_FREQUENCY_HZ = 10 |
|
staticprivate |
The documentation for this class was generated from the following files: