diff --git a/psdk_lib/include/dji_fc_subscription.h b/psdk_lib/include/dji_fc_subscription.h index ca06978..ede92da 100644 --- a/psdk_lib/include/dji_fc_subscription.h +++ b/psdk_lib/include/dji_fc_subscription.h @@ -662,6 +662,67 @@ typedef enum { DJI_FC_SUBSCRIPTION_HOME_POINT_SET_STATUS_SUCCESS = 1, /*!< The home point was set successfully. */ } E_DjiFcSubscriptionHomePointSetStatus; +/** + * @brief Smart battery self-check result. + */ +typedef enum { + DJI_FC_SUBSCRIPTION_BATTERY_SELF_CHECK_NORMAL = 0, /*!< Battery self-check is normal. */ + DJI_FC_SUBSCRIPTION_BATTERY_SELF_CHECK_NTC_ABNORMAL = 1, /*!< Battery self-check NTC is abnormal. */ + DJI_FC_SUBSCRIPTION_BATTERY_SELF_CHECK_MOS_ABNORMAL = 2, /*!< Battery self-check MOS is abnormal. */ + DJI_FC_SUBSCRIPTION_BATTERY_SELF_CHECK_R_ABNORMAL = 3, /*!< Battery self-check sampling resistance is abnormal. */ + DJI_FC_SUBSCRIPTION_BATTERY_SELF_CHECK_CELL_DAMAGE = 4, /*!< Battery cell self-check is damaged. */ + DJI_FC_SUBSCRIPTION_BATTERY_SELF_CHECK_CAL_EXP = 5, /*!< Battery self-check is not calibrated. */ + DJI_FC_SUBSCRIPTION_BATTERY_SELF_CHECK_GAUGE_PARM_EXP = 6, /*!< Battery self-check fuel gauge parameters is abnormal. */ +} E_DJIFcSubscriptionBatterySelfCheck; + +/** + * @brief Smart battery closed reason. + */ +typedef enum { + DJI_FC_SUBSCRIPTION_BATTERY_CLOSED_NORMAL = 0, /*!< Battery closed reason is normal shutdown. */ + DJI_FC_SUBSCRIPTION_BATTERY_CLOSED_FORCED = 1, /*!< Battery closed reason is forced by flight controller shutdown. */ + DJI_FC_SUBSCRIPTION_BATTERY_CLOSED_SCD = 2, /*!< Battery closed reason is discharge short circuit shutdown. */ + DJI_FC_SUBSCRIPTION_BATTERY_CLOSED_OLD = 3, /*!< Battery closed reason is discharge overload shutdown. */ + DJI_FC_SUBSCRIPTION_BATTERY_CLOSED_OCD = 4, /*!< Battery closed reason is discharge over current shutdown. */ + DJI_FC_SUBSCRIPTION_BATTERY_CLOSED_UVD = 5, /*!< Battery closed reason is discharge under voltage shutdown. */ + DJI_FC_SUBSCRIPTION_BATTERY_CLOSED_OTD = 6, /*!< Battery closed reason is discharge over temperature shutdown. */ + DJI_FC_SUBSCRIPTION_BATTERY_CLOSED_SCC = 16, /*!< Battery closed reason is charging short circuit shutdown. */ + DJI_FC_SUBSCRIPTION_BATTERY_CLOSED_OCC = 17, /*!< Battery closed reason is charging over current shutdown. */ + DJI_FC_SUBSCRIPTION_BATTERY_CLOSED_OVC = 18, /*!< Battery closed reason is charging over voltage shutdown. */ + DJI_FC_SUBSCRIPTION_BATTERY_CLOSED_CHARGER_OVC = 19, /*!< Battery closed reason is charger over voltage shutdown. */ + DJI_FC_SUBSCRIPTION_BATTERY_CLOSED_LTC = 20, /*!< Battery closed reason is charging low temperature shutdown. */ + DJI_FC_SUBSCRIPTION_BATTERY_CLOSED_HTC = 21, /*!< Battery closed reason is charging high temperature shutdown. */ +} E_DJIFcSubscriptionBatteryClosedReason; + +/** + * @brief Smart battery SOH state. + */ +typedef enum { + DJI_FC_SUBSCRIPTION_BATTERY_SOH_NORMAL = 0, /*!< Battery SOH state is normal. */ + DJI_FC_SUBSCRIPTION_BATTERY_SOH_ALERT = 1, /*!< Battery SOH state is alert. */ + DJI_FC_SUBSCRIPTION_BATTERY_SOH_SAFE = 2, /*!< Battery SOH state is safe. */ +} E_DJIFcSubscriptionBatterySohState; + +/** + * @brief Smart battery heart state. + */ +typedef enum { + DJI_FC_SUBSCRIPTION_BATTERY_NO_HEAT = 0, /*!< Battery is in no heat state. */ + DJI_FC_SUBSCRIPTION_BATTERY_IN_HEAT = 1, /*!< Battery is in heat state. */ + DJI_FC_SUBSCRIPTION_BATTERY_KEEP_WARM = 2, /*!< Battery is in keep warm state. */ +} E_DJIFcSubscriptionBatteryHeatState; + +/** + * @brief Smart battery SOC state. + */ +typedef enum { + DJI_FC_SUBSCRIPTION_BATTERY_SOC_NORMAL = 0, /*!< Battery SOC state is normal. */ + DJI_FC_SUBSCRIPTION_BATTERY_SOC_ABNORMAL_HIGH = 1, /*!< Battery SOC state is abnormal high. */ + DJI_FC_SUBSCRIPTION_BATTERY_SOC_JUMP_DOWN = 2, /*!< Battery SOC state is jump down. */ + DJI_FC_SUBSCRIPTION_BATTERY_SOC_JUMP_UP = 3, /*!< Battery SOC state is jump up. */ + DJI_FC_SUBSCRIPTION_BATTERY_SOC_INVALID = 4, /*!< Battery SOC state is invalid. */ +} E_DJIFcSubscriptionBatterySocState; + #pragma pack(1) /** @@ -885,22 +946,22 @@ typedef uint16_t T_DjiFcSubscriptionMotorStartError; typedef struct { uint32_t reserved: 12; - uint32_t cellBreak: 5; /*! 0:normal;other:Undervoltage core index(0x01-0x1F)*/ - uint32_t selfCheckError: 3; /*! enum-type: DJISmartBatterySelfCheck*/ + uint32_t cellBreak: 5; /*!< 0: normal; other: under voltage core index(0x01-0x1F). */ + uint32_t selfCheckError: 3; /*!< enum-type: E_DJIFcSubscriptionBatterySelfCheck. */ uint32_t reserved1: 7; - uint32_t batteryClosedReason: 5; /*! enum-type: DJI_BETTERY_CLOSED_REASON*/ - uint8_t reserved2: 6; /*! [0]CHG state;[1]DSG state;[2]ORING state*/ - uint8_t batSOHState: 2; /*! enum-type: DJISmartBatterySohState*/ - uint8_t maxCycleLimit: 6; /*! APP:cycle_limit*10*/ + uint32_t batteryClosedReason: 5; /*!< enum-type: E_DJIFcSubscriptionBatteryClosedReason. */ + uint8_t reserved2: 6; /*!< 0: CHG state; 1: DSG state; 2: ORING state. */ + uint8_t batSOHState: 2; /*!< enum-type: E_DJIFcSubscriptionBatterySohState. */ + uint8_t maxCycleLimit: 6; /*!< APP: cycle_limit*10. */ uint8_t reserved3: 2; uint16_t lessBattery: 1; uint16_t batteryCommunicationAbnormal: 1; uint16_t reserved4: 3; uint16_t hasCellBreak: 1; uint16_t reserved5: 4; - uint16_t isBatteryEmbed: 1; /*! 0:embed;1:unmebed*/ - uint16_t heatState: 2; /*!enum-type: DJISmartBatteryHeatState*/ - uint16_t socState: 3; /*!enum-type: DJISmartBatterySocWarning*/ + uint16_t isBatteryEmbed: 1; /*!< 0:embed; 1:not embed. */ + uint16_t heatState: 2; /*!< enum-type: E_DJIFcSubscriptionBatteryHeatState. */ + uint16_t socState: 3; /*!< enum-type: E_DJIFcSubscriptionBatterySocState. */ } T_DjiFcSubscriptionSingleBatteryState; /** @@ -916,17 +977,17 @@ typedef struct BatteryWholeInfo { typedef struct BatterySingleInfo { uint8_t reserve; uint8_t batteryIndex; - int32_t currentVoltage; /*! uint:mV*/ - int32_t currentElectric; /*!uint:mA*/ - uint32_t fullCapacity; /*!uint:mAh*/ - uint32_t remainedCapacity; /*!uint:mAh*/ - int16_t batteryTemperature; /*!uint:℃*/ + int32_t currentVoltage; /*!< uint:mV. */ + int32_t currentElectric; /*!< uint:mA. */ + uint32_t fullCapacity; /*!< uint:mAh. */ + uint32_t remainedCapacity; /*!< uint:mAh. */ + int16_t batteryTemperature; /*!< uint:℃. */ uint8_t cellCount; - uint8_t batteryCapacityPercent; /*!uint:%*/ + uint8_t batteryCapacityPercent; /*!< uint:%. */ T_DjiFcSubscriptionSingleBatteryState batteryState; uint8_t reserve1; uint8_t reserve2; - uint8_t SOP; /*!Relative power percentage*/ + uint8_t SOP; /*!< Relative power percentage. */ } T_DjiFcSubscriptionSingleBatteryInfo; /*! diff --git a/psdk_lib/include/dji_platform.h b/psdk_lib/include/dji_platform.h index 3164f26..6018eae 100644 --- a/psdk_lib/include/dji_platform.h +++ b/psdk_lib/include/dji_platform.h @@ -83,7 +83,18 @@ typedef void *T_DjiDirHandle; typedef void *T_DjiSocketHandle; typedef enum { + /** + * All aircraft type support,users can connect via chip serial port or USB to TTL serial port. + * Baud rate support list on M300 RTK Payload Port: 115200, 230400, 460800, 921600. + * Baud rate support list on M300 RTK Extension Port: 115200, 230400, 460800, 921600, 1000000. + * Baud rate support list on M30/M30T: 115200, 230400, 460800, 921600, 1000000. + * Baud rate support list on M3E/M3T: 921600. + * */ DJI_HAL_UART_NUM_0, + /** + * Only support on M300 RTK Extension Port by USB virtual serial port, such as /dev/ttyACM0. + * Baud rate support list on M300 RTK Extension Port: 921600. + * */ DJI_HAL_UART_NUM_1, } E_DjiHalUartNum; diff --git a/psdk_lib/include/dji_version.h b/psdk_lib/include/dji_version.h index c7ef978..b68f932 100644 --- a/psdk_lib/include/dji_version.h +++ b/psdk_lib/include/dji_version.h @@ -37,7 +37,7 @@ extern "C" { #define DJI_VERSION_MINOR 3 /*!< DJI SDK minor version num, when add functionality in a backwards compatible manner changes. Range from 0 to 99. */ #define DJI_VERSION_MODIFY 0 /*!< DJI SDK modify version num, when have backwards compatible bug fixes changes. Range from 0 to 99. */ #define DJI_VERSION_BETA 0 /*!< DJI SDK version beta info, release version will be 0, when beta version release changes. Range from 0 to 255. */ -#define DJI_VERSION_BUILD 1684 /*!< DJI SDK version build info, when jenkins trigger build changes. Range from 0 to 65535. */ +#define DJI_VERSION_BUILD 1695 /*!< DJI SDK version build info, when jenkins trigger build changes. Range from 0 to 65535. */ /* Exported types ------------------------------------------------------------*/ diff --git a/psdk_lib/include/dji_waypoint_v2_type.h b/psdk_lib/include/dji_waypoint_v2_type.h index db60969..7209852 100644 --- a/psdk_lib/include/dji_waypoint_v2_type.h +++ b/psdk_lib/include/dji_waypoint_v2_type.h @@ -37,6 +37,7 @@ extern "C" { /* Exported types ------------------------------------------------------------*/ typedef dji_f32_t T_DjiWaypointV2GlobalCruiseSpeed; + /** * Actions will be taken when the waypoint mission is finished. */ @@ -217,52 +218,44 @@ typedef enum { DJI_WAYPOINT_V2_TURN_MODE_UNKNOWN = 0xFF, } E_DJIWaypointV2TurnMode; - /** * All the possible state of ``WaypointV2MissionOperator``. */ typedef enum { /** - * The state of the operator is unknown. It is the initial state when the operator - * is just created. - */ - DJI_WAYPOINT_V2_MISSION_STATE_UNKNOWN = -1, + * Waypoint mission state is ground station not start. + */ + DJI_WAYPOINT_V2_MISSION_STATE_GROUND_STATION_NOT_START = 0, /** - * The connection OSDK device, remote controller and aircraft is - * broken. + * Waypoint mission state is mission prepared. */ - DJI_WAYPOINT_V2_MISSION_STATE_DISCONNECTED = 0, + DJI_WAYPOINT_V2_MISSION_STATE_MISSION_PREPARED = 1, /** - * Raed to execute the mission. + * Waypoint mission state is enter mission. */ - DJI_WAYPOINT_V2_MISSION_STATE_READY_TO_EXECUTE = 1, + DJI_WAYPOINT_V2_MISSION_STATE_ENTER_MISSION = 2, /** - * The execution is started successfully. + * Waypoint mission state is execute flying route mission. */ - DJI_WAYPOINT_V2_MISSION_STATE_EXECUTING = 2, + DJI_WAYPOINT_V2_MISSION_STATE_EXECUTING = 3, /** - * Waypoint mission is paused successfully. + * Waypoint mission state is pause state. */ - DJI_WAYPOINT_V2_MISSION_STATE_INTERRUPTED = 3, + DJI_WAYPOINT_V2_MISSION_STATE_PAUSED = 4, /** - * Waypoint mission is restarted after interrupted. + * Waypoint mission state is enter mission after ending pause. */ - DJI_WAYPOINT_V2_MISSION_STATE_RESUME_AFTER_INTERRUPTED = 4, + DJI_WAYPOINT_V2_MISSION_STATE_ENTER_MISSION_AFTER_ENDING_PAUSE = 5, /** - * Waypoint mission is exited. + * Waypoint mission state is exit mission. */ - DJI_WAYPOINT_V2_MISSION_STATE_EXIT_MISSION = 5, - - /** - * Waypoint mission is finished. - */ - DJI_WAYPOINT_V2_MISSION_STATE_FINISHED_MISSION = 6, + DJI_WAYPOINT_V2_MISSION_STATE_EXIT_MISSION = 6, } E_DJIWaypointV2MissionState; /*! waypoint position relative to WayPointV2InitSettings's reference point @@ -371,8 +364,6 @@ typedef struct { uint16_t waypointV2Num; } T_DjiWaypointV2List; -//Action Notes - /** * Possible types of action trigger. */ @@ -450,7 +441,6 @@ typedef enum { DJI_WAYPOINT_V2_ACTION_INTERVAL_TYPE_UNKNOWN = 0xFF, } E_DJIWaypointV2ActionIntervalType; - /** * Possible types of action actuator. */ @@ -638,7 +628,6 @@ typedef struct { } T_DJIWaypointV2IntervalTriggerParam; - typedef struct { //see "E_DJIWaypointV2ActionTriggerType" uint8_t actionTriggerType; @@ -650,7 +639,6 @@ typedef struct { }; } T_DJIWaypointV2Trigger; - /*! Focus point parameter */ typedef struct { @@ -968,7 +956,7 @@ typedef struct { dji_f64_t refLati; dji_f64_t refLong; dji_f32_t refAlti; -} T_WayPointV2InitSettingsInternal;// pack(1) +} T_WayPointV2InitSettingsInternal; /*! Mission's event data */ @@ -1049,24 +1037,15 @@ typedef struct { uint8_t event; uint32_t FCTimestamp; U_DjiWaypointV2EventData data; -} T_DjiWaypointV2MissionEventPush;// pack(1) +} T_DjiWaypointV2MissionEventPush; #pragma pack() /*! Mission's state push data */ typedef struct { uint16_t curWaypointIndex; - /*! - * 0x0:ground station not start. - * 0x1:mission prepared. - * 0x2:enter mission. - * 0x3:execute flying route mission. - * 0x4:pause state. - * 0x5:enter mission after ending pause. - * 0x6:exit mission. - */ - uint8_t state; - uint16_t velocity; //uint:0.01m/s + uint8_t state; /*!< enum-type: E_DJIWaypointV2MissionState. */ + uint16_t velocity; /*!< Uint:0.01m/s. */ } T_DjiWaypointV2MissionStatePush; typedef struct { diff --git a/psdk_lib/lib/aarch64-himix100-linux-gcc/libpayloadsdk.a b/psdk_lib/lib/aarch64-himix100-linux-gcc/libpayloadsdk.a index ed54fb8..7083a30 100644 Binary files a/psdk_lib/lib/aarch64-himix100-linux-gcc/libpayloadsdk.a and b/psdk_lib/lib/aarch64-himix100-linux-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/aarch64-linux-gnu-gcc/libpayloadsdk.a b/psdk_lib/lib/aarch64-linux-gnu-gcc/libpayloadsdk.a index 02d5df4..d93440f 100644 Binary files a/psdk_lib/lib/aarch64-linux-gnu-gcc/libpayloadsdk.a and b/psdk_lib/lib/aarch64-linux-gnu-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/arm-himix100-linux-gcc/libpayloadsdk.a b/psdk_lib/lib/arm-himix100-linux-gcc/libpayloadsdk.a index 6f9adc0..0a571a3 100644 Binary files a/psdk_lib/lib/arm-himix100-linux-gcc/libpayloadsdk.a and b/psdk_lib/lib/arm-himix100-linux-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/arm-himix200-linux-gcc/libpayloadsdk.a b/psdk_lib/lib/arm-himix200-linux-gcc/libpayloadsdk.a index d7f1e50..227082e 100644 Binary files a/psdk_lib/lib/arm-himix200-linux-gcc/libpayloadsdk.a and b/psdk_lib/lib/arm-himix200-linux-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/arm-hisiv300-linux-gcc/libpayloadsdk.a b/psdk_lib/lib/arm-hisiv300-linux-gcc/libpayloadsdk.a index a8b8324..928d0fc 100644 Binary files a/psdk_lib/lib/arm-hisiv300-linux-gcc/libpayloadsdk.a and b/psdk_lib/lib/arm-hisiv300-linux-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/arm-hisiv400-linux-gcc/libpayloadsdk.a b/psdk_lib/lib/arm-hisiv400-linux-gcc/libpayloadsdk.a index f9d2d2d..62e8585 100644 Binary files a/psdk_lib/lib/arm-hisiv400-linux-gcc/libpayloadsdk.a and b/psdk_lib/lib/arm-hisiv400-linux-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/arm-hisiv500-linux-gcc/libpayloadsdk.a b/psdk_lib/lib/arm-hisiv500-linux-gcc/libpayloadsdk.a index abac968..4a94d70 100644 Binary files a/psdk_lib/lib/arm-hisiv500-linux-gcc/libpayloadsdk.a and b/psdk_lib/lib/arm-hisiv500-linux-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/arm-hisiv600-linux-gcc/libpayloadsdk.a b/psdk_lib/lib/arm-hisiv600-linux-gcc/libpayloadsdk.a index 27136ce..a69f0cf 100644 Binary files a/psdk_lib/lib/arm-hisiv600-linux-gcc/libpayloadsdk.a and b/psdk_lib/lib/arm-hisiv600-linux-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/arm-linux-gnueabi-gcc/libpayloadsdk.a b/psdk_lib/lib/arm-linux-gnueabi-gcc/libpayloadsdk.a index 3fb1fe8..36a17f3 100644 Binary files a/psdk_lib/lib/arm-linux-gnueabi-gcc/libpayloadsdk.a and b/psdk_lib/lib/arm-linux-gnueabi-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/arm-linux-gnueabihf-gcc/libpayloadsdk.a b/psdk_lib/lib/arm-linux-gnueabihf-gcc/libpayloadsdk.a index 254430c..7c61e89 100644 Binary files a/psdk_lib/lib/arm-linux-gnueabihf-gcc/libpayloadsdk.a and b/psdk_lib/lib/arm-linux-gnueabihf-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/arm-none-eabi-gcc/libpayloadsdk.a b/psdk_lib/lib/arm-none-eabi-gcc/libpayloadsdk.a index e03160b..416ba60 100644 Binary files a/psdk_lib/lib/arm-none-eabi-gcc/libpayloadsdk.a and b/psdk_lib/lib/arm-none-eabi-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/armcc_cortex-m4/libpayload.lib b/psdk_lib/lib/armcc_cortex-m4/libpayload.lib index bc9565f..253dc9c 100644 Binary files a/psdk_lib/lib/armcc_cortex-m4/libpayload.lib and b/psdk_lib/lib/armcc_cortex-m4/libpayload.lib differ diff --git a/psdk_lib/lib/x86_64-linux-gnu-gcc/libpayloadsdk.a b/psdk_lib/lib/x86_64-linux-gnu-gcc/libpayloadsdk.a index 6d32318..df8189c 100644 Binary files a/psdk_lib/lib/x86_64-linux-gnu-gcc/libpayloadsdk.a and b/psdk_lib/lib/x86_64-linux-gnu-gcc/libpayloadsdk.a differ diff --git a/psdk_lib/lib/xtensa-esp32-elf-gcc/libpayloadsdk.a b/psdk_lib/lib/xtensa-esp32-elf-gcc/libpayloadsdk.a index 0c4daf8..a1231ac 100644 Binary files a/psdk_lib/lib/xtensa-esp32-elf-gcc/libpayloadsdk.a and b/psdk_lib/lib/xtensa-esp32-elf-gcc/libpayloadsdk.a differ