Skip to content

Commit

Permalink
Merge pull request #164 from dji-sdk/release/v3.9.0
Browse files Browse the repository at this point in the history
NEW: release DJI Payload-SDK version 3.9.0
  • Loading branch information
dji-dev authored May 16, 2024
2 parents 51d8261 + edfc329 commit 0ef7855
Show file tree
Hide file tree
Showing 20 changed files with 499 additions and 457 deletions.
2 changes: 2 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ The following portions of the DJI’s Payload SDK (“Software” referred to in
│   ├── M30T.stp
│   ├── M3E.stp
│   ├── PSDK Mounting Bracket(Payload).stp
│   ├── Readme.txt
│   ├── Skyport_Adapter_2.stp
│   └── X-Port 80mm.stp
├── EULA.txt
Expand Down Expand Up @@ -670,6 +671,7 @@ The following portions of the DJI’s Payload SDK (“Software” referred to in
│   │   │   │   ├── STM32F407VGTX_FLASH.ld
│   │   │   │   └── stm32f4discovery.cfg
│   │   │   ├── mdk
│   │   │   │   ├── mdk_app.sct
│   │   │   │   └── mdk_app.uvprojx
│   │   │   └── mdk_bootloader
│   │   │   └── mdk_bootloader.uvprojx
Expand Down
33 changes: 17 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# DJI Payload SDK (PSDK)

![](https://img.shields.io/badge/version-V3.8.1-purple.svg)
![](https://img.shields.io/badge/platform-linux_|_rtos-green.svg)
![](https://img.shields.io/badge/version-V3.9.0-pink.svg)
![](https://img.shields.io/badge/platform-linux_|_rtos-cyan.svg)
![](https://img.shields.io/badge/license-MIT-blue.svg)

## What is the DJI Payload SDK?
Expand All @@ -23,22 +23,23 @@ to get the latest version information.

## Latest Release

The latest release version of PSDK is 3.8.1. This version of Payload SDK mainly add some new features support and fixed some
The latest release version of PSDK is 3.9.0. This version of Payload SDK mainly add some new features support and fixed some
bugs. Please refer to the release notes for detailed changes list.

* Removed the camera management module interface DjiCameraManager_GetPhotoBurstCount.
* Removed the AEB photography function in the camera management module.
* Fixed the issue where subscribing to real-time point cloud data was not byte-aligned on some platforms.
* Fixed the discrepancy between flight speed units and annotations in the motion planning WP 2.0 feature.
* Fixed issues with obtaining the camera shooting mode and zoom magnification on the Mavic 3 series drones.
* Optimized the startup time for PSDK initialization.
* Complemented the flight control topic CONTROL_DEVICE data structure definition and added related enumeration ranges.
* Fixed the incorrect zoom multiplier retrieval for the H20N camera.
* Fixed the issue where custom media file suffix names were not taking effect.
* Fixed the occasional subscription errors for single battery data in the M300 RTK and M350 RTK.
* Fixed anomalous Pilot widget values for the M30 series, M300 RTK, and M350 RTK remote controllers.
* Note: Streamlined the toolchain for compiling PSDK, removing low-usage toolchain libraries.
> We have stopped offering some toolchains on GitHub. If you have trouble building your project, reach out to the SDK Support Team for help.
* Supports the payload camera Zenmuse H30 series.
* FlyCart 30 aircraft supports the time synchronization function.
* FlyCart 30 aircraft supports HMS functions.
* FlyCart 30 aircraft supports the data subscription function.
* Fixed the issue with inaccurate zoom multiplier retrieval for the Mavic 3 Enterprise series cameras.
* Fixed data errors on the receiving end of small data transfers from MSDK to PSDK.
* Fixed the inability of devices at payload ports 2 and 3 of the M300 RTK aircraft to perform small data transmission to devices connected to the OSDK port.
* Fixed the issue where MSDK V5 and PSDK devices could not perform small data transmission when using M300 RTK and M350 RTK aircraft.
* Fixed occasional payload negotiation failures between PSDK and the M350 RTK aircraft.
* Fixed screen flickering and glitching issues with the H20T payload camera's video stream.
* Fixed issues with retrieving the visible light camera video stream from the M3TD camera.
* Optimized the C++ camera management sample.
* Optimized memory usage strategy for STM32 platform sample by introducing CCMRAM.
> Note: For M300 RTK and M350 RTK, the camera management module now checks the payload port device's status at startup. This may occasionally result in log errors. Normal function is not affected, and this will be optimized in a future release.
## License

Expand Down
292 changes: 142 additions & 150 deletions psdk_lib/include/dji_camera_manager.h

Large diffs are not rendered by default.

27 changes: 13 additions & 14 deletions psdk_lib/include/dji_core.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,27 +56,26 @@ typedef struct {
/* Exported functions --------------------------------------------------------*/
/**
* @brief Initialize the Payload SDK core in blocking mode.
* @note The call location of this interface requires special attention, The call needs to be completed after the
* registration of console/OSAL handler functions/HAL handler functions are completed. At the same time, it must be
* initialized at the beginning of calling other functional module interfaces. You need to fill in the developer
* information correctly to ensure the initialization is successful. For additional instructions, please refer to the
* tutorial“PSDK Initialization”.
* @note This function does not return until the correct aircraft type and PSDK adapter type is obtained. The logic ensures
* @note The order of calling this call is crucial. It must be done after registering console/OSAL/HAL handler functions
* It must be done after registering console/OSAL/HAL handler functions and before using other functional module
* interfaces. Correctly fill in the developer information to ensure successful initialization. See the
* See the "PSDK Initialization" tutorial for more.
* This function does not return until the correct aircraft type and PSDK adapter type is obtained. The logic ensures
* that aircraft and PSDK adapter have been started up normally before PSDK functional module and user's program run.
* General execution time of this function is 2~4 seconds.
* General execution time of this function is 2-4 seconds.
* @param userInfo: pointer to the PSDK application information.
* @return Execution result.
*/
T_DjiReturnCode DjiCore_Init(const T_DjiUserInfo *userInfo);

/**
* @brief Set an alias that satisfies the condition for DJI application or product.
* @details Alias will display in DJI Pilot, if exist.
* @brief Sets an alias for a DJI application or product that meets the condition for DJI application or product.
* If an alias exists, it will be displayed in DJI Pilot.
* @note Still need to pass in correct DJI APP name that is obtained from DJI SDK developer website to DjiCore_Init()
* interface. The DJI APP name will be used to bind or verification.
* @note Alias will be effective after a while, and the max value is 1s.
* @param productAlias: pointer to product alias string, and alias end with '\0'. The max length of the string is 31. If
* length of alias string is greater than 31, alias string will be truncated and passed in.
* interface. The DJI APP name will be used to bind and verification.
* The alias will take effect after a short delay, up to a maximum of 1 second.
* @param productAlias: A pointer to the product alias string, which must end with '\0'. The maximum length of the string is 31 characters.
* If the alias string exceeds 31 characters, it will be truncated before being passed in.
* @return Execution result.
*/
T_DjiReturnCode DjiCore_SetAlias(const char *productAlias);
Expand All @@ -99,7 +98,7 @@ T_DjiReturnCode DjiCore_SetSerialNumber(const char *productSerialNumber);

/**
* @brief Notify that the Payload SDK core application starts.
* @note The call location of this interface requires special attention, The call needs to be completed after all the
* @note The order of calling this interface requires special attention, The call needs to be completed after all the
* module initialize and register interfaces.
* @return Execution result.
*/
Expand Down
Loading

0 comments on commit 0ef7855

Please sign in to comment.