DJI Payload SDK  1.5.3
psdk_msg_subcribe.h
Go to the documentation of this file.
1 /**
2  ******************************************************************************
3  * @file psdk_msg_subcribe.h
4  * @version V1.5.0
5  * @date 2019/07/31
6  * @brief
7  * This is the header file for "psdk_msg_subcribe.c", defining the structure and
8  * (exported) function prototypes.
9  *
10  * @copyright (c) 2017-2018 DJI. All rights reserved.
11  *
12  * All information contained herein is, and remains, the property of DJI.
13  * The intellectual and technical concepts contained herein are proprietary
14  * to DJI and may be covered by U.S. and foreign patents, patents in process,
15  * and protected by trade secret or copyright law. Dissemination of this
16  * information, including but not limited to data and other proprietary
17  * material(s) incorporated within the information, in any form, is strictly
18  * prohibited without the express written consent of DJI.
19  *
20  * If you receive this source code without DJI’s authorization, you may not
21  * further disseminate the information, and you must immediately remove the
22  * source code and notify DJI of its removal. DJI reserves the right to pursue
23  * legal actions against you for any loss(es) or damage(s) caused by your
24  * failure to do so.
25  *
26  ******************************************************************************
27  */
28 
29 /* Define to prevent recursive inclusion -------------------------------------*/
30 #ifndef PSDK_MSG_SUBCRIBE_H
31 #define PSDK_MSG_SUBCRIBE_H
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 /* Includes ------------------------------------------------------------------*/
38 #include "psdk_upper.h"
39 #include "psdk_cmdset.h"
40 
41 /** @addtogroup PSDK
42  * @{
43  */
44 
45 /** @addtogroup PSDK_Message_Push
46  * @{
47  */
48 
49 /* Exported constants --------------------------------------------------------*/
50 /* Exported macros -----------------------------------------------------------*/
51 /* Exported types ------------------------------------------------------------*/
52 
53 /** @defgroup M_Push_Exported_Types Exported Types
54  * @{
55  */
56 
57 /** @defgroup M_Push_Callback_Related Callback Related
58  * @{
59  */
60 
61 /**
62  * @brief Callback function list for receiving push data.
63  * @details This structure type is used to define a list structure that
64  * includes all the callback functions that you can design for the push data:
65  * 1. Data transmission bandwidth push
66  * 2. UAV attitude push
67  * 3. Battery information push
68  * 4. GPS information push
69  * 5. UAV state push
70  * 6. APP time and date push
71  * 7. Barometric height push
72  * 8. GPS raw data push
73  * 9. RTK raw data push
74  * 10. UTC timestamp push
75  * 11. other payload type push
76  * 12. other payload focal length push
77  */
78 typedef struct {
79  void (*bandWidthMsgCallback) (const T_BandWidthMsg *); /*!< Data transmission bandwidth push callback function. */
80  void (*uavAttitudeMsgCallback) (const T_UavAttitudeMsg *); /*!< UAV attitude push callback function. */
81  void (*batteryInfoMsgCallback) (const T_BatteryInfoMsg *, T_BatteryInfoAck *);
82  /*!< Battery information push callback function. */
83  void (*gpsInfoMsgCallback) (const T_GPSInfoMsg *); /*!< GPS information push callback function. */
84  void (*uavStateMsgCallback) (const T_UavStateMsg *); /*!< UAV state push callback function. */
85  void (*appDateTimeMsgCallback) (const T_AppDateTimeMsg *); /*!< APP time and date push callback function. */
86  void (*baroHeightDataMsgCallback) (const T_baroHeightDataMsg *); /*!< Barometric height push callback function. */
87  void (*gpsRawDataMsgCallback) (const T_GpsRawDataMsg *); /*!< GPS raw data push callback function. */
88  void (*rtkRawDataMsgCallback) (const T_RtkRawDataMsg *); /*!< RTK raw data push callback function. */
89  void (*utcTimestampMsgCallback) (const T_UtcTimestampMsg *); /*!< UTC timestamp push callback function. */
90  void (*otherPayloadTypeMsgCallback) (const T_OtherPayloadTypeMsg *); /*!< type of other payload mounted on UAV
91  push callback function. */
92  void (*otherPayloadFocalLengthMsgCallback) (const T_OtherPayloadFocalLengthMsg *);
93  /*!< focal length of other payload mounted on UAV
94  push callback function. */
96 
97 /**
98  * @}
99  */
100 
101 /**
102  * @}
103  */
104 
105 /* Exported variables --------------------------------------------------------*/
106 /* Exported functions --------------------------------------------------------*/
107 
108 /** @defgroup M_Push_Exported_Functions Exported Functions
109  * @{
110  */
111 
112 E_PsdkStat PsdkMsgSub_Init(T_PsdkUpper *psdkUpper);
113 E_PsdkStat PsdkMsgSub_RegMsgCallbackList(T_PsdkUpper *psdkUpper, const T_PsdkPushDataMsgCallbackList *PushDataMsgCallbackList);
114 
115 /**
116  * @}
117  */
118 
119 /* Private constants ---------------------------------------------------------*/
120 /* Private macros ------------------------------------------------------------*/
121 /* Private types -------------------------------------------------------------*/
122 /* Private variables ---------------------------------------------------------*/
123 /* Private functions ---------------------------------------------------------*/
124 
125 /**
126  * @}
127  */
128 
129 /**
130  * @}
131  */
132 
133 #ifdef __cplusplus
134 }
135 #endif
136 
137 #endif //PSDK_MSG_SUBCRIBE_H
138 
139 /************************ (C) COPYRIGHT DJI Innovations *******END OF FILE******/
This is a structure type for defining a top-level structure for the integration of your application w...
Definition: psdk_upper.h:113
The structure defining APP Time and Date Push contents.
Definition: psdk_cmdset_msg_push.h:566
The structure defining UTC timestamp Push contents.
Definition: psdk_cmdset_msg_push.h:579
The structure defining Baro Height Data Push contents.
Definition: psdk_cmdset_msg_push.h:491
The structure defining UAV Attitude Push contents.
Definition: psdk_cmdset_msg_push.h:443
Callback function list for receiving push data.
Definition: psdk_msg_subcribe.h:78
The structure defining Other Payload Focal Length Push contents.
Definition: psdk_cmdset_msg_push.h:602
This is the header file for "psdk_upper.c", defining the structures and (exported) function prototype...
The structure defining Data Transmission Bandwidth Push contents.
Definition: psdk_cmdset_msg_push.h:398
The structure defining Battery Information Push contents.
Definition: psdk_cmdset_msg_push.h:455
The structure defining GPS Raw Data Push contents.
Definition: psdk_cmdset_msg_push.h:499
The structure defining GPS Information Push contents.
Definition: psdk_cmdset_msg_push.h:478
The structure defining RTK Raw Data Push contents.
Definition: psdk_cmdset_msg_push.h:529
The structure defining UAV State Push contents.
Definition: psdk_cmdset_msg_push.h:547
The structure defining Other Payload Type Push contents.
Definition: psdk_cmdset_msg_push.h:593
The structure defining ack of Battery Information Push Command.
Definition: psdk_cmdset_msg_push.h:466
This file defines the PSDK command set.