VSM C++ SDK
Vehicle Specific Modules SDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
adsb_vehicle.h
1 // Copyright (c) 2018, Smart Projects Holdings Ltd
2 // All rights reserved.
3 // See LICENSE file for license details.
4 
5 // Base class for aircraft reported by ADSB receiver
6 // Contains common telemetry fields based on received ADSB messages.
7 // All adsb receiver implementations should derive vehicle instances from this class.
8 
9 #ifndef _UGCS_VSM_ADSB_VEHICLE_H_
10 #define _UGCS_VSM_ADSB_VEHICLE_H_
11 
12 #include <ugcs/vsm/device.h>
13 
16 
17 public:
18  Adsb_vehicle(uint32_t icao);
19 
20 protected:
21  ugcs::vsm::Property::Ptr t_latitude = nullptr;
22  ugcs::vsm::Property::Ptr t_longitude = nullptr;
23  // See proto::Adsb_altitude_source
24  ugcs::vsm::Property::Ptr t_altitude_type = nullptr;
25  ugcs::vsm::Property::Ptr t_altitude_amsl = nullptr;
26  ugcs::vsm::Property::Ptr t_heading = nullptr;
27  ugcs::vsm::Property::Ptr t_ground_speed = nullptr;
28  ugcs::vsm::Property::Ptr t_vertical_speed = nullptr;
29  ugcs::vsm::Property::Ptr t_callsign = nullptr;
30  // See proto::Adsb_emitter_type
31  ugcs::vsm::Property::Ptr t_emitter_type = nullptr;
32  ugcs::vsm::Property::Ptr t_squawk = nullptr;
33 
34  ugcs::vsm::Subsystem::Ptr data_instance;
35 };
36 
37 #endif /* _UGCS_VSM_ADSB_VEHICLE_H_ */
std::shared_ptr< Adsb_vehicle > Ptr
Pointer type.
Definition: adsb_vehicle.h:15
Definition: adsb_vehicle.h:14
Definition: device.h:54
#define DEFINE_COMMON_CLASS(__class_name,...)
Use this macro to define some common attributes for a class.
Definition: utils.h:25