mavsdk::Transponder Class Reference ​
#include: transponder.h
Allow users to get ADS-B information and set ADS-B update rates.
Data Structures ​
struct AdsbVehicle
Public Types ​
| Type | Description | 
|---|---|
| enum AdsbEmitterType | ADSB classification for the type of vehicle emitting the transponder signal. | 
| enum AdsbAltitudeType | Altitude type used in AdsbVehicle message. | 
| enum Result | Possible results returned for transponder requests. | 
| std::function< void(Result)> ResultCallback | Callback type for asynchronous Transponder calls. | 
| std::function< void(AdsbVehicle)> TransponderCallback | Callback type for subscribe_transponder. | 
| Handle< AdsbVehicle > TransponderHandle | Handle type for subscribe_transponder. | 
Public Member Functions ​
| Type | Name | Description | 
|---|---|---|
| Â | Transponder (System & system) | Constructor. Creates the plugin for a specific System. | 
| Â | Transponder (std::shared_ptr< System > system) | Constructor. Creates the plugin for a specific System. | 
| Â | ~Transponder () override | Destructor (internal use only). | 
| Â | Transponder (const Transponder & other) | Copy constructor. | 
| TransponderHandle | subscribe_transponder (const TransponderCallback & callback) | Subscribe to 'transponder' updates. | 
| void | unsubscribe_transponder (TransponderHandle handle) | Unsubscribe from subscribe_transponder. | 
| AdsbVehicle | transponder () const | Poll for 'AdsbVehicle' (blocking). | 
| void | set_rate_transponder_async (double rate_hz, const ResultCallback callback) | Set rate to 'transponder' updates. | 
| Result | set_rate_transponder (double rate_hz)const | Set rate to 'transponder' updates. | 
| const Transponder & | operator= (const Transponder &)=delete | Equality operator (object is not copyable). | 
Constructor & Destructor Documentation ​
Transponder() ​
mavsdk::Transponder::Transponder(System &system)Constructor. Creates the plugin for a specific System.
The plugin is typically created as shown below:
auto transponder = Transponder(system);Parameters
- System& system - The specific system associated with this plugin.
 
Transponder() ​
mavsdk::Transponder::Transponder(std::shared_ptr< System > system)Constructor. Creates the plugin for a specific System.
The plugin is typically created as shown below:
auto transponder = Transponder(system);Parameters
- std::shared_ptr< System > system - The specific system associated with this plugin.
 
~Transponder() ​
mavsdk::Transponder::~Transponder() overrideDestructor (internal use only).
Transponder() ​
mavsdk::Transponder::Transponder(const Transponder &other)Copy constructor.
Parameters
- const Transponder& other -
 
Member Typdef Documentation ​
typedef ResultCallback ​
using mavsdk::Transponder::ResultCallback =  std::function<void(Result)>Callback type for asynchronous Transponder calls.
typedef TransponderCallback ​
using mavsdk::Transponder::TransponderCallback =  std::function<void(AdsbVehicle)>Callback type for subscribe_transponder.
typedef TransponderHandle ​
using mavsdk::Transponder::TransponderHandle =  Handle<AdsbVehicle>Handle type for subscribe_transponder.
Member Enumeration Documentation ​
enum AdsbEmitterType ​
ADSB classification for the type of vehicle emitting the transponder signal.
| Value | Description | 
|---|---|
 NoInfo | No emitter info.. | 
 Light | Light emitter.. | 
 Small | Small emitter.. | 
 Large | Large emitter.. | 
 HighVortexLarge | High vortex emitter.. | 
 Heavy | Heavy emitter.. | 
 HighlyManuv | Highly maneuverable emitter.. | 
 Rotocraft | Rotorcraft emitter.. | 
 Unassigned | Unassigned emitter.. | 
 Glider | Glider emitter.. | 
 LighterAir | Lighter air emitter.. | 
 Parachute | Parachute emitter.. | 
 UltraLight | Ultra light emitter.. | 
 Unassigned2 | Unassigned2 emitter.. | 
 Uav | UAV emitter.. | 
 Space | Space emitter.. | 
 Unassgined3 | Unassigned3 emitter.. | 
 EmergencySurface | Emergency emitter.. | 
 ServiceSurface | Service surface emitter.. | 
 PointObstacle | Point obstacle emitter.. | 
enum AdsbAltitudeType ​
Altitude type used in AdsbVehicle message.
| Value | Description | 
|---|---|
 PressureQnh | Altitude reported from a Baro source using QNH reference. | 
 Geometric | Altitude reported from a GNSS source. | 
enum Result ​
Possible results returned for transponder requests.
| Value | Description | 
|---|---|
 Unknown | Unknown result. | 
 Success | Success: the transponder command was accepted by the vehicle. | 
 NoSystem | No system connected. | 
 ConnectionError | Connection error. | 
 Busy | Vehicle is busy. | 
 CommandDenied | Command refused by vehicle. | 
 Timeout | Request timed out. | 
Member Function Documentation ​
subscribe_transponder() ​
TransponderHandle mavsdk::Transponder::subscribe_transponder(const TransponderCallback &callback)Subscribe to 'transponder' updates.
Parameters
- const TransponderCallback& callback -
 
Returns
 TransponderHandle -
unsubscribe_transponder() ​
void mavsdk::Transponder::unsubscribe_transponder(TransponderHandle handle)Unsubscribe from subscribe_transponder.
Parameters
- TransponderHandle handle -
 
transponder() ​
AdsbVehicle mavsdk::Transponder::transponder() constPoll for 'AdsbVehicle' (blocking).
Returns
 AdsbVehicle - One AdsbVehicle update.
set_rate_transponder_async() ​
void mavsdk::Transponder::set_rate_transponder_async(double rate_hz, const ResultCallback callback)Set rate to 'transponder' updates.
This function is non-blocking. See 'set_rate_transponder' for the blocking counterpart.
Parameters
- double rate_hz -
 - const ResultCallback callback -
 
set_rate_transponder() ​
Result mavsdk::Transponder::set_rate_transponder(double rate_hz) constSet rate to 'transponder' updates.
This function is blocking. See 'set_rate_transponder_async' for the non-blocking counterpart.
Parameters
- double rate_hz -
 
Returns
 Result - Result of request.
operator=() ​
const Transponder & mavsdk::Transponder::operator=(const Transponder &)=deleteEquality operator (object is not copyable).
Parameters
- const Transponder& -
 
Returns
 const Transponder & -

