VSM C++ SDK
Vehicle Specific Modules SDK
vehicle.h File Reference

Vehicle interface representation. More...

#include <ugcs/vsm/request_worker.h>
#include <ugcs/vsm/vehicle_requests.h>
#include <ugcs/vsm/mavlink.h>
#include <ugcs/vsm/enum_set.h>
#include <ugcs/vsm/device.h>
#include <ugcs/vsm/crc32.h>
#include <stdint.h>
#include <memory>
#include <unordered_map>

Go to the source code of this file.

Classes

class  ugcs::vsm::Vehicle
 Base class for user-defined vehicles. More...
 
class  ugcs::vsm::Vehicle::Hasher
 Hasher for Vehicle shared pointer. More...
 
class  ugcs::vsm::Vehicle::Subdevice
 
struct  ugcs::vsm::Vehicle::Subsystems
 vehicle subsystems More...
 
class  ugcs::vsm::Vehicle::Sys_status
 System status of the vehicle. More...
 
class  ugcs::vsm::Vehicle::Command_map
 

Namespaces

 ugcs
 UGCS root namespace.
 
 ugcs::vsm
 All VSM SDK functionality resides in this namespace.
 

Macros

#define VEHICLE_LOG(level_, vehicle_, fmt_, ...)
 Convenience vehicle logging macro. More...
 
#define VEHICLE_LOG_DBG(vehicle_, fmt_, ...)   VEHICLE_LOG(::ugcs::vsm::Log::Level::DEBUGGING, vehicle_, fmt_, ## __VA_ARGS__)
 Different level convenience vehicle logging macros. More...
 
#define VEHICLE_LOG_INF(vehicle_, fmt_, ...)   VEHICLE_LOG(::ugcs::vsm::Log::Level::INFO, vehicle_, fmt_, ## __VA_ARGS__)
 
#define VEHICLE_LOG_WRN(vehicle_, fmt_, ...)   VEHICLE_LOG(::ugcs::vsm::Log::Level::WARNING, vehicle_, fmt_, ## __VA_ARGS__)
 
#define VEHICLE_LOG_ERR(vehicle_, fmt_, ...)   VEHICLE_LOG(::ugcs::vsm::Log::Level::ERROR, vehicle_, fmt_, ## __VA_ARGS__)
 

Detailed Description

Vehicle interface representation.

Macro Definition Documentation

#define VEHICLE_LOG (   level_,
  vehicle_,
  fmt_,
  ... 
)
Value:
_LOG_WRITE_MSG(level_, "[%s:%s] " fmt_, \
(vehicle_).Get_model_name().c_str(), \
(vehicle_).Get_serial_number().c_str(), ## __VA_ARGS__)
#define _LOG_WRITE_MSG(level, msg,...)
Write message to log.
Definition: log.h:320

Convenience vehicle logging macro.

Vehicle should be given by value (no copies will be made).

#define VEHICLE_LOG_DBG (   vehicle_,
  fmt_,
  ... 
)    VEHICLE_LOG(::ugcs::vsm::Log::Level::DEBUGGING, vehicle_, fmt_, ## __VA_ARGS__)

Different level convenience vehicle logging macros.

Vehicle should be given by value (no copies will be made).