dji_hms_impl.hpp
Go to the documentation of this file.
1 
30 #ifndef RESOURCES_DJI_HMS_IMPL_H
31 #define RESOURCES_DJI_HMS_IMPL_H
32 
33 #include <iostream>
34 #include <string>
35 #include "dji_type.hpp"
36 #include "dji_hms.hpp"
37 #include "dji_telemetry.hpp"
38 
39 namespace DJI{
40 namespace OSDK{
41 
42 // Forward Declarations
43 class Vehicle;
44 
45 class DJIHMSImpl {
46 public:
47  DJIHMSImpl(Vehicle *vehicle);
48  ~DJIHMSImpl();
49 
50  Vehicle* vehicle;
51 
57  std::string getHMSVersion();
58 
68  HMSPushPacket& getHMSPushPacket();
69 
79  uint8_t getDeviceIndex();
80 
81  void setHMSPushData(const uint8_t *hmsPushData, uint16_t dataLen);
82  void setHMSTimeStamp();
83  void setDeviceIndex(uint8_t sender);
84 
85  bool createHMSInfoLock();
86  bool lockHMSInfo();
87  bool freeHMSInfo();
88  bool destroyHMSInfoLock();
89 private:
90  HMSPushPacket hmsPushPacket;
92  uint8_t deviceIndex;
93 
94  T_OsdkMutexHandle m_hmsLock;
95 
102  uint8_t getComponentIndex(uint8_t sender);
103 };
104  }// OSDK
105 } //DJI
106 
107 
108 #endif //RESOURCES_DJI_HMS_IMPL_H
struct DJI::OSDK::HMSPushPacket HMSPushPacket
Data type and Data Structure definitions for use throughout DJI OSDK.
Enumeration of all telemetry data types, structures and maps.
HMS(Health Management System) API for DJI OSDK @Details Provide API to subscribe Flight's Health Stat...
Definition: dji_ack.cpp:38