NEW: add the M30T model stp and esp32 toolchain support
Signed-off-by: DJI-Martin <DJI-Martin@dji.com>
This commit is contained in:
1042701
doc/simple_model/M30T.stp
Normal file
1042701
doc/simple_model/M30T.stp
Normal file
File diff suppressed because it is too large
Load Diff
@ -471,13 +471,16 @@ typedef struct {
|
|||||||
typedef struct {
|
typedef struct {
|
||||||
union {
|
union {
|
||||||
struct {
|
struct {
|
||||||
uint8_t reserved[16];
|
uint32_t attributePhotoReserved: 22;
|
||||||
|
uint32_t attributePhotoRatio: 8;
|
||||||
|
uint32_t attributePhotoRotation: 2;
|
||||||
|
uint8_t reserved[12];
|
||||||
} photoAttribute;
|
} photoAttribute;
|
||||||
struct {
|
struct {
|
||||||
uint8_t attributeVideoDuration;
|
uint32_t attributeVideoDuration: 16;
|
||||||
uint8_t attributeVideoFramerate;
|
uint32_t attributeVideoFramerate: 6;
|
||||||
uint8_t attributeVideoRotation;
|
uint32_t attributeVideoRotation: 2;
|
||||||
uint8_t attributeVideoResolution;
|
uint32_t attributeVideoResolution: 8;
|
||||||
uint8_t reserved[12];
|
uint8_t reserved[12];
|
||||||
} videoAttribute;
|
} videoAttribute;
|
||||||
};
|
};
|
||||||
@ -488,7 +491,7 @@ typedef struct {
|
|||||||
uint32_t fileSize;
|
uint32_t fileSize;
|
||||||
uint32_t fileIndex;
|
uint32_t fileIndex;
|
||||||
T_DjiCameraManagerFileCreateTime createTime;
|
T_DjiCameraManagerFileCreateTime createTime;
|
||||||
uint8_t type;
|
E_DjiCameraMediaFileType type;
|
||||||
T_DjiCameraManagerFileAttributeData attributeData;
|
T_DjiCameraManagerFileAttributeData attributeData;
|
||||||
} T_DjiCameraManagerFileListInfo;
|
} T_DjiCameraManagerFileListInfo;
|
||||||
|
|
||||||
|
@ -252,6 +252,10 @@ typedef struct {
|
|||||||
dji_f64_t latitude; /*!< unit: rad */
|
dji_f64_t latitude; /*!< unit: rad */
|
||||||
dji_f64_t longitude; /*!< unit: rad */
|
dji_f64_t longitude; /*!< unit: rad */
|
||||||
} T_DjiFlightControllerHomeLocation; // pack(1)
|
} T_DjiFlightControllerHomeLocation; // pack(1)
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
char serialNum[16];
|
||||||
|
} T_DjiFlightControllerGeneralInfo;
|
||||||
#pragma pack()
|
#pragma pack()
|
||||||
|
|
||||||
/* Exported functions --------------------------------------------------------*/
|
/* Exported functions --------------------------------------------------------*/
|
||||||
@ -585,6 +589,14 @@ T_DjiReturnCode DjiFlightController_ExecuteEmergencyBrakeAction(void);
|
|||||||
*/
|
*/
|
||||||
T_DjiReturnCode DjiFlightController_CancelEmergencyBrakeAction(void);
|
T_DjiReturnCode DjiFlightController_CancelEmergencyBrakeAction(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get general info of the aircraft.
|
||||||
|
* @param generalInfo: the struct stored the serial num which contains a array of chars var in case the user gives an
|
||||||
|
* illegal length character pointer
|
||||||
|
* @return Execution result.
|
||||||
|
*/
|
||||||
|
T_DjiReturnCode DjiFlightController_GetGeneralInfo(T_DjiFlightControllerGeneralInfo *generalInfo);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -53,10 +53,15 @@ typedef enum {
|
|||||||
typedef enum {
|
typedef enum {
|
||||||
DJI_LIVEVIEW_CAMERA_SOURCE_DEFAULT = 0,
|
DJI_LIVEVIEW_CAMERA_SOURCE_DEFAULT = 0,
|
||||||
DJI_LIVEVIEW_CAMERA_SOURCE_H20_WIDE = 1,
|
DJI_LIVEVIEW_CAMERA_SOURCE_H20_WIDE = 1,
|
||||||
DJI_LIVEVIEW_CAMERA_SOURCE_H20T_WIDE = 1,
|
|
||||||
DJI_LIVEVIEW_CAMERA_SOURCE_H20_ZOOM = 2,
|
DJI_LIVEVIEW_CAMERA_SOURCE_H20_ZOOM = 2,
|
||||||
|
DJI_LIVEVIEW_CAMERA_SOURCE_H20T_WIDE = 1,
|
||||||
DJI_LIVEVIEW_CAMERA_SOURCE_H20T_ZOOM = 2,
|
DJI_LIVEVIEW_CAMERA_SOURCE_H20T_ZOOM = 2,
|
||||||
DJI_LIVEVIEW_CAMERA_SOURCE_H20T_IR = 3
|
DJI_LIVEVIEW_CAMERA_SOURCE_H20T_IR = 3,
|
||||||
|
DJI_LIVEVIEW_CAMERA_SOURCE_M30_ZOOM = 1,
|
||||||
|
DJI_LIVEVIEW_CAMERA_SOURCE_M30_WIDE = 2,
|
||||||
|
DJI_LIVEVIEW_CAMERA_SOURCE_M30T_ZOOM = 1,
|
||||||
|
DJI_LIVEVIEW_CAMERA_SOURCE_M30T_WIDE = 2,
|
||||||
|
DJI_LIVEVIEW_CAMERA_SOURCE_M30T_IR = 3
|
||||||
} E_DjiLiveViewCameraSource;
|
} E_DjiLiveViewCameraSource;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -82,16 +82,6 @@ typedef enum {
|
|||||||
DJI_CAMERA_FOCUS_MODE_AUTO = 1, /*!< Auto focus mode. */
|
DJI_CAMERA_FOCUS_MODE_AUTO = 1, /*!< Auto focus mode. */
|
||||||
} E_DjiCameraFocusMode;
|
} E_DjiCameraFocusMode;
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Camera supported media file type.
|
|
||||||
*/
|
|
||||||
typedef enum {
|
|
||||||
DJI_CAMERA_FILE_TYPE_JPEG = 0, /*!< Media file JPEG type. */
|
|
||||||
DJI_CAMERA_FILE_TYPE_DNG = 1, /*!< Media file DNG type. */
|
|
||||||
DJI_CAMERA_FILE_TYPE_MOV = 2, /*!< Media file MOV type. */
|
|
||||||
DJI_CAMERA_FILE_TYPE_MP4 = 3, /*!< Media file MP4 type. */
|
|
||||||
} E_DjiCameraMediaFileType;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Camera playback mode in playback process.
|
* @brief Camera playback mode in playback process.
|
||||||
*/
|
*/
|
||||||
|
@ -120,6 +120,17 @@ typedef enum {
|
|||||||
DJI_CAMERA_TYPE_M30T, /*!< Camera type is M30T. */
|
DJI_CAMERA_TYPE_M30T, /*!< Camera type is M30T. */
|
||||||
} E_DjiCameraType;
|
} E_DjiCameraType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Camera supported media file type.
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
DJI_CAMERA_FILE_TYPE_JPEG = 0, /*!< Media file JPEG type. */
|
||||||
|
DJI_CAMERA_FILE_TYPE_DNG = 1, /*!< Media file DNG type. */
|
||||||
|
DJI_CAMERA_FILE_TYPE_MOV = 2, /*!< Media file MOV type. */
|
||||||
|
DJI_CAMERA_FILE_TYPE_MP4 = 3, /*!< Media file MP4 type. */
|
||||||
|
DJI_CAMERA_FILE_TYPE_UNKNOWN = 255, /*!< Media file unknown type. */
|
||||||
|
} E_DjiCameraMediaFileType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Camera optical zoom specifies.
|
* @brief Camera optical zoom specifies.
|
||||||
*/
|
*/
|
||||||
|
@ -37,7 +37,7 @@ extern "C" {
|
|||||||
#define DJI_VERSION_MINOR 1 /*!< DJI SDK minor version num, when add functionality in a backwards compatible manner changes. Range from 0 to 99. */
|
#define DJI_VERSION_MINOR 1 /*!< 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_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_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 1491 /*!< DJI SDK version build info, when jenkins trigger build changes. Range from 0 to 65535. */
|
#define DJI_VERSION_BUILD 1500 /*!< DJI SDK version build info, when jenkins trigger build changes. Range from 0 to 65535. */
|
||||||
|
|
||||||
/* Exported types ------------------------------------------------------------*/
|
/* Exported types ------------------------------------------------------------*/
|
||||||
|
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
psdk_lib/lib/xtensa-esp32-elf-gcc/libpayloadsdk.a
Normal file
BIN
psdk_lib/lib/xtensa-esp32-elf-gcc/libpayloadsdk.a
Normal file
Binary file not shown.
@ -90,37 +90,6 @@ void DjiUser_RunCameraStreamViewSample()
|
|||||||
USER_LOG_ERROR("Get file current path error, stat = 0x%08llX", returnCode);
|
USER_LOG_ERROR("Get file current path error, stat = 0x%08llX", returnCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
cout << "Please enter the type of camera stream you want to view\n\n"
|
|
||||||
<< "--> [f] Fpv Camera\n"
|
|
||||||
<< "--> [m] Main Camera\n"
|
|
||||||
<< "--> [v] Vice Camera\n"
|
|
||||||
<< "--> [t] Top Camera\n"
|
|
||||||
<< endl;
|
|
||||||
cin >> cameraIndexChar;
|
|
||||||
|
|
||||||
switch (cameraIndexChar) {
|
|
||||||
case 'f':
|
|
||||||
case 'F':
|
|
||||||
liveviewSample->StartFpvCameraStream(&DjiUser_ShowRgbImageCallback, &fpvName);
|
|
||||||
break;
|
|
||||||
case 'm':
|
|
||||||
case 'M':
|
|
||||||
liveviewSample->StartMainCameraStream(&DjiUser_ShowRgbImageCallback, &mainName);
|
|
||||||
break;
|
|
||||||
case 'v':
|
|
||||||
case 'V':
|
|
||||||
liveviewSample->StartViceCameraStream(&DjiUser_ShowRgbImageCallback, &viceName);
|
|
||||||
break;
|
|
||||||
case 't':
|
|
||||||
case 'T':
|
|
||||||
liveviewSample->StartTopCameraStream(&DjiUser_ShowRgbImageCallback, &topName);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
cout << "No camera selected";
|
|
||||||
delete liveviewSample;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
cout << "Please choose the stream demo you want to run\n\n"
|
cout << "Please choose the stream demo you want to run\n\n"
|
||||||
<< "--> [0] Normal RGB image display\n"
|
<< "--> [0] Normal RGB image display\n"
|
||||||
<< "--> [1] Binary image display\n"
|
<< "--> [1] Binary image display\n"
|
||||||
@ -148,6 +117,33 @@ void DjiUser_RunCameraStreamViewSample()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cout << "Please enter the type of camera stream you want to view\n\n"
|
||||||
|
<< "--> [0] Fpv Camera\n"
|
||||||
|
<< "--> [1] Main Camera\n"
|
||||||
|
<< "--> [2] Vice Camera\n"
|
||||||
|
<< "--> [3] Top Camera\n"
|
||||||
|
<< endl;
|
||||||
|
cin >> cameraIndexChar;
|
||||||
|
|
||||||
|
switch (cameraIndexChar) {
|
||||||
|
case '0':
|
||||||
|
liveviewSample->StartFpvCameraStream(&DjiUser_ShowRgbImageCallback, &fpvName);
|
||||||
|
break;
|
||||||
|
case '1':
|
||||||
|
liveviewSample->StartMainCameraStream(&DjiUser_ShowRgbImageCallback, &mainName);
|
||||||
|
break;
|
||||||
|
case '2':
|
||||||
|
liveviewSample->StartViceCameraStream(&DjiUser_ShowRgbImageCallback, &viceName);
|
||||||
|
break;
|
||||||
|
case '3':
|
||||||
|
liveviewSample->StartTopCameraStream(&DjiUser_ShowRgbImageCallback, &topName);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
cout << "No camera selected";
|
||||||
|
delete liveviewSample;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
cout << "Please enter the 'q' or 'Q' to quit camera stream view\n"
|
cout << "Please enter the 'q' or 'Q' to quit camera stream view\n"
|
||||||
<< endl;
|
<< endl;
|
||||||
|
|
||||||
@ -159,20 +155,16 @@ void DjiUser_RunCameraStreamViewSample()
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch (cameraIndexChar) {
|
switch (cameraIndexChar) {
|
||||||
case 'f':
|
case '0':
|
||||||
case 'F':
|
|
||||||
liveviewSample->StopFpvCameraStream();
|
liveviewSample->StopFpvCameraStream();
|
||||||
break;
|
break;
|
||||||
case 'm':
|
case '1':
|
||||||
case 'M':
|
|
||||||
liveviewSample->StopMainCameraStream();
|
liveviewSample->StopMainCameraStream();
|
||||||
break;
|
break;
|
||||||
case 'v':
|
case '2':
|
||||||
case 'V':
|
|
||||||
liveviewSample->StopViceCameraStream();
|
liveviewSample->StopViceCameraStream();
|
||||||
break;
|
break;
|
||||||
case 't':
|
case '3':
|
||||||
case 'T':
|
|
||||||
liveviewSample->StopTopCameraStream();
|
liveviewSample->StopTopCameraStream();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -42,7 +42,7 @@
|
|||||||
#define DJI_LOG_FOLDER_NAME "Logs"
|
#define DJI_LOG_FOLDER_NAME "Logs"
|
||||||
#define DJI_LOG_PATH_MAX_SIZE (128)
|
#define DJI_LOG_PATH_MAX_SIZE (128)
|
||||||
#define DJI_LOG_FOLDER_NAME_MAX_SIZE (32)
|
#define DJI_LOG_FOLDER_NAME_MAX_SIZE (32)
|
||||||
#define DJI_LOG_SYSTEM_CMD_MAX_SIZE (64)
|
#define DJI_SYSTEM_CMD_STR_MAX_SIZE (64)
|
||||||
#define DJI_LOG_MAX_COUNT (10)
|
#define DJI_LOG_MAX_COUNT (10)
|
||||||
|
|
||||||
#define USER_UTIL_UNUSED(x) ((x) = (x))
|
#define USER_UTIL_UNUSED(x) ((x) = (x))
|
||||||
@ -290,7 +290,7 @@ T_DjiReturnCode Application::DjiUser_LocalWriteFsInit(const char *path)
|
|||||||
{
|
{
|
||||||
T_DjiReturnCode djiReturnCode = DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
T_DjiReturnCode djiReturnCode = DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||||
char filePath[DJI_LOG_PATH_MAX_SIZE];
|
char filePath[DJI_LOG_PATH_MAX_SIZE];
|
||||||
char systemCmd[DJI_LOG_SYSTEM_CMD_MAX_SIZE];
|
char systemCmd[DJI_SYSTEM_CMD_STR_MAX_SIZE];
|
||||||
char folderName[DJI_LOG_FOLDER_NAME_MAX_SIZE];
|
char folderName[DJI_LOG_FOLDER_NAME_MAX_SIZE];
|
||||||
time_t currentTime = time(nullptr);
|
time_t currentTime = time(nullptr);
|
||||||
struct tm *localTime = localtime(¤tTime);
|
struct tm *localTime = localtime(¤tTime);
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
/* Private constants ---------------------------------------------------------*/
|
/* Private constants ---------------------------------------------------------*/
|
||||||
#define UART_DEV_NAME_STR_SIZE (128)
|
#define UART_DEV_NAME_STR_SIZE (128)
|
||||||
#define DJI_SYSTEM_CMD_MAX_SIZE (64)
|
#define DJI_SYSTEM_CMD_STR_MAX_SIZE (64)
|
||||||
#define DJI_SYSTEM_RESULT_STR_MAX_SIZE (128)
|
#define DJI_SYSTEM_RESULT_STR_MAX_SIZE (128)
|
||||||
|
|
||||||
/* Private types -------------------------------------------------------------*/
|
/* Private types -------------------------------------------------------------*/
|
||||||
@ -48,7 +48,7 @@ T_DjiReturnCode HalUart_Init(E_DjiHalUartNum uartNum, uint32_t baudRate, T_DjiUa
|
|||||||
struct flock lock;
|
struct flock lock;
|
||||||
T_DjiReturnCode returnCode = DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
T_DjiReturnCode returnCode = DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||||
char uartName[UART_DEV_NAME_STR_SIZE];
|
char uartName[UART_DEV_NAME_STR_SIZE];
|
||||||
char systemCmd[DJI_SYSTEM_CMD_MAX_SIZE];
|
char systemCmd[DJI_SYSTEM_CMD_STR_MAX_SIZE];
|
||||||
char *ret = NULL;
|
char *ret = NULL;
|
||||||
char lineBuf[DJI_SYSTEM_RESULT_STR_MAX_SIZE] = {0};
|
char lineBuf[DJI_SYSTEM_RESULT_STR_MAX_SIZE] = {0};
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
|
@ -178,8 +178,8 @@ T_DjiReturnCode HalUsbBulk_ReadData(T_DjiUsbBulkHandle usbBulkHandle, uint8_t *b
|
|||||||
T_DjiReturnCode HalUsbBulk_GetDeviceInfo(T_DjiHalUsbBulkDeviceInfo *deviceInfo)
|
T_DjiReturnCode HalUsbBulk_GetDeviceInfo(T_DjiHalUsbBulkDeviceInfo *deviceInfo)
|
||||||
{
|
{
|
||||||
//attention: need confirm your usb config in device mode.
|
//attention: need confirm your usb config in device mode.
|
||||||
deviceInfo->vid = 0x7020;
|
deviceInfo->vid = 0x0955;
|
||||||
deviceInfo->pid = 0x9055;
|
deviceInfo->pid = 0x7020;
|
||||||
|
|
||||||
deviceInfo->bulkChannelNum = 2;
|
deviceInfo->bulkChannelNum = 2;
|
||||||
|
|
||||||
|
@ -1203,12 +1203,33 @@ static T_DjiReturnCode DjiTest_CameraManagerMediaDownloadAndDeleteMediaFile(E_Dj
|
|||||||
|
|
||||||
if (s_meidaFileList.totalCount > 0) {
|
if (s_meidaFileList.totalCount > 0) {
|
||||||
for (int i = 0; i < s_meidaFileList.totalCount; ++i) {
|
for (int i = 0; i < s_meidaFileList.totalCount; ++i) {
|
||||||
USER_LOG_INFO("Media file_%03d name: %s, index: %d, size: %d, type: %d",
|
if (s_meidaFileList.fileListInfo[i].fileSize < 1 * 1024 * 1024) {
|
||||||
|
USER_LOG_INFO(
|
||||||
|
"Media file_%03d name: %s, index: %d, time:%04d-%02d-%02d_%02d:%02d:%02d, size: %.2f KB, type: %d",
|
||||||
i, s_meidaFileList.fileListInfo[i].fileName,
|
i, s_meidaFileList.fileListInfo[i].fileName,
|
||||||
s_meidaFileList.fileListInfo[i].fileIndex,
|
s_meidaFileList.fileListInfo[i].fileIndex,
|
||||||
s_meidaFileList.fileListInfo[i].fileSize,
|
s_meidaFileList.fileListInfo[i].createTime.year,
|
||||||
|
s_meidaFileList.fileListInfo[i].createTime.month,
|
||||||
|
s_meidaFileList.fileListInfo[i].createTime.day,
|
||||||
|
s_meidaFileList.fileListInfo[i].createTime.hour,
|
||||||
|
s_meidaFileList.fileListInfo[i].createTime.minute,
|
||||||
|
s_meidaFileList.fileListInfo[i].createTime.second,
|
||||||
|
(dji_f32_t) s_meidaFileList.fileListInfo[i].fileSize / 1024,
|
||||||
s_meidaFileList.fileListInfo[i].type);
|
s_meidaFileList.fileListInfo[i].type);
|
||||||
osalHandler->TaskSleepMs(10);
|
} else {
|
||||||
|
USER_LOG_INFO(
|
||||||
|
"Media file_%03d name: %s, index: %d, time:%04d-%02d-%02d_%02d:%02d:%02d, size: %.2f MB, type: %d",
|
||||||
|
i, s_meidaFileList.fileListInfo[i].fileName,
|
||||||
|
s_meidaFileList.fileListInfo[i].fileIndex,
|
||||||
|
s_meidaFileList.fileListInfo[i].createTime.year,
|
||||||
|
s_meidaFileList.fileListInfo[i].createTime.month,
|
||||||
|
s_meidaFileList.fileListInfo[i].createTime.day,
|
||||||
|
s_meidaFileList.fileListInfo[i].createTime.hour,
|
||||||
|
s_meidaFileList.fileListInfo[i].createTime.minute,
|
||||||
|
s_meidaFileList.fileListInfo[i].createTime.second,
|
||||||
|
(dji_f32_t) s_meidaFileList.fileListInfo[i].fileSize / (1024 * 1024),
|
||||||
|
s_meidaFileList.fileListInfo[i].type);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
osalHandler->TaskSleepMs(1000);
|
osalHandler->TaskSleepMs(1000);
|
||||||
@ -1226,6 +1247,8 @@ static T_DjiReturnCode DjiTest_CameraManagerMediaDownloadAndDeleteMediaFile(E_Dj
|
|||||||
USER_LOG_ERROR("Delete media file by index failed, error code: 0x%08X.", returnCode);
|
USER_LOG_ERROR("Delete media file by index failed, error code: 0x%08X.", returnCode);
|
||||||
return returnCode;
|
return returnCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
osalHandler->TaskSleepMs(1000);
|
||||||
} else {
|
} else {
|
||||||
USER_LOG_WARN("Media file is not existed in sdcard.");
|
USER_LOG_WARN("Media file is not existed in sdcard.");
|
||||||
}
|
}
|
||||||
@ -1242,10 +1265,6 @@ static T_DjiReturnCode DjiTest_CameraManagerDownloadFileDataCallback(T_DjiDownlo
|
|||||||
|
|
||||||
sprintf(extendInfo, " FileIndex: %d", packetInfo.fileIndex);
|
sprintf(extendInfo, " FileIndex: %d", packetInfo.fileIndex);
|
||||||
|
|
||||||
#ifdef SYSTEM_ARCH_LINUX
|
|
||||||
DjiUserUtil_PrintProgressBar(packetInfo.progressInPercent, 100, extendInfo);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (packetInfo.downloadFileEvent == DJI_DOWNLOAD_FILE_EVENT_START) {
|
if (packetInfo.downloadFileEvent == DJI_DOWNLOAD_FILE_EVENT_START) {
|
||||||
for (i = 0; i < s_meidaFileList.totalCount; ++i) {
|
for (i = 0; i < s_meidaFileList.totalCount; ++i) {
|
||||||
if (s_meidaFileList.fileListInfo[i].fileIndex == packetInfo.fileIndex) {
|
if (s_meidaFileList.fileListInfo[i].fileIndex == packetInfo.fileIndex) {
|
||||||
@ -1253,17 +1272,23 @@ static T_DjiReturnCode DjiTest_CameraManagerDownloadFileDataCallback(T_DjiDownlo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
sprintf(fileName, "%s", s_meidaFileList.fileListInfo[i].fileName);
|
sprintf(fileName, "%s", s_meidaFileList.fileListInfo[i].fileName);
|
||||||
|
USER_LOG_INFO("Start download media file %s", s_meidaFileList.fileListInfo[i].fileName);
|
||||||
s_downloadMediaFile = fopen(fileName, "wb+");
|
s_downloadMediaFile = fopen(fileName, "wb+");
|
||||||
if (s_downloadMediaFile == NULL) {
|
if (s_downloadMediaFile == NULL) {
|
||||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
||||||
}
|
}
|
||||||
fwrite(data, 1, len, s_downloadMediaFile);
|
fwrite(data, 1, len, s_downloadMediaFile);
|
||||||
} else if (packetInfo.downloadFileEvent == DJI_DOWNLOAD_FILE_EVENT_TRANSFER) {
|
} else if (packetInfo.downloadFileEvent == DJI_DOWNLOAD_FILE_EVENT_TRANSFER) {
|
||||||
|
if (s_downloadMediaFile != NULL) {
|
||||||
fwrite(data, 1, len, s_downloadMediaFile);
|
fwrite(data, 1, len, s_downloadMediaFile);
|
||||||
|
}
|
||||||
} else if (packetInfo.downloadFileEvent == DJI_DOWNLOAD_FILE_EVENT_END) {
|
} else if (packetInfo.downloadFileEvent == DJI_DOWNLOAD_FILE_EVENT_END) {
|
||||||
|
if (s_downloadMediaFile != NULL) {
|
||||||
fwrite(data, 1, len, s_downloadMediaFile);
|
fwrite(data, 1, len, s_downloadMediaFile);
|
||||||
|
}
|
||||||
|
|
||||||
|
USER_LOG_INFO("End download media file");
|
||||||
fclose(s_downloadMediaFile);
|
fclose(s_downloadMediaFile);
|
||||||
printf("\r\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
return DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||||
|
@ -60,6 +60,7 @@ T_DjiReturnCode DjiTest_DataTransmissionStartService(void)
|
|||||||
char ipAddr[DJI_IP_ADDR_STR_SIZE_MAX];
|
char ipAddr[DJI_IP_ADDR_STR_SIZE_MAX];
|
||||||
uint16_t port;
|
uint16_t port;
|
||||||
|
|
||||||
|
|
||||||
djiStat = DjiLowSpeedDataChannel_Init();
|
djiStat = DjiLowSpeedDataChannel_Init();
|
||||||
if (djiStat != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
if (djiStat != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
|
||||||
USER_LOG_ERROR("init data transmission module error.");
|
USER_LOG_ERROR("init data transmission module error.");
|
||||||
@ -176,7 +177,7 @@ static void *UserDataTransmission_Task(void *arg)
|
|||||||
USER_LOG_ERROR("get send to onboard computer channel state error.");
|
USER_LOG_ERROR("get send to onboard computer channel state error.");
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SYSTEM_ARCH_LINUX
|
if (DjiPlatform_GetSocketHandler() != NULL) {
|
||||||
djiStat = DjiHighSpeedDataChannel_SendDataStreamData(dataToBeSent, sizeof(dataToBeSent));
|
djiStat = DjiHighSpeedDataChannel_SendDataStreamData(dataToBeSent, sizeof(dataToBeSent));
|
||||||
if (djiStat != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
|
if (djiStat != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
|
||||||
USER_LOG_ERROR("send data to data stream error.");
|
USER_LOG_ERROR("send data to data stream error.");
|
||||||
@ -189,7 +190,7 @@ static void *UserDataTransmission_Task(void *arg)
|
|||||||
} else {
|
} else {
|
||||||
USER_LOG_ERROR("get data stream state error.");
|
USER_LOG_ERROR("get data stream state error.");
|
||||||
}
|
}
|
||||||
#endif
|
}
|
||||||
} else if (s_aircraftInfoBaseInfo.mountPosition == DJI_MOUNT_POSITION_EXTENSION_PORT) {
|
} else if (s_aircraftInfoBaseInfo.mountPosition == DJI_MOUNT_POSITION_EXTENSION_PORT) {
|
||||||
channelAddress = DJI_CHANNEL_ADDRESS_PAYLOAD_PORT_NO1;
|
channelAddress = DJI_CHANNEL_ADDRESS_PAYLOAD_PORT_NO1;
|
||||||
djiStat = DjiLowSpeedDataChannel_SendData(channelAddress, dataToBeSent, sizeof(dataToBeSent));
|
djiStat = DjiLowSpeedDataChannel_SendData(channelAddress, dataToBeSent, sizeof(dataToBeSent));
|
||||||
|
@ -39,7 +39,6 @@ extern "C" {
|
|||||||
|
|
||||||
/* Exported types ------------------------------------------------------------*/
|
/* Exported types ------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
/* Exported functions --------------------------------------------------------*/
|
/* Exported functions --------------------------------------------------------*/
|
||||||
T_DjiReturnCode DjiTest_DataTransmissionStartService(void);
|
T_DjiReturnCode DjiTest_DataTransmissionStartService(void);
|
||||||
|
|
||||||
|
@ -271,7 +271,7 @@ T_DjiReturnCode Osal_Stat(const char *filePath, T_DjiFileInfo *fileInfo)
|
|||||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
fileTm = localtime(&(st.st_mtim));
|
fileTm = localtime((const time_t *) &(st.st_mtim));
|
||||||
if (fileTm == NULL) {
|
if (fileTm == NULL) {
|
||||||
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
|
||||||
}
|
}
|
||||||
|
@ -124,7 +124,7 @@ T_DjiReturnCode Osal_UdpSendData(T_DjiSocketHandle socketHandle, const char *ipA
|
|||||||
addr.sin_port = htons(port);
|
addr.sin_port = htons(port);
|
||||||
addr.sin_addr.s_addr = inet_addr(ipAddr);
|
addr.sin_addr.s_addr = inet_addr(ipAddr);
|
||||||
|
|
||||||
ret = sendto(socketHandleStruct->socketFd, buf, len, 0, (struct sockaddr *) &addr, sizeof(struct sockaddr_in));
|
ret = sendto(socketHandleStruct->socketFd, buf, len, MSG_DONTWAIT, (struct sockaddr *) &addr, sizeof(struct sockaddr_in));
|
||||||
if (ret >= 0) {
|
if (ret >= 0) {
|
||||||
*realLen = ret;
|
*realLen = ret;
|
||||||
} else {
|
} else {
|
||||||
|
@ -60,8 +60,9 @@
|
|||||||
#define DJI_LOG_FOLDER_NAME "Logs"
|
#define DJI_LOG_FOLDER_NAME "Logs"
|
||||||
#define DJI_LOG_PATH_MAX_SIZE (128)
|
#define DJI_LOG_PATH_MAX_SIZE (128)
|
||||||
#define DJI_LOG_FOLDER_NAME_MAX_SIZE (32)
|
#define DJI_LOG_FOLDER_NAME_MAX_SIZE (32)
|
||||||
#define DJI_LOG_SYSTEM_CMD_MAX_SIZE (64)
|
|
||||||
#define DJI_LOG_MAX_COUNT (10)
|
#define DJI_LOG_MAX_COUNT (10)
|
||||||
|
#define DJI_SYSTEM_CMD_STR_MAX_SIZE (64)
|
||||||
|
#define DJI_SYSTEM_RESULT_STR_MAX_SIZE (128)
|
||||||
|
|
||||||
#define DJI_USE_WIDGET_INTERACTION 0
|
#define DJI_USE_WIDGET_INTERACTION 0
|
||||||
|
|
||||||
@ -505,7 +506,7 @@ static T_DjiReturnCode DjiUser_LocalWriteFsInit(const char *path)
|
|||||||
{
|
{
|
||||||
T_DjiReturnCode djiReturnCode = DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
T_DjiReturnCode djiReturnCode = DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||||
char filePath[DJI_LOG_PATH_MAX_SIZE];
|
char filePath[DJI_LOG_PATH_MAX_SIZE];
|
||||||
char systemCmd[DJI_LOG_SYSTEM_CMD_MAX_SIZE];
|
char systemCmd[DJI_SYSTEM_CMD_STR_MAX_SIZE];
|
||||||
char folderName[DJI_LOG_FOLDER_NAME_MAX_SIZE];
|
char folderName[DJI_LOG_FOLDER_NAME_MAX_SIZE];
|
||||||
time_t currentTime = time(NULL);
|
time_t currentTime = time(NULL);
|
||||||
struct tm *localTime = localtime(¤tTime);
|
struct tm *localTime = localtime(¤tTime);
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
/* Private constants ---------------------------------------------------------*/
|
/* Private constants ---------------------------------------------------------*/
|
||||||
#define UART_DEV_NAME_STR_SIZE (128)
|
#define UART_DEV_NAME_STR_SIZE (128)
|
||||||
#define DJI_SYSTEM_CMD_MAX_SIZE (64)
|
#define DJI_SYSTEM_CMD_STR_MAX_SIZE (64)
|
||||||
#define DJI_SYSTEM_RESULT_STR_MAX_SIZE (128)
|
#define DJI_SYSTEM_RESULT_STR_MAX_SIZE (128)
|
||||||
|
|
||||||
/* Private types -------------------------------------------------------------*/
|
/* Private types -------------------------------------------------------------*/
|
||||||
@ -48,7 +48,7 @@ T_DjiReturnCode HalUart_Init(E_DjiHalUartNum uartNum, uint32_t baudRate, T_DjiUa
|
|||||||
struct flock lock;
|
struct flock lock;
|
||||||
T_DjiReturnCode returnCode = DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
T_DjiReturnCode returnCode = DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
||||||
char uartName[UART_DEV_NAME_STR_SIZE];
|
char uartName[UART_DEV_NAME_STR_SIZE];
|
||||||
char systemCmd[DJI_SYSTEM_CMD_MAX_SIZE];
|
char systemCmd[DJI_SYSTEM_CMD_STR_MAX_SIZE];
|
||||||
char *ret = NULL;
|
char *ret = NULL;
|
||||||
char lineBuf[DJI_SYSTEM_RESULT_STR_MAX_SIZE] = {0};
|
char lineBuf[DJI_SYSTEM_RESULT_STR_MAX_SIZE] = {0};
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
|
@ -178,8 +178,8 @@ T_DjiReturnCode HalUsbBulk_ReadData(T_DjiUsbBulkHandle usbBulkHandle, uint8_t *b
|
|||||||
T_DjiReturnCode HalUsbBulk_GetDeviceInfo(T_DjiHalUsbBulkDeviceInfo *deviceInfo)
|
T_DjiReturnCode HalUsbBulk_GetDeviceInfo(T_DjiHalUsbBulkDeviceInfo *deviceInfo)
|
||||||
{
|
{
|
||||||
//attention: need confirm your usb config in device mode.
|
//attention: need confirm your usb config in device mode.
|
||||||
deviceInfo->vid = 0x7020;
|
deviceInfo->vid = 0x0955;
|
||||||
deviceInfo->pid = 0x9055;
|
deviceInfo->pid = 0x7020;
|
||||||
|
|
||||||
deviceInfo->bulkChannelNum = 2;
|
deviceInfo->bulkChannelNum = 2;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user