DJI Payload SDK  1.5.3
doxygen-mainpage.hpp
1 //
2 // Created by rohit on 6/7/17.
3 //
4 
5 #ifndef PAYLOADSDK_DOXYGEN_MAINPAGE_HPP
6 #define PAYLOADSDK_DOXYGEN_MAINPAGE_HPP
7 
8 /*! @mainpage
9  *
10  * This section provides API Reference for the DJI Payload SDK (PSDK).
11  *
12  * @section intro_sec Introduction
13  *
14  * PSDK (Payload SDK) basically allows users to develop their own payload that can use the power and communications
15  * resources of DJI drone system (drone, remote controller and mobile app). As illustrated in the following diagram,
16  * PSDK (Payload SDK) program includes three layers:
17  * @image html psdk_architecture.jpg
18  * PSDK Arch Layer: It is the \ref PSDK_Platform_Wrapper "PSDK platform wrapper layer", which is used to port payload
19  * SDK to different platforms.
20  *
21  * PSDK Core Layer: It is the PSDK low layer to deal with PSDK protocol parse, protocol packages and debugging, that
22  * is, \ref PSDK_Core "PSDK Core".
23  *
24  * PSDK Upper Layer: It is the PSDK function layer, including \ref PSDK_Upper "PSDK Upper", \ref PSDK_App_Function
25  * "PSDK App Function", \ref PSDK_Message_Push "PSDK Message Push", \ref PSDK_Camera "PSDK Camera", \ref PSDK_Gimbal
26  * "PSDK Gimbal", \ref PSDK_Osdk_Function "PSDK Osdk Function" and \ref PSDK_Positioning "PSDK Positioning" modules.
27  * User can call these layer interface functions to use PSDK functionality.
28  *
29  * User Application Layer: It is user's application which uses PSDK API for meeting the needs of the user's application.
30  *
31  * @section feat_sec Features
32  *
33  * Developers can gain an end-to-end understanding of each feature, from the high-level ideas all the way to the API
34  * documentation, using this table:
35  *
36  * | Modules | Related API Groups | Description |
37  * |----------------------------------------------|------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
38  * | **PSDK Upper** | \ref PSDK_Upper | Class with APIs & data structures for PSDK protocol structure initializing, user's application information setting, low-level communication between payload and Skyport adapter, synchronous of payload state and link checking between payload and Skyport adapter. |
39  * | **PSDK App Function** | \ref PSDK_App_Function | Class with APIs & data structures for data transmission between payload and mobile application, widgets set & get. |
40  * | **PSDK Message Push** | \ref PSDK_Message_Push | Class with APIs & data structures for receiving data pushed by Skyport adapter, for instance, image transmission bandwidth data, UAV attitude, etc. |
41  * | **PSDK Camera** | \ref PSDK_Camera | Class with APIs & data structures for payload camera operation. |
42  * | **PSDK Gimbal** | \ref PSDK_Gimbal | Class with APIs & data structures for payload gimbal operation. |
43  * | **PSDK Osdk Function** | \ref PSDK_Osdk_Function | Class with APIs & data structures for data transmission between payload and OSDK application. |
44  * | **PSDK Positioning** | \ref PSDK_Positioning | Class with APIs & data structures for positioning. |
45  * | **PSDK Core** | \ref PSDK_Core | Class with data structures for PSDK protocol parsing, protocol packing and debugging. |
46  * | **PSDK Platform Wrapper** | \ref PSDK_Platform_Wrapper | Class with APIs & data structures for achieving memory management and mutex operation. |
47  *
48  * @section q_a Q & A
49  *
50  * @subsection question How is Payload SDK ported to your own platform?
51  *
52  * Referring to \ref PSDK_Platform_Wrapper "PSDK Platform Wrapper", add your platform arch code. We already provide
53  * mcu-bare-metal, Linux and some RTOS arch code.
54  *
55  */
56 
57 #endif //PAYLOADSDK_DOXYGEN_MAINPAGE_HPP