合并分支 'dev' 到 'master'
Dev 查看合并请求 !16
正在显示
35 个修改的文件
包含
2562 行增加
和
505 行删除
| @@ -106,7 +106,23 @@ | @@ -106,7 +106,23 @@ | ||
| 106 | "jzsdk_semaphore.h": "c", | 106 | "jzsdk_semaphore.h": "c", |
| 107 | "jzsdk_filesystm.h": "c", | 107 | "jzsdk_filesystm.h": "c", |
| 108 | "jzsdk_memoryadapter.h": "c", | 108 | "jzsdk_memoryadapter.h": "c", |
| 109 | - "jzsdk_errorcodedef.h": "c" | 109 | + "jzsdk_errorcodedef.h": "c", |
| 110 | + "jzsdk_timer.h": "c", | ||
| 111 | + "jzsdk_framecomparsion_6aframe.h": "c", | ||
| 112 | + "jzsdk_uart.h": "c", | ||
| 113 | + "audiomange.h": "c", | ||
| 114 | + "pcmaudiofile.h": "c", | ||
| 115 | + "megaphone_playback.h": "c", | ||
| 116 | + "audiomange_param.h": "c", | ||
| 117 | + "jzsdk_platform.h": "c", | ||
| 118 | + "presettask.h": "c", | ||
| 119 | + "volumelimit.h": "c", | ||
| 120 | + "megaphone_realtimemp2.h": "c", | ||
| 121 | + "jzirc_lib.h": "c", | ||
| 122 | + "hardwareinfo.h": "c", | ||
| 123 | + "jzsdk_attributedef.h": "c", | ||
| 124 | + "msp_types.h": "c", | ||
| 125 | + "attribute.h": "c" | ||
| 110 | }, | 126 | }, |
| 111 | "Codegeex.GenerationPreference": "automatic", | 127 | "Codegeex.GenerationPreference": "automatic", |
| 112 | "C_Cpp.dimInactiveRegions": false | 128 | "C_Cpp.dimInactiveRegions": false |
| 1 | # 编译链的配置 | 1 | # 编译链的配置 |
| 2 | 2 | ||
| 3 | #1、编译链与设备类型的选择 | 3 | #1、编译链与设备类型的选择 |
| 4 | -set(DEVICE_NAME JZ_H10) | 4 | +set(DEVICE_NAME JZ_H1T) |
| 5 | #上一行为禁止修改行 | 5 | #上一行为禁止修改行 |
| 6 | 6 | ||
| 7 | message("**************************JZSDK构建编译开始***************************\n") | 7 | message("**************************JZSDK构建编译开始***************************\n") |
| @@ -20,7 +20,10 @@ extern "C" { | @@ -20,7 +20,10 @@ extern "C" { | ||
| 20 | /* 常亮定义*/ | 20 | /* 常亮定义*/ |
| 21 | 21 | ||
| 22 | #include "./JZsdk_typedef/JZsdk_typedef.h" | 22 | #include "./JZsdk_typedef/JZsdk_typedef.h" |
| 23 | +#include "./JZsdk_typedef/JZsdk_AttributeDef.h" | ||
| 24 | + | ||
| 23 | #include "./JZsdk_ReturnCode/JZsdk_ReturnCode.h" | 25 | #include "./JZsdk_ReturnCode/JZsdk_ReturnCode.h" |
| 26 | +#include "./JZsdk_Platform/JZsdk_Platform.h" | ||
| 24 | 27 | ||
| 25 | 28 | ||
| 26 | #include "./JZsdk_InsCode.h" | 29 | #include "./JZsdk_InsCode.h" |
| @@ -23,21 +23,28 @@ extern "C" | @@ -23,21 +23,28 @@ extern "C" | ||
| 23 | /* Exported types ------------------------------------------------------------*/ | 23 | /* Exported types ------------------------------------------------------------*/ |
| 24 | typedef enum JZ_DEVICE_PORT_TYPE | 24 | typedef enum JZ_DEVICE_PORT_TYPE |
| 25 | { | 25 | { |
| 26 | - DEVICE_PSDK = 0x1000, // psdk功能 | ||
| 27 | - UART_4G = 0x1001, // 4G功能 | ||
| 28 | - UART_DEV_1 = 0x1002, // 1号设备功能 | ||
| 29 | - UART_DEV_2 = 0x1003, // 2号设备功能 | ||
| 30 | - UART_DEV_3 = 0x1004, // 3号设备功能 | ||
| 31 | - UART_DEV_4 = 0x1005, // 4号设备功能 | ||
| 32 | - UART_DEV_5 = 0x1006, // 5号设备功能 | ||
| 33 | - | ||
| 34 | - UART_USB_1 = 0x1100, // usb设备 | ||
| 35 | - UART_USB_2 = 0x1101, // usb设备 | ||
| 36 | - UART_USB_3 = 0x1102, // usb设备 | ||
| 37 | - UART_USB_4 = 0x1103, // usb设备 | ||
| 38 | - UART_USB_5 = 0x1104, // usb设备 | ||
| 39 | - | ||
| 40 | - HAL_DATA_TRANSMISSION = 0x1200, // hal定制的特殊数据传播 | 26 | + DEVICE_PSDK = 0x0000, // psdk功能 |
| 27 | + | ||
| 28 | + UART_4G = 0x0010, // 4G功能 | ||
| 29 | + UART_DEV_1 = 0x0011, // 1号设备功能 | ||
| 30 | + UART_DEV_2 = 0x0012, // 2号设备功能 | ||
| 31 | + UART_DEV_3 = 0x0013, // 3号设备功能 | ||
| 32 | + UART_DEV_4 = 0x0014, // 4号设备功能 | ||
| 33 | + UART_DEV_5 = 0x0015, // 5号设备功能 | ||
| 34 | + | ||
| 35 | + USB_DEV_1 = 0x0020, // usb设备 | ||
| 36 | + USB_DEV_2 = 0x0021, // usb设备 | ||
| 37 | + USB_DEV_3 = 0x0022, // usb设备 | ||
| 38 | + USB_DEV_4 = 0x0023, // usb设备 | ||
| 39 | + USB_DEV_5 = 0x0024, // usb设备 | ||
| 40 | + | ||
| 41 | + NET_DEV_1 = 0x0030, // 网络设备 | ||
| 42 | + NET_DEV_2 = 0x0031, // 网络设备 | ||
| 43 | + NET_DEV_3 = 0x0032, // 网络设备 | ||
| 44 | + | ||
| 45 | + HAL_DATA_TRANSMISSION = 0x0040, // hal定制的特殊数据传播 | ||
| 46 | + | ||
| 47 | + HAL_MAX = 0x0050, // hal最大值 | ||
| 41 | 48 | ||
| 42 | COMBINE_DEVICE = 0x1998, // 组合设备 | 49 | COMBINE_DEVICE = 0x1998, // 组合设备 |
| 43 | NO_SPECIFIED = 0x1999, // 无制定设备 | 50 | NO_SPECIFIED = 0x1999, // 无制定设备 |
| @@ -34,6 +34,8 @@ typedef enum { | @@ -34,6 +34,8 @@ typedef enum { | ||
| 34 | 34 | ||
| 35 | JZ_INSCODE_5AFRAME_FRAME_POWER_STATUS = 0x10000110, //电源状态设置 | 35 | JZ_INSCODE_5AFRAME_FRAME_POWER_STATUS = 0x10000110, //电源状态设置 |
| 36 | 36 | ||
| 37 | + JZ_INSCODE_5AFRAME_PRESET_TASK = 0x10000120, //预置任务 | ||
| 38 | + | ||
| 37 | JZ_INSCODE_5AFRAME_REALTIMEMP2_START = 0x10000200, //开启实时MP2 | 39 | JZ_INSCODE_5AFRAME_REALTIMEMP2_START = 0x10000200, //开启实时MP2 |
| 38 | JZ_INSCODE_5AFRAME_REALTIMEMP2_UNLIMIT_TRANSMISSION = 0x10000201, //无限制传输实时MP2 | 40 | JZ_INSCODE_5AFRAME_REALTIMEMP2_UNLIMIT_TRANSMISSION = 0x10000201, //无限制传输实时MP2 |
| 39 | JZ_INSCODE_5AFRAME_REALTIMEMP2_STOP = 0x10000202, //结束实时MP2 | 41 | JZ_INSCODE_5AFRAME_REALTIMEMP2_STOP = 0x10000202, //结束实时MP2 |
| @@ -72,6 +74,8 @@ typedef enum { | @@ -72,6 +74,8 @@ typedef enum { | ||
| 72 | JZ_INSCODE_5AFRAME_CHECKSTATUS_SOFTWAREVERSION = 0x10000625, //查询软件版本号 | 74 | JZ_INSCODE_5AFRAME_CHECKSTATUS_SOFTWAREVERSION = 0x10000625, //查询软件版本号 |
| 73 | JZ_INSCODE_5AFRAME_CHECKSTATUS_LOOPPLAY = 0x10000626, //查询是否打开循环 | 75 | JZ_INSCODE_5AFRAME_CHECKSTATUS_LOOPPLAY = 0x10000626, //查询是否打开循环 |
| 74 | JZ_INSCODE_5AFRAME_CHECKSTATUS_ADUIO_LOOP_INTERVAL = 0x10000639, //查询音频循环间隔 | 76 | JZ_INSCODE_5AFRAME_CHECKSTATUS_ADUIO_LOOP_INTERVAL = 0x10000639, //查询音频循环间隔 |
| 77 | + JZ_INSCODE_5AFRAME_CHECKSTATUS_CURRENT_PLAYTIME = 0x10000640, //查询当前播放时间回调是否打开 | ||
| 78 | + | ||
| 75 | 79 | ||
| 76 | JZ_INSCODE_5AFRAME_CHECKSTATUS_TTSTONE = 0x10000627, //查询音色 | 80 | JZ_INSCODE_5AFRAME_CHECKSTATUS_TTSTONE = 0x10000627, //查询音色 |
| 77 | JZ_INSCODE_5AFRAME_CHECKSTATUS_TTSSPEED = 0x10000628, //查询语速 | 81 | JZ_INSCODE_5AFRAME_CHECKSTATUS_TTSSPEED = 0x10000628, //查询语速 |
| @@ -94,6 +98,9 @@ typedef enum { | @@ -94,6 +98,9 @@ typedef enum { | ||
| 94 | JZ_INSCODE_5AFRAME_DELETE_AUDIO = 0x10000700, //删除音频 | 98 | JZ_INSCODE_5AFRAME_DELETE_AUDIO = 0x10000700, //删除音频 |
| 95 | JZ_INSCODE_5AFRAME_DELETE_VOICE_RECORD = 0x10000710, //删除录音 | 99 | JZ_INSCODE_5AFRAME_DELETE_VOICE_RECORD = 0x10000710, //删除录音 |
| 96 | JZ_INSCODE_5AFRAME_DELETE_VIDEO_RECORD = 0x10000720, //删除视频 | 100 | JZ_INSCODE_5AFRAME_DELETE_VIDEO_RECORD = 0x10000720, //删除视频 |
| 101 | + JZ_INSCODE_5AFRAME_RENAME_AUDIO = 0x10000730, //重命名音频 | ||
| 102 | + JZ_INSCODE_5AFRAME_RENAME_VOICE_RECORD = 0x10000740, //重命名录音 | ||
| 103 | + JZ_INSCODE_5AFRAME_RENAME_VIDEO_RECORD = 0x10000750, //重命名视频 | ||
| 97 | 104 | ||
| 98 | 105 | ||
| 99 | JZ_INSCODE_5AFRAME_TTS_SET_TONE = 0x10000801, //TTS设置音色 | 106 | JZ_INSCODE_5AFRAME_TTS_SET_TONE = 0x10000801, //TTS设置音色 |
| @@ -103,15 +110,25 @@ typedef enum { | @@ -103,15 +110,25 @@ typedef enum { | ||
| 103 | JZ_INSCODE_5AFRAME_TTS_TRANS_STOP = 0x10000805, //TTS发送完毕 | 110 | JZ_INSCODE_5AFRAME_TTS_TRANS_STOP = 0x10000805, //TTS发送完毕 |
| 104 | JZ_INSCODE_5AFRAME_TTS_TRANS_LIMIT_TRANSMISSION = 0x10000806, //TTS正在定长接收 | 111 | JZ_INSCODE_5AFRAME_TTS_TRANS_LIMIT_TRANSMISSION = 0x10000806, //TTS正在定长接收 |
| 105 | 112 | ||
| 106 | - JZ_INSCODE_5AFRAME_OPUS_TRANS_START = 0x10000900, //opus传输开始 | ||
| 107 | - JZ_INSCODE_5AFRAME_OPUS_TRAN_UNLIMIT_TRANSMISSION = 0x10000901, //opus 无限制传输中 | 113 | + JZ_INSCODE_5AFRAME_CURRENT_PLAY_TIME = 0x10004406, //设置播放回传 |
| 114 | + | ||
| 115 | + | ||
| 116 | + JZ_INSCODE_5AFRAME_OPUS_TRANS_START_1 = 0x10000900, //opus传输开始1型 | ||
| 117 | + JZ_INSCODE_5AFRAME_OPUS_TRANS_START_2 = 0x10000901, //opus传输开始2型 | ||
| 118 | + //JZ_INSCODE_5AFRAME_OPUS_TRAN_UNLIMIT_TRANSMISSION = 0x10000901, //opus 无限制传输中 | ||
| 108 | JZ_INSCODE_5AFRAME_OPUS_TRANS_LIMIT_TRANSMISSION = 0x10000903, //opus传输中 | 119 | JZ_INSCODE_5AFRAME_OPUS_TRANS_LIMIT_TRANSMISSION = 0x10000903, //opus传输中 |
| 109 | 120 | ||
| 110 | JZ_INSCODE_5AFRAME_OPUS_TRANS_STOP = 0x10000902, //opus传输结束 | 121 | JZ_INSCODE_5AFRAME_OPUS_TRANS_STOP = 0x10000902, //opus传输结束 |
| 111 | JZ_INSCODE_5AFRAME_OPUS_TRANS_STOP_AND_CHECK = 0x10000904, //opus传输结束并校验 | 122 | JZ_INSCODE_5AFRAME_OPUS_TRANS_STOP_AND_CHECK = 0x10000904, //opus传输结束并校验 |
| 112 | 123 | ||
| 124 | + | ||
| 113 | JZ_INSCODE_5AFRAME_OPUS_PLAY = 0x10000910, //opus播放 | 125 | JZ_INSCODE_5AFRAME_OPUS_PLAY = 0x10000910, //opus播放 |
| 114 | 126 | ||
| 127 | + JZ_INSCODE_5AFRAME_PCM_PLAY = 0x10000920, //pcm播放 | ||
| 128 | + | ||
| 129 | + JZ_INSCODE_5AFRAME_PCM_GETPCMLIST = 0x10000930, //获pcm列表 | ||
| 130 | + | ||
| 131 | + | ||
| 115 | JZ_INSCODE_5AFRAME_OPUS_REALTIMEVOICE_START = 0x10000A00, //开启opus实时语音 | 132 | JZ_INSCODE_5AFRAME_OPUS_REALTIMEVOICE_START = 0x10000A00, //开启opus实时语音 |
| 116 | JZ_INSCODE_5AFRAME_OPUS_REALTIMEVOICE_UNLIMIT_TRANSMISSION = 0x10000A01, //无限制传输opus实时语音 | 133 | JZ_INSCODE_5AFRAME_OPUS_REALTIMEVOICE_UNLIMIT_TRANSMISSION = 0x10000A01, //无限制传输opus实时语音 |
| 117 | JZ_INSCODE_5AFRAME_OPUS_REALTIMEVOICE_STOP = 0x10000A02, //结束opus实时语音 | 134 | JZ_INSCODE_5AFRAME_OPUS_REALTIMEVOICE_STOP = 0x10000A02, //结束opus实时语音 |
| @@ -138,6 +155,12 @@ typedef enum { | @@ -138,6 +155,12 @@ typedef enum { | ||
| 138 | JZ_INSCODE_5AFRAME_OUTPUTPOWER_CONTROL = 0x10001000, //对外供电开关 | 155 | JZ_INSCODE_5AFRAME_OUTPUTPOWER_CONTROL = 0x10001000, //对外供电开关 |
| 139 | JZ_INSCODE_5AFRAME_CHECKSTATUS_OUTPUTPOWER = 0x10001001, //对外供电查询 | 156 | JZ_INSCODE_5AFRAME_CHECKSTATUS_OUTPUTPOWER = 0x10001001, //对外供电查询 |
| 140 | 157 | ||
| 158 | + JZ_INSCODE_5AFRAME_UPGRADE_PERPARE = 0x10001100, //升级准备 | ||
| 159 | + JZ_INSCODE_5AFRAME_UPGRADE_SEND_CHECKCODE = 0x10001101, //升级发送校验码 | ||
| 160 | + JZ_INSCODE_5AFRAME_UPGRADE_STRAT = 0x10001102, //升级传输开始 | ||
| 161 | + JZ_INSCODE_5AFRAME_UPGRADE_TRANS = 0x10001103, //升级传输数据 | ||
| 162 | + JZ_INSCODE_5AFRAME_UPGRADE_END = 0x10001104, //升级传输结束 | ||
| 163 | + | ||
| 141 | //5B类帧 | 164 | //5B类帧 |
| 142 | JZ_INSCODE_5BFRAME_FRAME = 0x10004000, //发送帧 | 165 | JZ_INSCODE_5BFRAME_FRAME = 0x10004000, //发送帧 |
| 143 | 166 | ||
| @@ -148,6 +171,8 @@ typedef enum { | @@ -148,6 +171,8 @@ typedef enum { | ||
| 148 | JZ_INSCODE_5BFRAME_ALL_SERIAL_NUMBER = 0x10004105, //全序列号查询 | 171 | JZ_INSCODE_5BFRAME_ALL_SERIAL_NUMBER = 0x10004105, //全序列号查询 |
| 149 | JZ_INSCODE_5BFRAME_DEVICE_MESSAGE = 0x10004107, //设备信息 | 172 | JZ_INSCODE_5BFRAME_DEVICE_MESSAGE = 0x10004107, //设备信息 |
| 150 | 173 | ||
| 174 | + JZ_INSCODE_5BFRAME_PRESET_TASK = 0x10004120, //预置任务 | ||
| 175 | + | ||
| 151 | JZ_INSCODE_5BFRAME_SUCESS = 0x10004200, //操作成功 | 176 | JZ_INSCODE_5BFRAME_SUCESS = 0x10004200, //操作成功 |
| 152 | JZ_INSCODE_5BFRAME_FILE_CHECK_DEFEAT = 0x10004201, //校验失败 | 177 | JZ_INSCODE_5BFRAME_FILE_CHECK_DEFEAT = 0x10004201, //校验失败 |
| 153 | JZ_INSCODE_5BFRAME_FILE_DECODE_DEFEAT = 0x10004202, //解码失败 | 178 | JZ_INSCODE_5BFRAME_FILE_DECODE_DEFEAT = 0x10004202, //解码失败 |
| @@ -168,7 +193,8 @@ typedef enum { | @@ -168,7 +193,8 @@ typedef enum { | ||
| 168 | JZ_INSCODE_5BFRAME_TTS_SPEED = 0x10004403, //发送tts语速 | 193 | JZ_INSCODE_5BFRAME_TTS_SPEED = 0x10004403, //发送tts语速 |
| 169 | JZ_INSCODE_5BFRAME_AUDIO_PLAYFILENAME = 0x10004404, //当前播放的音频名字 | 194 | JZ_INSCODE_5BFRAME_AUDIO_PLAYFILENAME = 0x10004404, //当前播放的音频名字 |
| 170 | JZ_INSCODE_5BFRAME_CHECKSTATUS_AUDIO_DETAIL_MESSAGE = 0x10004405, //查询音频详细信息 | 195 | JZ_INSCODE_5BFRAME_CHECKSTATUS_AUDIO_DETAIL_MESSAGE = 0x10004405, //查询音频详细信息 |
| 171 | - | 196 | + JZ_INSCODE_5BFRAME_CURRENT_PLAY_TIME = 0x10004406, //当前播放时间 |
| 197 | + JZ_INSCODE_5BFRAME_CHECKSTATUS_CURRENT_PLAYTIME = 0x10004407, //查询当前播放时间回调是否打开 | ||
| 172 | 198 | ||
| 173 | 199 | ||
| 174 | JZ_INSCODE_5BFRAME_GIMBAL_PITCH = 0x10004500, //云台俯仰角度 | 200 | JZ_INSCODE_5BFRAME_GIMBAL_PITCH = 0x10004500, //云台俯仰角度 |
| @@ -195,8 +221,18 @@ typedef enum { | @@ -195,8 +221,18 @@ typedef enum { | ||
| 195 | JZ_INSCODE_5BFRAME_CHECKSTATUS_OUTPUTPOWER = 0x10004900, //对外供电查询 | 221 | JZ_INSCODE_5BFRAME_CHECKSTATUS_OUTPUTPOWER = 0x10004900, //对外供电查询 |
| 196 | 222 | ||
| 197 | JZ_INSCODE_5BFRAME_OPUS_DECODE_STATUS = 0x10005000, //opus解码状态 | 223 | JZ_INSCODE_5BFRAME_OPUS_DECODE_STATUS = 0x10005000, //opus解码状态 |
| 198 | - JZ_INSCODE_5BFRAME_OPUS_TRANS_STOP_AND_CHECK = 0x10000904, //opus传输结束并校验 | ||
| 199 | - | 224 | + JZ_INSCODE_5BFRAME_OPUS_TRANS_STOP_AND_CHECK = 0x10005904, //opus传输结束并校验 |
| 225 | + | ||
| 226 | + JZ_INSCODE_5BFRAME_OPUSLIST_START = 0x10005910, //开启发送opus列表帧 | ||
| 227 | + JZ_INSCODE_5BFRAME_OPUSLIST_TRANS = 0x10005911, //传输opus列表帧 | ||
| 228 | + JZ_INSCODE_5BFRAME_OPUSLIST_END = 0x10005912, //传输opus列表帧 | ||
| 229 | + | ||
| 230 | + JZ_INSCODE_5BFRAME_UPGRADE_PERPARE = 0x10001100, //升级准备 | ||
| 231 | + JZ_INSCODE_5BFRAME_UPGRADE_SEND_CHECKCODE = 0x10001101, //升级发送校验码 | ||
| 232 | + JZ_INSCODE_5BFRAME_UPGRADE_STRAT = 0x10001102, //升级传输开始 | ||
| 233 | + JZ_INSCODE_5BFRAME_UPGRADE_TRANS = 0x10001103, //升级传输数据 | ||
| 234 | + JZ_INSCODE_5BFRAME_UPGRADE_END = 0x10001104, //升级传输结束 | ||
| 235 | + JZ_INSCODE_5BFRAME_UPGRADE_CHECKRESULT = 0x10001105, //升级校验结果 | ||
| 200 | 236 | ||
| 201 | //6A类 | 237 | //6A类 |
| 202 | JZ_INSCODE_6AFRAME_FRAME = 0x10008000, //发送帧 | 238 | JZ_INSCODE_6AFRAME_FRAME = 0x10008000, //发送帧 |
| 1 | /** | 1 | /** |
| 2 | ******************************************************************** | 2 | ******************************************************************** |
| 3 | - * @file JZsdk_typedef.h | 3 | + * @file JZsdk_Platform.h |
| 4 | * 用于记录各类码的表 | 4 | * 用于记录各类码的表 |
| 5 | * | 5 | * |
| 6 | ********************************************************************* | 6 | ********************************************************************* |
| 7 | */ | 7 | */ |
| 8 | 8 | ||
| 9 | /* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | 9 | /* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ |
| 10 | -#ifndef JZSDK_TYPEDEF_H | ||
| 11 | -#define JZSDK_TYPEDEF_H | 10 | +#ifndef JZSDK_PLATFORM_H |
| 11 | +#define JZSDK_PLATFORM_H | ||
| 12 | 12 | ||
| 13 | /* Includes ------------------------------------------------------------------*/ | 13 | /* Includes ------------------------------------------------------------------*/ |
| 14 | #include "../JZsdk_typedef/JZsdk_typedef.h" | 14 | #include "../JZsdk_typedef/JZsdk_typedef.h" |
| @@ -21,6 +21,29 @@ extern "C" { | @@ -21,6 +21,29 @@ extern "C" { | ||
| 21 | /* Exported constants --------------------------------------------------------*/ | 21 | /* Exported constants --------------------------------------------------------*/ |
| 22 | /* 常亮定义*/ | 22 | /* 常亮定义*/ |
| 23 | 23 | ||
| 24 | +#define JZSDK_FILE_NAME_SIZE_MAX (128) //文件名最大长度128 | ||
| 25 | +#define JZSDK_FILE_PATH_SIZE_MAX (256) //文件路径最大长度256 | ||
| 26 | +#define JZSDK_CMD_SIZE (256) //cmd指令最大长度 | ||
| 27 | +#define JZSDK_DIR_SIZE (256) //目录名最大长度 | ||
| 28 | + | ||
| 29 | +typedef struct { | ||
| 30 | + U16_t year; | ||
| 31 | + U8_t month; | ||
| 32 | + U8_t day; | ||
| 33 | + U8_t hour; | ||
| 34 | + U8_t minute; | ||
| 35 | + U8_t second; | ||
| 36 | +} T_JZsdkTime; | ||
| 37 | + | ||
| 38 | +typedef struct T_JZsdkFileInfo{ | ||
| 39 | + U32_t size; | ||
| 40 | + T_JZsdkTime createTime; | ||
| 41 | + T_JZsdkTime modifyTime; | ||
| 42 | + char path[JZSDK_FILE_PATH_SIZE_MAX]; | ||
| 43 | + bool isDir; | ||
| 44 | +} T_JZsdkFileInfo; | ||
| 45 | + | ||
| 46 | + | ||
| 24 | /* Exported macro ------------------------------------------------------------*/ | 47 | /* Exported macro ------------------------------------------------------------*/ |
| 25 | 48 | ||
| 26 | 49 |
| 1 | +/** | ||
| 2 | + ******************************************************************** | ||
| 3 | + * @file JZsdk_AttributeDef.h | ||
| 4 | + * 用于记录属性的表 | ||
| 5 | + * | ||
| 6 | + ********************************************************************* | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | +#ifndef JZSDK_ATTRIBUTEDEF_H | ||
| 11 | +#define JZSDK_ATTRIBUTEDEF_H | ||
| 12 | + | ||
| 13 | +/* Includes ------------------------------------------------------------------*/ | ||
| 14 | +#include "./JZsdk_typedef.h" | ||
| 15 | + | ||
| 16 | + | ||
| 17 | +#ifdef __cplusplus | ||
| 18 | +extern "C" { | ||
| 19 | +#endif | ||
| 20 | + | ||
| 21 | +/* Exported constants --------------------------------------------------------*/ | ||
| 22 | +/* 常亮定义*/ | ||
| 23 | + | ||
| 24 | + | ||
| 25 | +/* Exported types ------------------------------------------------------------*/ | ||
| 26 | + | ||
| 27 | + | ||
| 28 | + | ||
| 29 | +//GPS时间 | ||
| 30 | +typedef U32_t T_JZsdkAttributeGpsTime; | ||
| 31 | + | ||
| 32 | +//GPS日期 | ||
| 33 | +typedef U32_t T_JZsdkAttributeGpsDate; | ||
| 34 | + | ||
| 35 | +//gps经度 | ||
| 36 | +typedef T_JZsdkVector3d T_JZsdkAttributeGpsPosition; | ||
| 37 | + | ||
| 38 | +/* Exported functions --------------------------------------------------------*/ | ||
| 39 | + | ||
| 40 | + | ||
| 41 | + | ||
| 42 | +#ifdef __cplusplus | ||
| 43 | +} | ||
| 44 | +#endif | ||
| 45 | + | ||
| 46 | +#endif |
| @@ -27,6 +27,8 @@ typedef enum { | @@ -27,6 +27,8 @@ typedef enum { | ||
| 27 | JZ_ERROR_SYSTEM_MODULE_CODE_HARDLY_FAILURE = 0x0003, //严重错误 | 27 | JZ_ERROR_SYSTEM_MODULE_CODE_HARDLY_FAILURE = 0x0003, //严重错误 |
| 28 | JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER = 0x0002, //文件指针错误 | 28 | JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER = 0x0002, //文件指针错误 |
| 29 | JZ_ERROR_SYSTEM_MODULE_CODE_MEMORY_ALLOC_FAILED = 0x0004, //内存分配失败 | 29 | JZ_ERROR_SYSTEM_MODULE_CODE_MEMORY_ALLOC_FAILED = 0x0004, //内存分配失败 |
| 30 | + JZ_ERROR_SYSTEM_MODULE_CODE_IS_BUSY = 0x0005, //忙错误 | ||
| 31 | + JZ_ERROR_SYSTEM_MODULE_CODE_CHECK_CODE_ERROR = 0x0006, //校验码错误 | ||
| 30 | } JZ_SYSTEM_Code; | 32 | } JZ_SYSTEM_Code; |
| 31 | 33 | ||
| 32 | typedef enum { | 34 | typedef enum { |
| @@ -54,6 +54,38 @@ typedef void *T_JZTaskHandle; | @@ -54,6 +54,38 @@ typedef void *T_JZTaskHandle; | ||
| 54 | typedef void *T_JZsdkMutexHandle; | 54 | typedef void *T_JZsdkMutexHandle; |
| 55 | //信号量权柄 | 55 | //信号量权柄 |
| 56 | typedef void *T_JZsdkSemaHandle; | 56 | typedef void *T_JZsdkSemaHandle; |
| 57 | +//文件权柄 | ||
| 58 | +typedef void *T_JZsdkFileHandle; | ||
| 59 | +//目录权柄 | ||
| 60 | +typedef void *T_JZsdkDirHandle; | ||
| 61 | + | ||
| 62 | + | ||
| 63 | + | ||
| 64 | +typedef struct T_JZsdkVector3d | ||
| 65 | +{ | ||
| 66 | + int x; | ||
| 67 | + int y; | ||
| 68 | + int z; | ||
| 69 | +}T_JZsdkVector3d; | ||
| 70 | + | ||
| 71 | +typedef struct T_JZsdkVector3f | ||
| 72 | +{ | ||
| 73 | + F32_t x; | ||
| 74 | + F32_t y; | ||
| 75 | + F32_t z; | ||
| 76 | +}T_JZsdkVector3f; | ||
| 77 | + | ||
| 78 | +typedef struct { | ||
| 79 | + int pitch; /*!< Specifies int32 value of pitch for attitude. */ | ||
| 80 | + int roll; /*!< Specifies int32 value of roll for attitude */ | ||
| 81 | + int yaw; /*!< Specifies int32 value of yaw for attitude */ | ||
| 82 | +} T_JZsdkAttitude3d; | ||
| 83 | + | ||
| 84 | +typedef struct { | ||
| 85 | + F32_t pitch; /*!< Specifies float value of pitch for attitude. */ | ||
| 86 | + F32_t roll; /*!< Specifies float value of roll for attitude */ | ||
| 87 | + F32_t yaw; /*!< Specifies float value of yaw for attitude */ | ||
| 88 | +} T_JZsdkAttitude3f; | ||
| 57 | 89 | ||
| 58 | /* Exported types ------------------------------------------------------------*/ | 90 | /* Exported types ------------------------------------------------------------*/ |
| 59 | 91 |
| @@ -12,6 +12,16 @@ int JZsdk_Get_FrameSequence(char *DealBuf) | @@ -12,6 +12,16 @@ int JZsdk_Get_FrameSequence(char *DealBuf) | ||
| 12 | return DealBuf[6]; | 12 | return DealBuf[6]; |
| 13 | } | 13 | } |
| 14 | 14 | ||
| 15 | +/************************* | ||
| 16 | + * | ||
| 17 | + * 获取帧的长度 | ||
| 18 | + * | ||
| 19 | + * ***************************/ | ||
| 20 | +int JZsdk_Get_FrameLength(char *DealBuf) | ||
| 21 | +{ | ||
| 22 | + return ((int)DealBuf[3]) << 8 + DealBuf[4]; | ||
| 23 | +} | ||
| 24 | + | ||
| 15 | /*************************** | 25 | /*************************** |
| 16 | * 、 | 26 | * 、 |
| 17 | * | 27 | * |
| @@ -29,6 +29,8 @@ extern "C" { | @@ -29,6 +29,8 @@ extern "C" { | ||
| 29 | 29 | ||
| 30 | /* Exported functions --------------------------------------------------------*/ | 30 | /* Exported functions --------------------------------------------------------*/ |
| 31 | int JZsdk_Get_FrameSequence(char *DealBuf); | 31 | int JZsdk_Get_FrameSequence(char *DealBuf); |
| 32 | +int JZsdk_Get_FrameLength(char *DealBuf); | ||
| 33 | + | ||
| 32 | int JZsdk_FrameComparsion(char *getdata, int len); | 34 | int JZsdk_FrameComparsion(char *getdata, int len); |
| 33 | 35 | ||
| 34 | #ifdef __cplusplus | 36 | #ifdef __cplusplus |
| @@ -52,6 +52,11 @@ static int Comparison_5AFRAME_FirstLevelCode_0x50(char *getdata) | @@ -52,6 +52,11 @@ static int Comparison_5AFRAME_FirstLevelCode_0x50(char *getdata) | ||
| 52 | return JZ_INSCODE_5AFRAME_DEVICE_MESSAGE; | 52 | return JZ_INSCODE_5AFRAME_DEVICE_MESSAGE; |
| 53 | break; | 53 | break; |
| 54 | 54 | ||
| 55 | + //预设任务帧 | ||
| 56 | + case 0x60: | ||
| 57 | + return JZ_INSCODE_5AFRAME_PRESET_TASK; | ||
| 58 | + break; | ||
| 59 | + | ||
| 55 | default: | 60 | default: |
| 56 | return JZ_ERROR_SYSTEM_FRAME_ERROR; | 61 | return JZ_ERROR_SYSTEM_FRAME_ERROR; |
| 57 | break; | 62 | break; |
| @@ -154,6 +159,11 @@ static int Comparison_5AFRAME_FirstLevelCode_0x52(char *getdata) | @@ -154,6 +159,11 @@ static int Comparison_5AFRAME_FirstLevelCode_0x52(char *getdata) | ||
| 154 | return JZ_INSCODE_5AFRAME_AMPLIFIER_AUTO; | 159 | return JZ_INSCODE_5AFRAME_AMPLIFIER_AUTO; |
| 155 | break; | 160 | break; |
| 156 | 161 | ||
| 162 | + //设置回传时间 | ||
| 163 | + case 0x30: | ||
| 164 | + return JZ_INSCODE_5AFRAME_CURRENT_PLAY_TIME; | ||
| 165 | + break; | ||
| 166 | + | ||
| 157 | //调节音量 | 167 | //调节音量 |
| 158 | case 0x10: | 168 | case 0x10: |
| 159 | return JZ_INSCODE_5AFRAME_VOLUME; | 169 | return JZ_INSCODE_5AFRAME_VOLUME; |
| @@ -205,6 +215,11 @@ static int Comparison_5AFRAME_FirstLevelCode_0x53(char *getdata) | @@ -205,6 +215,11 @@ static int Comparison_5AFRAME_FirstLevelCode_0x53(char *getdata) | ||
| 205 | return JZ_INSCODE_5AFRAME_CHECKSTATUS_TTSSPEED; | 215 | return JZ_INSCODE_5AFRAME_CHECKSTATUS_TTSSPEED; |
| 206 | break; | 216 | break; |
| 207 | 217 | ||
| 218 | + //查询是否打开了播放时间回传 | ||
| 219 | + case 0x08: | ||
| 220 | + return JZ_INSCODE_5AFRAME_CHECKSTATUS_CURRENT_PLAYTIME; | ||
| 221 | + break; | ||
| 222 | + | ||
| 208 | //查询软件版本号 | 223 | //查询软件版本号 |
| 209 | case 0xf1: | 224 | case 0xf1: |
| 210 | return JZ_INSCODE_5AFRAME_CHECKSTATUS_SOFTWAREVERSION; | 225 | return JZ_INSCODE_5AFRAME_CHECKSTATUS_SOFTWAREVERSION; |
| @@ -314,7 +329,7 @@ static int Comparison_5AFRAME_FirstLevelCode_0x58(char *getdata) | @@ -314,7 +329,7 @@ static int Comparison_5AFRAME_FirstLevelCode_0x58(char *getdata) | ||
| 314 | //二级功能位 | 329 | //二级功能位 |
| 315 | switch (getdata[8]) | 330 | switch (getdata[8]) |
| 316 | { | 331 | { |
| 317 | - //设置音色 | 332 | + //获取音乐列表 |
| 318 | case 0x01: | 333 | case 0x01: |
| 319 | return JZ_INSCODE_5AFRAME_AUDIO_GETMUSICLIST; | 334 | return JZ_INSCODE_5AFRAME_AUDIO_GETMUSICLIST; |
| 320 | break; | 335 | break; |
| @@ -324,6 +339,11 @@ static int Comparison_5AFRAME_FirstLevelCode_0x58(char *getdata) | @@ -324,6 +339,11 @@ static int Comparison_5AFRAME_FirstLevelCode_0x58(char *getdata) | ||
| 324 | return JZ_INSCODE_5AFRAME_CHECKSTATUS_AUDIO_DETAIL_MESSAGE; | 339 | return JZ_INSCODE_5AFRAME_CHECKSTATUS_AUDIO_DETAIL_MESSAGE; |
| 325 | break; | 340 | break; |
| 326 | 341 | ||
| 342 | + //获取pcm列表 | ||
| 343 | + case 0x10: | ||
| 344 | + return JZ_INSCODE_5AFRAME_PCM_GETPCMLIST; | ||
| 345 | + break; | ||
| 346 | + | ||
| 327 | default: | 347 | default: |
| 328 | break; | 348 | break; |
| 329 | } | 349 | } |
| @@ -334,10 +354,19 @@ static int Comparison_5AFRAME_FirstLevelCode_0x59(char *getdata) | @@ -334,10 +354,19 @@ static int Comparison_5AFRAME_FirstLevelCode_0x59(char *getdata) | ||
| 334 | //二级功能位 | 354 | //二级功能位 |
| 335 | switch (getdata[8]) | 355 | switch (getdata[8]) |
| 336 | { | 356 | { |
| 357 | + case 0x10: | ||
| 358 | + return JZ_INSCODE_5AFRAME_OPUS_PLAY; | ||
| 359 | + break; | ||
| 360 | + | ||
| 337 | //opus录音传输 | 361 | //opus录音传输 |
| 338 | //opus传输开始 | 362 | //opus传输开始 |
| 339 | case 0xF1: | 363 | case 0xF1: |
| 340 | - return JZ_INSCODE_5AFRAME_OPUS_TRANS_START; | 364 | + return JZ_INSCODE_5AFRAME_OPUS_TRANS_START_1; |
| 365 | + break; | ||
| 366 | + | ||
| 367 | + //opus传输二型 | ||
| 368 | + case 0xF5: | ||
| 369 | + return JZ_INSCODE_5AFRAME_OPUS_TRANS_START_2; | ||
| 341 | break; | 370 | break; |
| 342 | 371 | ||
| 343 | //opus传输结束 | 372 | //opus传输结束 |
| @@ -604,6 +633,45 @@ static int Comparison_5AFRAME_FirstLevelCode_0x6F(char *getdata) | @@ -604,6 +633,45 @@ static int Comparison_5AFRAME_FirstLevelCode_0x6F(char *getdata) | ||
| 604 | } | 633 | } |
| 605 | } | 634 | } |
| 606 | 635 | ||
| 636 | + | ||
| 637 | +//一级功能码 升级帧 | ||
| 638 | +static int Comparison_5AFRAME_FirstLevelCode_0xA1(char *getdata) | ||
| 639 | +{ | ||
| 640 | + //二级功能位 | ||
| 641 | + switch (getdata[8]) | ||
| 642 | + { | ||
| 643 | + //升级准备 | ||
| 644 | + case 0x01: | ||
| 645 | + return JZ_INSCODE_5AFRAME_UPGRADE_PERPARE; | ||
| 646 | + break; | ||
| 647 | + | ||
| 648 | + //升级校验码 | ||
| 649 | + case 0x02: | ||
| 650 | + return JZ_INSCODE_5AFRAME_UPGRADE_SEND_CHECKCODE; | ||
| 651 | + break; | ||
| 652 | + | ||
| 653 | + //升级数据发送开始 | ||
| 654 | + case 0x03: | ||
| 655 | + return JZ_INSCODE_5AFRAME_UPGRADE_STRAT; | ||
| 656 | + break; | ||
| 657 | + | ||
| 658 | + //升级数据发送结束 | ||
| 659 | + case 0x04: | ||
| 660 | + return JZ_INSCODE_5AFRAME_UPGRADE_END; | ||
| 661 | + break; | ||
| 662 | + | ||
| 663 | + //升级发送数据 | ||
| 664 | + case 0xF1: | ||
| 665 | + return JZ_INSCODE_5AFRAME_UPGRADE_TRANS; | ||
| 666 | + break; | ||
| 667 | + | ||
| 668 | + default: | ||
| 669 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 670 | + break; | ||
| 671 | + } | ||
| 672 | +} | ||
| 673 | + | ||
| 674 | + | ||
| 607 | /****************************************************************** | 675 | /****************************************************************** |
| 608 | 676 | ||
| 609 | 回复帧对比 | 677 | 回复帧对比 |
| @@ -745,7 +813,9 @@ int JZsdk_5AFrameComparsion(char *getdata, int len) | @@ -745,7 +813,9 @@ int JZsdk_5AFrameComparsion(char *getdata, int len) | ||
| 745 | return Comparison_5AFRAME_FirstLevelCode_0x6F(getdata); | 813 | return Comparison_5AFRAME_FirstLevelCode_0x6F(getdata); |
| 746 | break; | 814 | break; |
| 747 | 815 | ||
| 748 | - | 816 | + //一级功能码 升级功能 |
| 817 | + case 0xA1: | ||
| 818 | + return Comparison_5AFRAME_FirstLevelCode_0xA1(getdata); | ||
| 749 | break; | 819 | break; |
| 750 | 820 | ||
| 751 | //一级功能码 | 821 | //一级功能码 |
| @@ -310,7 +310,9 @@ static int Comparison_5BFRAME_FirstLevelCode_0x66(char *getdata) | @@ -310,7 +310,9 @@ static int Comparison_5BFRAME_FirstLevelCode_0x66(char *getdata) | ||
| 310 | return JZ_ERROR_SYSTEM_FRAME_ERROR; | 310 | return JZ_ERROR_SYSTEM_FRAME_ERROR; |
| 311 | break; | 311 | break; |
| 312 | } | 312 | } |
| 313 | -}//一级功能码是回复警灯颜色 | 313 | +} |
| 314 | + | ||
| 315 | +//一级功能码是回复警灯颜色 | ||
| 314 | static int Comparison_5BFRAME_FirstLevelCode_0x67(char *getdata) | 316 | static int Comparison_5BFRAME_FirstLevelCode_0x67(char *getdata) |
| 315 | { | 317 | { |
| 316 | //二级功能位 | 318 | //二级功能位 |
| @@ -326,7 +328,9 @@ static int Comparison_5BFRAME_FirstLevelCode_0x67(char *getdata) | @@ -326,7 +328,9 @@ static int Comparison_5BFRAME_FirstLevelCode_0x67(char *getdata) | ||
| 326 | return JZ_ERROR_SYSTEM_FRAME_ERROR; | 328 | return JZ_ERROR_SYSTEM_FRAME_ERROR; |
| 327 | break; | 329 | break; |
| 328 | } | 330 | } |
| 329 | -}//一级功能码是回复温度/序列号查询 | 331 | +} |
| 332 | + | ||
| 333 | +//一级功能码是回复温度/序列号查询 | ||
| 330 | static int Comparison_5BFRAME_FirstLevelCode_0x69(char *getdata) | 334 | static int Comparison_5BFRAME_FirstLevelCode_0x69(char *getdata) |
| 331 | { | 335 | { |
| 332 | //二级功能位 | 336 | //二级功能位 |
| @@ -347,6 +351,50 @@ static int Comparison_5BFRAME_FirstLevelCode_0x69(char *getdata) | @@ -347,6 +351,50 @@ static int Comparison_5BFRAME_FirstLevelCode_0x69(char *getdata) | ||
| 347 | break; | 351 | break; |
| 348 | } | 352 | } |
| 349 | } | 353 | } |
| 354 | + | ||
| 355 | + | ||
| 356 | +//一级功能码 升级帧 | ||
| 357 | +static int Comparison_5AFRAME_FirstLevelCode_0xA1(char *getdata) | ||
| 358 | +{ | ||
| 359 | + //二级功能位 | ||
| 360 | + switch (getdata[8]) | ||
| 361 | + { | ||
| 362 | + //升级准备 | ||
| 363 | + case 0x01: | ||
| 364 | + return JZ_INSCODE_5BFRAME_UPGRADE_PERPARE; | ||
| 365 | + break; | ||
| 366 | + | ||
| 367 | + //升级校验码 | ||
| 368 | + case 0x02: | ||
| 369 | + return JZ_INSCODE_5BFRAME_UPGRADE_SEND_CHECKCODE; | ||
| 370 | + break; | ||
| 371 | + | ||
| 372 | + //升级数据发送开始 | ||
| 373 | + case 0x03: | ||
| 374 | + return JZ_INSCODE_5BFRAME_UPGRADE_STRAT; | ||
| 375 | + break; | ||
| 376 | + | ||
| 377 | + //升级数据发送结束 | ||
| 378 | + case 0x04: | ||
| 379 | + return JZ_INSCODE_5BFRAME_UPGRADE_END; | ||
| 380 | + break; | ||
| 381 | + | ||
| 382 | + //升级数据校验结果 | ||
| 383 | + case 0x05: | ||
| 384 | + return JZ_INSCODE_5BFRAME_UPGRADE_CHECKRESULT; | ||
| 385 | + break; | ||
| 386 | + | ||
| 387 | + //升级发送数据 | ||
| 388 | + case 0xF1: | ||
| 389 | + return JZ_INSCODE_5BFRAME_UPGRADE_TRANS; | ||
| 390 | + break; | ||
| 391 | + | ||
| 392 | + default: | ||
| 393 | + return JZ_ERROR_SYSTEM_FRAME_ERROR; | ||
| 394 | + break; | ||
| 395 | + } | ||
| 396 | +} | ||
| 397 | + | ||
| 350 | /****************************************************************** | 398 | /****************************************************************** |
| 351 | 399 | ||
| 352 | 回复帧对比 | 400 | 回复帧对比 |
| @@ -428,6 +476,9 @@ int JZsdk_5BFrameComparsion(char *getdata, int len) | @@ -428,6 +476,9 @@ int JZsdk_5BFrameComparsion(char *getdata, int len) | ||
| 428 | return Comparison_5BFRAME_FirstLevelCode_0x69(getdata); | 476 | return Comparison_5BFRAME_FirstLevelCode_0x69(getdata); |
| 429 | break; | 477 | break; |
| 430 | 478 | ||
| 479 | + case 0xA1: | ||
| 480 | + return Comparison_5AFRAME_FirstLevelCode_0xA1(getdata); | ||
| 481 | + break; | ||
| 431 | 482 | ||
| 432 | default: | 483 | default: |
| 433 | return JZ_ERROR_SYSTEM_FRAME_ERROR; | 484 | return JZ_ERROR_SYSTEM_FRAME_ERROR; |
| @@ -20,7 +20,7 @@ static int Comparison_6BFRAME_FirstLevelCode_0x6F(char *getdata) | @@ -20,7 +20,7 @@ static int Comparison_6BFRAME_FirstLevelCode_0x6F(char *getdata) | ||
| 20 | 20 | ||
| 21 | //查询特殊变量 | 21 | //查询特殊变量 |
| 22 | case 0x54: | 22 | case 0x54: |
| 23 | - return JZ_INSCODE_6BFRAME_CHECKSTATUS_SECONDARY_DEVICE_NAME; | 23 | + return JZ_INSCODE_6BFRAME_CHECK_SPECIAL_PARAMETERS; |
| 24 | break; | 24 | break; |
| 25 | 25 | ||
| 26 | default: | 26 | default: |
| @@ -48,6 +48,15 @@ int JZsdk_GetFrameTemplate(int InsCode ,char *str, int *str_len) | @@ -48,6 +48,15 @@ int JZsdk_GetFrameTemplate(int InsCode ,char *str, int *str_len) | ||
| 48 | *str_len = 12; | 48 | *str_len = 12; |
| 49 | } | 49 | } |
| 50 | break; | 50 | break; |
| 51 | + | ||
| 52 | + case JZ_INSCODE_5AFRAME_PRESET_TASK: | ||
| 53 | + { | ||
| 54 | + unsigned char sendbuf[12] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0C ,0x00 ,0x00 ,0x50 ,0x60 ,0x00 ,0x00 ,0x23}; | ||
| 55 | + memcpy(str, sendbuf, 12); | ||
| 56 | + *str_len = 12; | ||
| 57 | + } | ||
| 58 | + break; | ||
| 59 | + | ||
| 51 | case JZ_INSCODE_5AFRAME_AUDIO_STOP: | 60 | case JZ_INSCODE_5AFRAME_AUDIO_STOP: |
| 52 | { | 61 | { |
| 53 | char sendbuf[12] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0C ,0x00 ,0x00 ,0x52 ,0x06 ,0x00 ,0x00 ,0x23}; | 62 | char sendbuf[12] = {0x5A ,0x5A ,0x77 ,0x00 ,0x0C ,0x00 ,0x00 ,0x52 ,0x06 ,0x00 ,0x00 ,0x23}; |
| @@ -276,6 +285,14 @@ int JZsdk_GetFrameTemplate(int InsCode ,char *str, int *str_len) | @@ -276,6 +285,14 @@ int JZsdk_GetFrameTemplate(int InsCode ,char *str, int *str_len) | ||
| 276 | } | 285 | } |
| 277 | break; | 286 | break; |
| 278 | 287 | ||
| 288 | + case JZ_INSCODE_5BFRAME_PRESET_TASK: | ||
| 289 | + { | ||
| 290 | + unsigned char sendbuf[12] = {0x5B ,0x5B ,0x77 ,0x00 ,0x0C ,0x00 ,0x00 ,0x50 ,0x60 ,0x00 ,0x00 ,0x23}; | ||
| 291 | + memcpy(str, sendbuf, 12); | ||
| 292 | + *str_len = 12; | ||
| 293 | + } | ||
| 294 | + break; | ||
| 295 | + | ||
| 279 | case JZ_INSCODE_5BFRAME_SUCESS: | 296 | case JZ_INSCODE_5BFRAME_SUCESS: |
| 280 | { | 297 | { |
| 281 | char sendbuf[12] = {0x5B, 0x5B, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x51, 0x01, 0x00, 0x00, 0x23}; | 298 | char sendbuf[12] = {0x5B, 0x5B, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x51, 0x01, 0x00, 0x00, 0x23}; |
| @@ -308,6 +325,12 @@ int JZsdk_GetFrameTemplate(int InsCode ,char *str, int *str_len) | @@ -308,6 +325,12 @@ int JZsdk_GetFrameTemplate(int InsCode ,char *str, int *str_len) | ||
| 308 | } | 325 | } |
| 309 | break; | 326 | break; |
| 310 | 327 | ||
| 328 | + case JZ_INSCODE_5BFRAME_CURRENT_PLAY_TIME: | ||
| 329 | + { | ||
| 330 | + char sendbuf[13] = { 0x5b, 0x5b, 0x77, 0x00, 0x0d, 0x00, 0x00, 0x52, 0x30, 0x00, 0x00, 0x23}; | ||
| 331 | + memcpy(str, sendbuf, 12); | ||
| 332 | + *str_len = 13; | ||
| 333 | + } | ||
| 311 | 334 | ||
| 312 | case JZ_INSCODE_5BFRAME_AUDIO_PLAYSTATUS_END: | 335 | case JZ_INSCODE_5BFRAME_AUDIO_PLAYSTATUS_END: |
| 313 | { | 336 | { |
| @@ -375,6 +398,15 @@ int JZsdk_GetFrameTemplate(int InsCode ,char *str, int *str_len) | @@ -375,6 +398,15 @@ int JZsdk_GetFrameTemplate(int InsCode ,char *str, int *str_len) | ||
| 375 | } | 398 | } |
| 376 | break; | 399 | break; |
| 377 | 400 | ||
| 401 | + case JZ_INSCODE_5BFRAME_CHECKSTATUS_CURRENT_PLAYTIME: | ||
| 402 | + { | ||
| 403 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x53, 0x08, 0x00, 0x00, 0x23}; | ||
| 404 | + memcpy(str, sendbuf, 12); | ||
| 405 | + *str_len = 12; | ||
| 406 | + } | ||
| 407 | + break; | ||
| 408 | + | ||
| 409 | + | ||
| 378 | case JZ_INSCODE_5BFRAME_MUSICLIST_START: | 410 | case JZ_INSCODE_5BFRAME_MUSICLIST_START: |
| 379 | { | 411 | { |
| 380 | char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x23}; | 412 | char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x23}; |
| @@ -416,6 +448,28 @@ int JZsdk_GetFrameTemplate(int InsCode ,char *str, int *str_len) | @@ -416,6 +448,28 @@ int JZsdk_GetFrameTemplate(int InsCode ,char *str, int *str_len) | ||
| 416 | } | 448 | } |
| 417 | break; | 449 | break; |
| 418 | 450 | ||
| 451 | + case JZ_INSCODE_5BFRAME_OPUSLIST_START: | ||
| 452 | + { | ||
| 453 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x58, 0x11, 0x00, 0x00, 0x23}; | ||
| 454 | + memcpy(str, sendbuf, 12); | ||
| 455 | + *str_len = 12; | ||
| 456 | + } | ||
| 457 | + break; | ||
| 458 | + | ||
| 459 | + case JZ_INSCODE_5BFRAME_OPUSLIST_TRANS: | ||
| 460 | + { | ||
| 461 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x58, 0x12, 0x00, 0x00, 0x23}; | ||
| 462 | + memcpy(str, sendbuf, 12); | ||
| 463 | + *str_len = 12; | ||
| 464 | + } | ||
| 465 | + break; | ||
| 466 | + | ||
| 467 | + case JZ_INSCODE_5BFRAME_OPUSLIST_END: | ||
| 468 | + { | ||
| 469 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0c, 0x00, 0x00, 0x58, 0x13, 0x00, 0x00, 0x23}; | ||
| 470 | + memcpy(str, sendbuf, 12); | ||
| 471 | + *str_len = 12; | ||
| 472 | + } | ||
| 419 | break; | 473 | break; |
| 420 | 474 | ||
| 421 | case JZ_INSCODE_5BFRAME_OPUS_DECODE_STATUS: | 475 | case JZ_INSCODE_5BFRAME_OPUS_DECODE_STATUS: |
| @@ -514,7 +568,45 @@ int JZsdk_GetFrameTemplate(int InsCode ,char *str, int *str_len) | @@ -514,7 +568,45 @@ int JZsdk_GetFrameTemplate(int InsCode ,char *str, int *str_len) | ||
| 514 | } | 568 | } |
| 515 | break; | 569 | break; |
| 516 | 570 | ||
| 571 | + case JZ_INSCODE_5BFRAME_UPGRADE_PERPARE: | ||
| 572 | + { | ||
| 573 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0xA1, 0x01, 0x00, 0x00, 0x23}; | ||
| 574 | + memcpy(str, sendbuf, 12); | ||
| 575 | + *str_len = 12; | ||
| 576 | + } | ||
| 577 | + break; | ||
| 578 | + | ||
| 579 | + case JZ_INSCODE_5BFRAME_UPGRADE_SEND_CHECKCODE: | ||
| 580 | + { | ||
| 581 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0xA1, 0x02, 0x00, 0x00, 0x23}; | ||
| 582 | + memcpy(str, sendbuf, 12); | ||
| 583 | + *str_len = 12; | ||
| 584 | + } | ||
| 585 | + break; | ||
| 586 | + | ||
| 587 | + case JZ_INSCODE_5BFRAME_UPGRADE_STRAT: | ||
| 588 | + { | ||
| 589 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0xA1, 0x03, 0x00, 0x00, 0x23}; | ||
| 590 | + memcpy(str, sendbuf, 12); | ||
| 591 | + *str_len = 12; | ||
| 592 | + } | ||
| 593 | + break; | ||
| 517 | 594 | ||
| 595 | + case JZ_INSCODE_5BFRAME_UPGRADE_END: | ||
| 596 | + { | ||
| 597 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0xA1, 0x04, 0x00, 0x00, 0x23}; | ||
| 598 | + memcpy(str, sendbuf, 12); | ||
| 599 | + *str_len = 12; | ||
| 600 | + } | ||
| 601 | + break; | ||
| 602 | + | ||
| 603 | + case JZ_INSCODE_5BFRAME_UPGRADE_CHECKRESULT: | ||
| 604 | + { | ||
| 605 | + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0xA1, 0x05, 0x00, 0x00, 0x23}; | ||
| 606 | + memcpy(str, sendbuf, 12); | ||
| 607 | + *str_len = 12; | ||
| 608 | + } | ||
| 609 | + break; | ||
| 518 | 610 | ||
| 519 | /******************************************************************************************************************************************************** | 611 | /******************************************************************************************************************************************************** |
| 520 | * | 612 | * |
| @@ -14,16 +14,18 @@ | @@ -14,16 +14,18 @@ | ||
| 14 | #include <unistd.h> | 14 | #include <unistd.h> |
| 15 | #include <sys/types.h> | 15 | #include <sys/types.h> |
| 16 | 16 | ||
| 17 | +#define JZSDK_LOG_NAME "JZLOG" | ||
| 18 | +#define JZSDK_LOG_INDEX_FILE_NAME "/root/sdcard/JZLOG/thelast" | ||
| 19 | +#define JZSDK_LOG_PATH "/root/sdcard/JZLOG/" | ||
| 20 | +#define JZSDK_LOG_MAX_COUNT 20 | ||
| 21 | +static char logFilePath[128]; | ||
| 17 | 22 | ||
| 18 | #define LOG_GRADE JZSDK_LOGGER_CONSOLE_LOG_LEVEL_INFO | 23 | #define LOG_GRADE JZSDK_LOGGER_CONSOLE_LOG_LEVEL_INFO |
| 19 | 24 | ||
| 20 | -// 定义全局互斥锁 | ||
| 21 | -static pthread_mutex_t LogWriteMutex = PTHREAD_MUTEX_INITIALIZER; | ||
| 22 | - | ||
| 23 | /* 全局变量 ------------------------------------------------------------------*/ | 25 | /* 全局变量 ------------------------------------------------------------------*/ |
| 24 | static struct timeval g_start_time; | 26 | static struct timeval g_start_time; |
| 25 | static FILE *logFile = NULL; | 27 | static FILE *logFile = NULL; |
| 26 | -static char LogFileName[JZSDK_FILENAME_SIZE]; | 28 | +static FILE *logFileCnt = NULL; |
| 27 | static int Logger_init_flag = JZ_FLAGCODE_OFF; | 29 | static int Logger_init_flag = JZ_FLAGCODE_OFF; |
| 28 | 30 | ||
| 29 | /* 函数声明 ------------------------------------------------------------------*/ | 31 | /* 函数声明 ------------------------------------------------------------------*/ |
| @@ -142,7 +144,7 @@ T_JZsdkReturnCode createJZLOGFolder() | @@ -142,7 +144,7 @@ T_JZsdkReturnCode createJZLOGFolder() | ||
| 142 | 144 | ||
| 143 | int ReadLogNumFromFile() | 145 | int ReadLogNumFromFile() |
| 144 | { | 146 | { |
| 145 | - const char *path = "/root/sdcard/JZLOG/thelast"; | 147 | + const char *path = JZSDK_LOG_INDEX_FILE_NAME; |
| 146 | int logNum = 0; | 148 | int logNum = 0; |
| 147 | 149 | ||
| 148 | FILE *file = fopen(path, "r"); | 150 | FILE *file = fopen(path, "r"); |
| @@ -170,44 +172,102 @@ int ReadLogNumFromFile() | @@ -170,44 +172,102 @@ int ReadLogNumFromFile() | ||
| 170 | 172 | ||
| 171 | T_JZsdkReturnCode JZsdk_LoggerInit() | 173 | T_JZsdkReturnCode JZsdk_LoggerInit() |
| 172 | { | 174 | { |
| 173 | - //1、记录启动时间 | ||
| 174 | - gettimeofday(&g_start_time, 0); | ||
| 175 | - | ||
| 176 | - //2、检查是否存在log文件,不在则创建 | ||
| 177 | - createJZLOGFolder(); | ||
| 178 | - | ||
| 179 | - //3、获取本地log个数 | ||
| 180 | - int LogNum = ReadLogNumFromFile(); | ||
| 181 | - | ||
| 182 | - //4、获取本地时间,拼接出log文件名 | ||
| 183 | - time_t current_time; | ||
| 184 | - struct tm *info; | ||
| 185 | - char timeString[80]; | ||
| 186 | - time(¤t_time); | ||
| 187 | - info = localtime(¤t_time); | ||
| 188 | - strftime(timeString, sizeof(timeString), "%Y%m%d_%H-%M-%S", info); | ||
| 189 | - snprintf(LogFileName, sizeof(LogFileName), "/root/sdcard/JZLOG/%d_%s", LogNum, timeString); | ||
| 190 | - | ||
| 191 | - printf("LogFileName:%s\n",LogFileName); | ||
| 192 | - | ||
| 193 | - // 在主函数或初始化阶段初始化互斥锁 | ||
| 194 | - pthread_mutex_init(&LogWriteMutex, NULL); | ||
| 195 | - | ||
| 196 | - //5、打开记录文件 | ||
| 197 | - logFile = fopen(LogFileName, "w"); | ||
| 198 | - if (logFile == NULL) { | ||
| 199 | - // 文件打开失败,输出错误消息 | ||
| 200 | - printf("Failed to open file: %s", LogFileName); | 175 | + int ret; |
| 176 | + unsigned int logFileIndex = 0; | ||
| 177 | + unsigned int currentLogFileIndex; | ||
| 178 | + | ||
| 179 | + JZsdk_Osal_Mkdir(JZSDK_LOG_PATH); | ||
| 180 | + | ||
| 181 | + char systemCmd[64]; // 用于存储系统命令 | ||
| 182 | + | ||
| 183 | + char folderName[JZSDK_FILE_NAME_SIZE_MAX]; | ||
| 184 | + | ||
| 185 | + time_t currentTime = time(NULL); | ||
| 186 | + struct tm *localTime = localtime(¤tTime); | ||
| 187 | + | ||
| 188 | + if (localTime == NULL) { | ||
| 189 | + printf("Get local time error.\r\n"); | ||
| 201 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 190 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| 202 | } | 191 | } |
| 203 | 192 | ||
| 204 | - //6、写入开始时间 | ||
| 205 | - char logMessage[256]; | ||
| 206 | - snprintf(logMessage,256,"LOG_FILE:%s\n",LogFileName); | ||
| 207 | - fprintf(logFile, "%s", logMessage); | ||
| 208 | - fflush(logFile); | 193 | + if (access(JZSDK_LOG_NAME, F_OK) != 0) { |
| 194 | + sprintf(folderName, "mkdir %s", JZSDK_LOG_NAME); | ||
| 195 | + ret = system(folderName); | ||
| 196 | + if (ret != 0) { | ||
| 197 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 198 | + } | ||
| 199 | + } | ||
| 200 | + | ||
| 201 | + logFileCnt = fopen(JZSDK_LOG_INDEX_FILE_NAME, "rb+"); | ||
| 202 | + if (logFileCnt == NULL) | ||
| 203 | + { | ||
| 204 | + logFileCnt = fopen(JZSDK_LOG_INDEX_FILE_NAME, "wb+"); | ||
| 205 | + if (logFileCnt == NULL) | ||
| 206 | + { | ||
| 207 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 208 | + } | ||
| 209 | + } | ||
| 210 | + else | ||
| 211 | + { | ||
| 212 | + ret = fseek(logFileCnt, 0, SEEK_SET); | ||
| 213 | + if (ret != 0) | ||
| 214 | + { | ||
| 215 | + printf("Seek log count file error, ret: %d\r\n", ret); | ||
| 216 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 217 | + } | ||
| 218 | + | ||
| 219 | + ret = fread((uint16_t *) &logFileIndex, 1, sizeof(uint16_t), logFileCnt); | ||
| 220 | + if (ret != sizeof(uint16_t)) | ||
| 221 | + { | ||
| 222 | + printf("Read log file index error.\r\n"); | ||
| 223 | + } | ||
| 224 | + } | ||
| 225 | + | ||
| 226 | + currentLogFileIndex = logFileIndex; | ||
| 227 | + logFileIndex++; | ||
| 228 | + | ||
| 229 | + ret = fseek(logFileCnt, 0, SEEK_SET); | ||
| 230 | + if (ret != 0) | ||
| 231 | + { | ||
| 232 | + printf("Seek log file error, ret: %d\r\n", ret); | ||
| 233 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 234 | + } | ||
| 235 | + | ||
| 236 | + ret = fwrite((unsigned int *) &logFileIndex, 1, sizeof(unsigned int), logFileCnt); | ||
| 237 | + if (ret != sizeof(unsigned int)) | ||
| 238 | + { | ||
| 239 | + printf("Write log file index error.\r\n"); | ||
| 240 | + fclose(logFileCnt); | ||
| 241 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 242 | + } | ||
| 243 | + | ||
| 244 | + fclose(logFileCnt); | ||
| 245 | + | ||
| 246 | + //filePath : /root/sdcard/Logs/_%04d_%04d%02d%02d_%02d-%02d-%02d.log | ||
| 247 | + sprintf(logFilePath, "%s%04d_%04d%02d%02d_%02d-%02d-%02d.log", JZSDK_LOG_PATH, currentLogFileIndex, | ||
| 248 | + localTime->tm_year + 1900, localTime->tm_mon + 1, localTime->tm_mday, | ||
| 249 | + localTime->tm_hour, localTime->tm_min, localTime->tm_sec); | ||
| 250 | + | ||
| 251 | + logFile = fopen(logFilePath, "wb+"); | ||
| 252 | + if (logFile == NULL) | ||
| 253 | + { | ||
| 254 | + printf("Open filepath time error."); | ||
| 255 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 256 | + } | ||
| 257 | + | ||
| 258 | + if (logFileIndex >= JZSDK_LOG_MAX_COUNT) | ||
| 259 | + { | ||
| 260 | + sprintf(systemCmd, "rm -rf %s_%04d*.log", JZSDK_LOG_PATH, currentLogFileIndex - JZSDK_LOG_MAX_COUNT); | ||
| 261 | + ret = system(systemCmd); | ||
| 262 | + if (ret != 0) { | ||
| 263 | + printf("Remove file error, ret:%d.\r\n", ret); | ||
| 264 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 265 | + } | ||
| 266 | + } | ||
| 267 | + | ||
| 268 | + sprintf(systemCmd, "ln -sfrv %s " JZSDK_LOG_NAME "/latest.log", logFilePath); | ||
| 269 | + system(systemCmd); | ||
| 209 | 270 | ||
| 210 | - //dfclose(logFile); | ||
| 211 | 271 | ||
| 212 | //打开初始化完成的flag | 272 | //打开初始化完成的flag |
| 213 | Logger_init_flag = JZ_FLAGCODE_ON; | 273 | Logger_init_flag = JZ_FLAGCODE_ON; |
| @@ -215,7 +275,11 @@ T_JZsdkReturnCode JZsdk_LoggerInit() | @@ -215,7 +275,11 @@ T_JZsdkReturnCode JZsdk_LoggerInit() | ||
| 215 | //设立监控 | 275 | //设立监控 |
| 216 | Log_Monitor(); | 276 | Log_Monitor(); |
| 217 | 277 | ||
| 278 | + JZSDK_LOG_INFO("%s", logFilePath); | ||
| 279 | + | ||
| 218 | JZSDK_LOG_INFO("log初始化完成"); | 280 | JZSDK_LOG_INFO("log初始化完成"); |
| 281 | + | ||
| 282 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 219 | } | 283 | } |
| 220 | 284 | ||
| 221 | T_JZsdkReturnCode JZsdk_LoggerDeInit() | 285 | T_JZsdkReturnCode JZsdk_LoggerDeInit() |
| @@ -228,64 +292,24 @@ T_JZsdkReturnCode JZsdk_LoggerDeInit() | @@ -228,64 +292,24 @@ T_JZsdkReturnCode JZsdk_LoggerDeInit() | ||
| 228 | 292 | ||
| 229 | T_JZsdkReturnCode writeToLogFile(const char *data) | 293 | T_JZsdkReturnCode writeToLogFile(const char *data) |
| 230 | { | 294 | { |
| 231 | - // 加锁 | ||
| 232 | - pthread_mutex_lock(&LogWriteMutex); | ||
| 233 | - | ||
| 234 | - //logFile = fopen(LogFileName, "a"); // 使用"a"模式打开文件,以在末尾追加数据 | ||
| 235 | - | ||
| 236 | - // if (logFile == NULL) { | ||
| 237 | - // // 文件打开失败,输出错误消息 | ||
| 238 | - // printf("Failed to open file: %s", LogFileName); | ||
| 239 | - // pthread_mutex_unlock(&LogWriteMutex); | ||
| 240 | - | ||
| 241 | - // return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 242 | - // } | ||
| 243 | - | ||
| 244 | if (logFile == NULL) | 295 | if (logFile == NULL) |
| 245 | { | 296 | { |
| 246 | - printf("Failed to open file: %s", LogFileName); | ||
| 247 | - pthread_mutex_unlock(&LogWriteMutex); | ||
| 248 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 297 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| 249 | } | 298 | } |
| 250 | 299 | ||
| 251 | fprintf(logFile, "%s", data); // 写入新的数据 | 300 | fprintf(logFile, "%s", data); // 写入新的数据 |
| 252 | fflush(logFile); | 301 | fflush(logFile); |
| 253 | - //fclose(logFile); | ||
| 254 | - | ||
| 255 | - // 解锁 | ||
| 256 | - pthread_mutex_unlock(&LogWriteMutex); | ||
| 257 | - | ||
| 258 | } | 302 | } |
| 259 | 303 | ||
| 260 | T_JZsdkReturnCode HexToLogFile(const char *data) | 304 | T_JZsdkReturnCode HexToLogFile(const char *data) |
| 261 | { | 305 | { |
| 262 | - // 加锁 | ||
| 263 | - pthread_mutex_lock(&LogWriteMutex); | ||
| 264 | - | ||
| 265 | - // logFile = fopen(LogFileName, "a"); // 使用"a"模式打开文件,以在末尾追加数据 | ||
| 266 | - | ||
| 267 | - // if (logFile == NULL) { | ||
| 268 | - // // 文件打开失败,输出错误消息 | ||
| 269 | - // printf("Failed to open file: %s", LogFileName); | ||
| 270 | - // pthread_mutex_unlock(&LogWriteMutex); | ||
| 271 | - | ||
| 272 | - // return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 273 | - // } | ||
| 274 | - | ||
| 275 | if (logFile == NULL) | 306 | if (logFile == NULL) |
| 276 | { | 307 | { |
| 277 | - printf("Failed to open file: %s", LogFileName); | ||
| 278 | - pthread_mutex_unlock(&LogWriteMutex); | ||
| 279 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 308 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| 280 | } | 309 | } |
| 281 | 310 | ||
| 282 | fprintf(logFile, "%x ", data[0]); // 写入新的数据 | 311 | fprintf(logFile, "%x ", data[0]); // 写入新的数据 |
| 283 | fflush(logFile); | 312 | fflush(logFile); |
| 284 | - | ||
| 285 | - //fclose(logFile); | ||
| 286 | - | ||
| 287 | - // 解锁 | ||
| 288 | - pthread_mutex_unlock(&LogWriteMutex); | ||
| 289 | } | 313 | } |
| 290 | 314 | ||
| 291 | 315 |
| @@ -55,7 +55,7 @@ static T_JZsdkReturnCode JZsdk_Check_Src32(unsigned char *DIR, unsigned char *ch | @@ -55,7 +55,7 @@ static T_JZsdkReturnCode JZsdk_Check_Src32(unsigned char *DIR, unsigned char *ch | ||
| 55 | if (SRC_CheckSum != LocalCheckSum) | 55 | if (SRC_CheckSum != LocalCheckSum) |
| 56 | { | 56 | { |
| 57 | JZSDK_LOG_ERROR("checksum error local:%x src:%x", LocalCheckSum, SRC_CheckSum); | 57 | JZSDK_LOG_ERROR("checksum error local:%x src:%x", LocalCheckSum, SRC_CheckSum); |
| 58 | - ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 58 | + ret = JZ_ERROR_SYSTEM_MODULE_CODE_CHECK_CODE_ERROR; |
| 59 | } | 59 | } |
| 60 | else | 60 | else |
| 61 | { | 61 | { |
| @@ -83,7 +83,7 @@ static T_JZsdkReturnCode JZsdk_Check_Md5(unsigned char *DIR, unsigned char *chec | @@ -83,7 +83,7 @@ static T_JZsdkReturnCode JZsdk_Check_Md5(unsigned char *DIR, unsigned char *chec | ||
| 83 | if (memcmp(md5, checksum, 21) != 0) | 83 | if (memcmp(md5, checksum, 21) != 0) |
| 84 | { | 84 | { |
| 85 | JZSDK_LOG_ERROR("checksum error\n"); | 85 | JZSDK_LOG_ERROR("checksum error\n"); |
| 86 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 86 | + return JZ_ERROR_SYSTEM_MODULE_CODE_CHECK_CODE_ERROR; |
| 87 | } | 87 | } |
| 88 | 88 | ||
| 89 | return ret; | 89 | return ret; |
| 1 | -/** | ||
| 2 | - ******************************************************************** | ||
| 3 | - * @file JZsdk_FS_Standards.h | ||
| 4 | - * 用于规范文件名及长度 | ||
| 5 | - * | ||
| 6 | - ********************************************************************* | ||
| 7 | - */ | ||
| 8 | - | ||
| 9 | -/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
| 10 | -#ifndef JZSDK_FS_STANDARDS_H | ||
| 11 | -#define JZSDK_FS_STANDARDS_H | ||
| 12 | - | ||
| 13 | -#define JZSDK_FILENAME_SIZE (128) //文件名最大长度128 | ||
| 14 | -#define JZSDK_CMD_SIZE (256) //cmd指令最大长度 | ||
| 15 | -#define JZSDK_DIR_SIZE (256) //目录名最大长度 | ||
| 16 | - | ||
| 17 | - | ||
| 18 | -#endif |
| @@ -10,6 +10,7 @@ | @@ -10,6 +10,7 @@ | ||
| 10 | #include "JZsdkLib.h" | 10 | #include "JZsdkLib.h" |
| 11 | #include <dirent.h> | 11 | #include <dirent.h> |
| 12 | #include <errno.h> | 12 | #include <errno.h> |
| 13 | +#include <time.h> | ||
| 13 | 14 | ||
| 14 | /* | 15 | /* |
| 15 | * 用于运行指令 | 16 | * 用于运行指令 |
| @@ -105,6 +106,203 @@ T_JZsdkReturnCode JZsdk_RunSystemCmd_ReturnResult_Str(char *systemCmd, unsigned | @@ -105,6 +106,203 @@ T_JZsdkReturnCode JZsdk_RunSystemCmd_ReturnResult_Str(char *systemCmd, unsigned | ||
| 105 | 106 | ||
| 106 | /********************************** | 107 | /********************************** |
| 107 | * | 108 | * |
| 109 | + * 打开一个文件 | ||
| 110 | + 函数名:JZsdk_Osal_FileOpen | ||
| 111 | + 参数:文件名,文件打开模式,文件句柄 | ||
| 112 | + 返回值:JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS表示打开成功, | ||
| 113 | + JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE表示打开失败 | ||
| 114 | + * *******************************/ | ||
| 115 | +T_JZsdkReturnCode JZsdk_Osal_FileOpen(const char *fileName, const char *fileMode, T_JZsdkFileHandle *fileObj) | ||
| 116 | +{ | ||
| 117 | + if (fileName == NULL || fileMode == NULL || fileObj == NULL) { | ||
| 118 | + return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
| 119 | + } | ||
| 120 | + | ||
| 121 | + *fileObj = fopen(fileName, fileMode); | ||
| 122 | + if (*fileObj == NULL) | ||
| 123 | + { | ||
| 124 | + goto out; | ||
| 125 | + } | ||
| 126 | + | ||
| 127 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 128 | + | ||
| 129 | +out: | ||
| 130 | + free(*fileObj); | ||
| 131 | + | ||
| 132 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 133 | +} | ||
| 134 | + | ||
| 135 | + | ||
| 136 | +/********************************** | ||
| 137 | + * | ||
| 138 | + * 关闭一个文件 | ||
| 139 | + 函数名:JZsdk_Osal_FileClose | ||
| 140 | + 参数:文件句柄 | ||
| 141 | + 返回值:JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS表示关闭成功, | ||
| 142 | + JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE表示关闭失败 | ||
| 143 | + * *******************************/ | ||
| 144 | +T_JZsdkReturnCode JZsdk_Osal_FileClose(T_JZsdkFileHandle fileObj) | ||
| 145 | +{ | ||
| 146 | + int32_t ret; | ||
| 147 | + | ||
| 148 | + if (fileObj == NULL) { | ||
| 149 | + return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
| 150 | + } | ||
| 151 | + | ||
| 152 | + ret = fclose(fileObj); | ||
| 153 | + if (ret < 0) { | ||
| 154 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 155 | + } | ||
| 156 | + | ||
| 157 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 158 | +} | ||
| 159 | + | ||
| 160 | + | ||
| 161 | +/*********************************** | ||
| 162 | + * | ||
| 163 | + * 写入一个文件 | ||
| 164 | + 函数名:JZsdk_Osal_FileWrite | ||
| 165 | + 参数:文件句柄,写入数据,写入长度,实际写入长度 | ||
| 166 | + 返回值:JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS表示写入成功, | ||
| 167 | + JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE表示写入失败 | ||
| 168 | + * *******************************/ | ||
| 169 | +T_JZsdkReturnCode JZsdk_Osal_FileWrite_U8(T_JZsdkFileHandle fileObj, const U8_t *buf, U32_t len, U32_t *realLen) | ||
| 170 | +{ | ||
| 171 | + int32_t ret; | ||
| 172 | + | ||
| 173 | + if (fileObj == NULL || buf == NULL || len == 0 || realLen == NULL) { | ||
| 174 | + return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
| 175 | + } | ||
| 176 | + | ||
| 177 | + ret = fwrite(buf, 1, len, fileObj); | ||
| 178 | + if (ret >= 0) { | ||
| 179 | + *realLen = ret; | ||
| 180 | + } else { | ||
| 181 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 182 | + } | ||
| 183 | + | ||
| 184 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 185 | +} | ||
| 186 | + | ||
| 187 | +/*********************************** | ||
| 188 | + * | ||
| 189 | + * 读取一个文件 | ||
| 190 | + 函数名:JZsdk_Osal_FileRead | ||
| 191 | + 参数:文件句柄,读取数据,读取长度,实际读取长度 | ||
| 192 | + 返回值:JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS表示读取成功, | ||
| 193 | + JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE表示读取失败 | ||
| 194 | + * *******************************/ | ||
| 195 | +T_JZsdkReturnCode JZsdk_Osal_FileRead_U8(T_JZsdkFileHandle fileObj, U8_t *buf, U32_t len, U32_t *realLen) | ||
| 196 | +{ | ||
| 197 | + int32_t ret; | ||
| 198 | + | ||
| 199 | + if (fileObj == NULL || buf == NULL || len == 0 || realLen == NULL) { | ||
| 200 | + return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
| 201 | + } | ||
| 202 | + | ||
| 203 | + ret = fread(buf, 1, len, fileObj); | ||
| 204 | + if (ret >= 0) { | ||
| 205 | + *realLen = ret; | ||
| 206 | + } else { | ||
| 207 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 208 | + } | ||
| 209 | + | ||
| 210 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 211 | +} | ||
| 212 | + | ||
| 213 | +/*********************************** | ||
| 214 | + * | ||
| 215 | + * 文件定位 | ||
| 216 | + 函数名:JZsdk_Osal_FileSeek | ||
| 217 | + 参数:文件句柄,偏移量 | ||
| 218 | + 返回值:JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS表示定位成功, | ||
| 219 | + JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE表示定位失败 | ||
| 220 | + * *******************************/ | ||
| 221 | +T_JZsdkReturnCode JZsdk_Osal_FileSeek(T_JZsdkFileHandle fileObj, U32_t offset) | ||
| 222 | +{ | ||
| 223 | + int32_t ret; | ||
| 224 | + | ||
| 225 | + if (fileObj == NULL) { | ||
| 226 | + return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
| 227 | + } | ||
| 228 | + | ||
| 229 | + ret = fseek(fileObj, offset, SEEK_SET); | ||
| 230 | + if (ret < 0) { | ||
| 231 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 232 | + } | ||
| 233 | + | ||
| 234 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 235 | +} | ||
| 236 | + | ||
| 237 | +/*********************************** | ||
| 238 | + * | ||
| 239 | + * 文件同步 | ||
| 240 | + 函数名:JZsdk_Osal_FileSync | ||
| 241 | + 参数:文件句柄 | ||
| 242 | + 返回值:JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS表示同步成功, | ||
| 243 | + JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE表示同步失败 | ||
| 244 | + * *******************************/ | ||
| 245 | +T_JZsdkReturnCode JZsdk_Osal_FileSync(T_JZsdkFileHandle fileObj) | ||
| 246 | +{ | ||
| 247 | + int32_t ret; | ||
| 248 | + | ||
| 249 | + if (fileObj == NULL) { | ||
| 250 | + return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
| 251 | + } | ||
| 252 | + | ||
| 253 | + ret = fflush(fileObj); | ||
| 254 | + if (ret < 0) { | ||
| 255 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 256 | + } | ||
| 257 | + | ||
| 258 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 259 | +} | ||
| 260 | + | ||
| 261 | + | ||
| 262 | +/********************************** | ||
| 263 | + * | ||
| 264 | + * 获取文件信息 | ||
| 265 | + 函数名:JZsdk_Osal_FileStat | ||
| 266 | + 参数:文件路径,文件信息 | ||
| 267 | + 返回值:JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS表示获取成功, | ||
| 268 | + JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE表示获取失败 | ||
| 269 | + * *******************************/ | ||
| 270 | +T_JZsdkReturnCode JZsdk_Osal_Stat(const char *filePath, T_JZsdkFileInfo *fileInfo) | ||
| 271 | +{ | ||
| 272 | + struct stat st; | ||
| 273 | + int32_t ret; | ||
| 274 | + struct tm *fileTm; | ||
| 275 | + | ||
| 276 | + if (filePath == NULL || fileInfo == NULL) { | ||
| 277 | + return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
| 278 | + } | ||
| 279 | + | ||
| 280 | + ret = stat(filePath, &st); | ||
| 281 | + if (ret < 0) { | ||
| 282 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 283 | + } | ||
| 284 | + | ||
| 285 | + fileTm = localtime((const time_t *) &(st.st_mtim)); | ||
| 286 | + if (fileTm == NULL) { | ||
| 287 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 288 | + } | ||
| 289 | + | ||
| 290 | + fileInfo->size = st.st_size; | ||
| 291 | + | ||
| 292 | + fileInfo->createTime.year = fileTm->tm_year + 1900 - 1980; | ||
| 293 | + fileInfo->createTime.month = fileTm->tm_mon + 1; | ||
| 294 | + fileInfo->createTime.day = fileTm->tm_mday; | ||
| 295 | + fileInfo->createTime.hour = fileTm->tm_hour; | ||
| 296 | + fileInfo->createTime.minute = fileTm->tm_min; | ||
| 297 | + fileInfo->createTime.second = fileTm->tm_sec; | ||
| 298 | + | ||
| 299 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 300 | +} | ||
| 301 | + | ||
| 302 | + | ||
| 303 | + | ||
| 304 | +/********************************** | ||
| 305 | + * | ||
| 108 | * 创建一个文件夹 | 306 | * 创建一个文件夹 |
| 109 | 函数名:JZsdk_check_file_exists | 307 | 函数名:JZsdk_check_file_exists |
| 110 | 参数:文件路径 | 308 | 参数:文件路径 |
| @@ -208,13 +406,37 @@ T_JZsdkReturnCode JZsdk_create_file(const char* file_path) | @@ -208,13 +406,37 @@ T_JZsdkReturnCode JZsdk_create_file(const char* file_path) | ||
| 208 | 406 | ||
| 209 | /********************************** | 407 | /********************************** |
| 210 | * | 408 | * |
| 409 | + * 重命名文件 | ||
| 410 | + 函数名:JZsdk_check_file_exists | ||
| 411 | + 参数:文件路径 | ||
| 412 | + 返回值:JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS表示文件存在, | ||
| 413 | + JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE表示文件不存在 | ||
| 414 | + * *******************************/ | ||
| 415 | +T_JZsdkReturnCode JZsdk_Osal_Rename(const char *oldFilePath, const char *newFilePath) | ||
| 416 | +{ | ||
| 417 | + int32_t ret; | ||
| 418 | + | ||
| 419 | + if (oldFilePath == NULL || newFilePath == NULL) { | ||
| 420 | + return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
| 421 | + } | ||
| 422 | + | ||
| 423 | + ret = rename(oldFilePath, newFilePath); | ||
| 424 | + if (ret < 0) { | ||
| 425 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 426 | + } | ||
| 427 | + | ||
| 428 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 429 | +} | ||
| 430 | + | ||
| 431 | +/********************************** | ||
| 432 | + * | ||
| 211 | * 删除文件 | 433 | * 删除文件 |
| 212 | - 函数名:JZsdk_delete_file | 434 | + 函数名:JZsdk_Osal_delete |
| 213 | 参数:文件路径 | 435 | 参数:文件路径 |
| 214 | 返回值:JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS表示文件已经不存在 | 436 | 返回值:JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS表示文件已经不存在 |
| 215 | JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE表示文件仍然存在 | 437 | JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE表示文件仍然存在 |
| 216 | * *******************************/ | 438 | * *******************************/ |
| 217 | -T_JZsdkReturnCode JZsdk_delete_file(const char* file_path) | 439 | +T_JZsdkReturnCode JZsdk_Osal_delete(const char* file_path) |
| 218 | { | 440 | { |
| 219 | int remove_result = remove(file_path); | 441 | int remove_result = remove(file_path); |
| 220 | if (remove_result != 0) { | 442 | if (remove_result != 0) { |
| @@ -459,3 +681,80 @@ T_JZsdkReturnCode JZsdk_Sync() | @@ -459,3 +681,80 @@ T_JZsdkReturnCode JZsdk_Sync() | ||
| 459 | sync(); | 681 | sync(); |
| 460 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 682 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 461 | } | 683 | } |
| 684 | + | ||
| 685 | +T_JZsdkReturnCode JZsdk_Osal_DirOpen(const char *filePath, T_JZsdkDirHandle *dirObj) | ||
| 686 | +{ | ||
| 687 | + if (filePath == NULL) { | ||
| 688 | + return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
| 689 | + } | ||
| 690 | + | ||
| 691 | + *dirObj = opendir(filePath); | ||
| 692 | + if (*dirObj == NULL) { | ||
| 693 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 694 | + } | ||
| 695 | + | ||
| 696 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 697 | +} | ||
| 698 | + | ||
| 699 | +T_JZsdkReturnCode JZsdk_Osal_DirClose(T_JZsdkDirHandle dirObj) | ||
| 700 | +{ | ||
| 701 | + int32_t ret; | ||
| 702 | + | ||
| 703 | + if (dirObj == NULL) { | ||
| 704 | + return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
| 705 | + } | ||
| 706 | + | ||
| 707 | + ret = closedir((DIR *) dirObj); | ||
| 708 | + if (ret < 0) { | ||
| 709 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 710 | + } | ||
| 711 | + | ||
| 712 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 713 | +} | ||
| 714 | + | ||
| 715 | +T_JZsdkReturnCode JZsdk_Osal_DirRead(T_JZsdkDirHandle dirObj, T_JZsdkFileInfo *fileInfo) | ||
| 716 | +{ | ||
| 717 | + struct dirent *dirent; | ||
| 718 | + | ||
| 719 | + if (dirObj == NULL || fileInfo == NULL) { | ||
| 720 | + return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
| 721 | + } | ||
| 722 | + | ||
| 723 | + dirent = readdir((DIR *) dirObj); | ||
| 724 | + if (!dirent) { | ||
| 725 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 726 | + } | ||
| 727 | + | ||
| 728 | + if (dirent->d_type == DT_DIR) { | ||
| 729 | + fileInfo->isDir = true; | ||
| 730 | + } else { | ||
| 731 | + fileInfo->isDir = false; | ||
| 732 | + } | ||
| 733 | + strcpy(fileInfo->path, dirent->d_name); | ||
| 734 | + | ||
| 735 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 736 | +} | ||
| 737 | + | ||
| 738 | + | ||
| 739 | +T_JZsdkReturnCode JZsdk_Osal_Unlink(const char *filePath) | ||
| 740 | +{ | ||
| 741 | + int32_t ret; | ||
| 742 | + | ||
| 743 | + if (filePath == NULL) { | ||
| 744 | + return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
| 745 | + } | ||
| 746 | + | ||
| 747 | + if (filePath[strlen(filePath) - 1] == '/') { | ||
| 748 | + ret = rmdir(filePath); | ||
| 749 | + if (ret < 0) { | ||
| 750 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 751 | + } | ||
| 752 | + } else { | ||
| 753 | + ret = unlink(filePath); | ||
| 754 | + if (ret < 0) { | ||
| 755 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 756 | + } | ||
| 757 | + } | ||
| 758 | + | ||
| 759 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 760 | +} |
| @@ -12,7 +12,8 @@ | @@ -12,7 +12,8 @@ | ||
| 12 | 12 | ||
| 13 | /* Includes ------------------------------------------------------------------*/ | 13 | /* Includes ------------------------------------------------------------------*/ |
| 14 | #include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | 14 | #include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" |
| 15 | -#include "./JZsdk_FS_Standards.h" | 15 | +#include "JZsdk_Base/JZsdk_Code/JZsdk_Platform/JZsdk_Platform.h" |
| 16 | +#include "JZsdk_Base/JZsdk_Code/JZsdk_typedef/JZsdk_typedef.h" | ||
| 16 | 17 | ||
| 17 | #ifdef __cplusplus | 18 | #ifdef __cplusplus |
| 18 | extern "C" { | 19 | extern "C" { |
| @@ -21,6 +22,59 @@ extern "C" { | @@ -21,6 +22,59 @@ extern "C" { | ||
| 21 | /* Exported constants --------------------------------------------------------*/ | 22 | /* Exported constants --------------------------------------------------------*/ |
| 22 | /* 常亮定义*/ | 23 | /* 常亮定义*/ |
| 23 | 24 | ||
| 25 | +/* | ||
| 26 | + 用途:用于读取文件内容。 | ||
| 27 | + 权限:只允许读取文件,不允许写入或修改文件内容。 | ||
| 28 | + 文件存在性:如果文件不存在,打开操作会失败,并返回一个错误。 | ||
| 29 | + 文件指针位置:文件打开后,文件指针位于文件的开头。 | ||
| 30 | +*/ | ||
| 31 | +#define FS_ONLY_READ "rb" | ||
| 32 | + | ||
| 33 | +/* | ||
| 34 | + 用途:用于读取和写入文件内容。 | ||
| 35 | + 权限:允许读取和写入文件内容。 | ||
| 36 | + 文件存在性:如果文件不存在,打开操作会失败,并返回一个错误。 | ||
| 37 | + 文件指针位置:文件打开后,文件指针位于文件的开头。 | ||
| 38 | + 注意事项:在写入文件时,会覆盖文件中对应位置的内容,但不会删除文件的其他内容。 | ||
| 39 | +*/ | ||
| 40 | +#define FS_READ_AND_WRITE "r+b" | ||
| 41 | + | ||
| 42 | +/* | ||
| 43 | + 用途:用于写入文件内容。 | ||
| 44 | + 权限:只允许写入文件内容,不允许读取。 | ||
| 45 | + 文件存在性:如果文件存在,其内容会被清空;如果文件不存在,会创建一个新文件。 | ||
| 46 | + 文件指针位置:文件打开后,文件指针位于文件的开头,准备写入新内容。 | ||
| 47 | + 注意事项:使用w模式打开文件时,会丢失文件中的原有内容。 | ||
| 48 | +*/ | ||
| 49 | +#define FS_ONLT_WRITE "wb" | ||
| 50 | + | ||
| 51 | +/* | ||
| 52 | + 用途:用于读取和写入文件内容,但会先清空文件。 | ||
| 53 | + 权限:允许读取和写入文件内容。 | ||
| 54 | + 文件存在性:如果文件存在,其内容会被清空;如果文件不存在,会创建一个新文件。 | ||
| 55 | + 文件指针位置:文件打开后,文件指针位于文件的开头,准备写入新内容。 | ||
| 56 | + 注意事项:使用w+模式打开文件时,会丢失文件中的原有内容。但在写入新内容后,仍然可以读取文件内容。 | ||
| 57 | +*/ | ||
| 58 | +#define FS_READ_AND_WRITE_CLEAR "w+b" | ||
| 59 | + | ||
| 60 | +/* | ||
| 61 | + 用途:用于在文件末尾追加内容。 | ||
| 62 | + 权限:只允许写入文件内容,不允许读取。 | ||
| 63 | + 文件存在性:如果文件存在,写入操作会追加到文件末尾;如果文件不存在,会创建一个新文件。 | ||
| 64 | + 文件指针位置:文件打开后,文件指针位于文件末尾,准备追加新内容。 | ||
| 65 | +*/ | ||
| 66 | +#define FS_APPEND "ab" | ||
| 67 | + | ||
| 68 | +/* | ||
| 69 | + 用途:用于读取和写入文件内容,但写入操作会追加到文件末尾。 | ||
| 70 | + 权限:允许读取和写入文件内容。 | ||
| 71 | + 文件存在性:如果文件存在,写入操作会追加到文件末尾;如果文件不存在,会创建一个新文件。 | ||
| 72 | + 文件指针位置:文件打开后,文件指针位于文件末尾,但可以通过fseek等函数移动到文件的其他位置进行读取或写入。 | ||
| 73 | +*/ | ||
| 74 | +#define FS_READ_AND_APPEND "a+b" | ||
| 75 | + | ||
| 76 | + | ||
| 77 | + | ||
| 24 | /* Exported types ------------------------------------------------------------*/ | 78 | /* Exported types ------------------------------------------------------------*/ |
| 25 | 79 | ||
| 26 | 80 | ||
| @@ -28,7 +82,7 @@ extern "C" { | @@ -28,7 +82,7 @@ extern "C" { | ||
| 28 | T_JZsdkReturnCode JZsdk_RunSystemCmd(char *systemCmd); | 82 | T_JZsdkReturnCode JZsdk_RunSystemCmd(char *systemCmd); |
| 29 | T_JZsdkReturnCode JZsdk_check_file_exists(const char* file_path) ; | 83 | T_JZsdkReturnCode JZsdk_check_file_exists(const char* file_path) ; |
| 30 | T_JZsdkReturnCode JZsdk_create_file(const char* file_path) ; | 84 | T_JZsdkReturnCode JZsdk_create_file(const char* file_path) ; |
| 31 | -T_JZsdkReturnCode JZsdk_delete_file(const char* file_path) ; | 85 | +T_JZsdkReturnCode JZsdk_Osal_delete(const char* file_path); |
| 32 | T_JZsdkReturnCode JZsdk_strings_suffix_comparison_onlyStr(const unsigned char* Strings, const unsigned char *suffix) ; | 86 | T_JZsdkReturnCode JZsdk_strings_suffix_comparison_onlyStr(const unsigned char* Strings, const unsigned char *suffix) ; |
| 33 | T_JZsdkReturnCode JZsdk_strings_suffix_comparison_withLen(const unsigned char* Strings, int Strings_len, const unsigned char *suffix) ; | 87 | T_JZsdkReturnCode JZsdk_strings_suffix_comparison_withLen(const unsigned char* Strings, int Strings_len, const unsigned char *suffix) ; |
| 34 | T_JZsdkReturnCode JZsdk_Osal_Mkdir(const char *filePath); | 88 | T_JZsdkReturnCode JZsdk_Osal_Mkdir(const char *filePath); |
| @@ -40,6 +94,23 @@ T_JZsdkReturnCode JZsdk_copy_file_byC(const char* source_path, const char* dest_ | @@ -40,6 +94,23 @@ T_JZsdkReturnCode JZsdk_copy_file_byC(const char* source_path, const char* dest_ | ||
| 40 | T_JZsdkReturnCode JZsdk_RunSystemCmd_ReturnResult(char *systemCmd, unsigned int *result); | 94 | T_JZsdkReturnCode JZsdk_RunSystemCmd_ReturnResult(char *systemCmd, unsigned int *result); |
| 41 | T_JZsdkReturnCode JZsdk_RunSystemCmd_ReturnResult_Str(char *systemCmd, unsigned char *str); | 95 | T_JZsdkReturnCode JZsdk_RunSystemCmd_ReturnResult_Str(char *systemCmd, unsigned char *str); |
| 42 | T_JZsdkReturnCode JZsdk_Sync(); | 96 | T_JZsdkReturnCode JZsdk_Sync(); |
| 97 | +T_JZsdkReturnCode JZsdk_Osal_Stat(const char *filePath, T_JZsdkFileInfo *fileInfo); | ||
| 98 | +T_JZsdkReturnCode JZsdk_Osal_Rename(const char *oldFilePath, const char *newFilePath); | ||
| 99 | + | ||
| 100 | + | ||
| 101 | +T_JZsdkReturnCode JZsdk_Osal_FileOpen(const char *fileName, const char *fileMode, T_JZsdkFileHandle *fileObj); | ||
| 102 | +T_JZsdkReturnCode JZsdk_Osal_FileClose(T_JZsdkFileHandle fileObj); | ||
| 103 | +T_JZsdkReturnCode JZsdk_Osal_FileWrite_U8(T_JZsdkFileHandle fileObj, const U8_t *buf, U32_t len, U32_t *realLen); | ||
| 104 | +T_JZsdkReturnCode JZsdk_Osal_FileRead_U8(T_JZsdkFileHandle fileObj, U8_t *buf, U32_t len, U32_t *realLen); | ||
| 105 | +T_JZsdkReturnCode JZsdk_Osal_FileSeek(T_JZsdkFileHandle fileObj, U32_t offset); | ||
| 106 | +T_JZsdkReturnCode JZsdk_Osal_FileSync(T_JZsdkFileHandle fileObj); | ||
| 107 | + | ||
| 108 | + | ||
| 109 | +T_JZsdkReturnCode JZsdk_Osal_DirOpen(const char *filePath, T_JZsdkDirHandle *dirObj); | ||
| 110 | +T_JZsdkReturnCode JZsdk_Osal_DirClose(T_JZsdkDirHandle dirObj); | ||
| 111 | +T_JZsdkReturnCode JZsdk_Osal_DirRead(T_JZsdkDirHandle dirObj, T_JZsdkFileInfo *fileInfo); | ||
| 112 | +T_JZsdkReturnCode JZsdk_Osal_Unlink(const char *filePath); | ||
| 113 | + | ||
| 43 | 114 | ||
| 44 | #ifdef __cplusplus | 115 | #ifdef __cplusplus |
| 45 | } | 116 | } |
| @@ -4,11 +4,17 @@ | @@ -4,11 +4,17 @@ | ||
| 4 | 4 | ||
| 5 | 5 | ||
| 6 | 6 | ||
| 7 | -static T_JZsdkOsalHandler* g_osalHandler = NULL; | 7 | +static T_JZsdkOsalHandler *g_osalHandler = NULL; |
| 8 | +static T_JZsdkFSHandler *g_FsHandler = NULL; | ||
| 8 | 9 | ||
| 9 | static T_JZsdkReturnCode JZsdk_Platform_RegOsalHandler(const T_JZsdkOsalHandler *osalHandler) | 10 | static T_JZsdkReturnCode JZsdk_Platform_RegOsalHandler(const T_JZsdkOsalHandler *osalHandler) |
| 10 | { | 11 | { |
| 11 | - g_osalHandler = (T_JZsdkOsalHandler*)osalHandler; // 存储传入的 OSAL 处理器 | 12 | + g_osalHandler = malloc(sizeof(T_JZsdkOsalHandler)); |
| 13 | + if (osalHandler == NULL) { | ||
| 14 | + return JZ_ERROR_SYSTEM_MODULE_CODE_MEMORY_ALLOC_FAILED; // 处理内存分配失败的情况 | ||
| 15 | + } | ||
| 16 | + | ||
| 17 | + memcpy(g_osalHandler, osalHandler, sizeof(T_JZsdkOsalHandler)); | ||
| 12 | 18 | ||
| 13 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 19 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 14 | } | 20 | } |
| @@ -18,6 +24,25 @@ T_JZsdkOsalHandler *JZsdk_Platform_GetOsalHandler(void) | @@ -18,6 +24,25 @@ T_JZsdkOsalHandler *JZsdk_Platform_GetOsalHandler(void) | ||
| 18 | return g_osalHandler; // 返回已注册的 OSAL 处理器 | 24 | return g_osalHandler; // 返回已注册的 OSAL 处理器 |
| 19 | } | 25 | } |
| 20 | 26 | ||
| 27 | + | ||
| 28 | +static T_JZsdkReturnCode JZsdk_RegFsHandler(const T_JZsdkFSHandler *FsHandler) | ||
| 29 | +{ | ||
| 30 | + g_FsHandler = malloc(sizeof(T_JZsdkFSHandler)); | ||
| 31 | + if (g_FsHandler == NULL) { | ||
| 32 | + return JZ_ERROR_SYSTEM_MODULE_CODE_MEMORY_ALLOC_FAILED; // 处理内存分配失败的情况 | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + memcpy(g_FsHandler, FsHandler, sizeof(T_JZsdkFSHandler)); | ||
| 36 | + | ||
| 37 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 38 | +} | ||
| 39 | + | ||
| 40 | +T_JZsdkFSHandler *JZsdk_GetFsHandler(void) | ||
| 41 | +{ | ||
| 42 | + return g_FsHandler; // 返回已注册的 FS 处理器 | ||
| 43 | +} | ||
| 44 | + | ||
| 45 | + | ||
| 21 | T_JZsdkReturnCode JZsdk_OsalInit() | 46 | T_JZsdkReturnCode JZsdk_OsalInit() |
| 22 | { | 47 | { |
| 23 | T_JZsdkOsalHandler osalHandler = { | 48 | T_JZsdkOsalHandler osalHandler = { |
| @@ -40,7 +65,27 @@ T_JZsdkReturnCode JZsdk_OsalInit() | @@ -40,7 +65,27 @@ T_JZsdkReturnCode JZsdk_OsalInit() | ||
| 40 | .GetRandomNum = JZsdk_Osal_GetRandomNum, | 65 | .GetRandomNum = JZsdk_Osal_GetRandomNum, |
| 41 | }; | 66 | }; |
| 42 | 67 | ||
| 68 | + T_JZsdkFSHandler fileSystemHandler = { | ||
| 69 | + .FileOpen = JZsdk_Osal_FileOpen, | ||
| 70 | + .FileClose = JZsdk_Osal_FileClose, | ||
| 71 | + .FileWrite_U8 = JZsdk_Osal_FileWrite_U8, | ||
| 72 | + .FileRead_U8 = JZsdk_Osal_FileRead_U8, | ||
| 73 | + .FileSync = JZsdk_Osal_FileSync, | ||
| 74 | + .FileSeek = JZsdk_Osal_FileSeek, | ||
| 75 | + .DirOpen = JZsdk_Osal_DirOpen, | ||
| 76 | + .DirClose = JZsdk_Osal_DirClose, | ||
| 77 | + .DirRead = JZsdk_Osal_DirRead, | ||
| 78 | + .Mkdir = JZsdk_Osal_Mkdir, | ||
| 79 | + .Unlink = JZsdk_Osal_Unlink, | ||
| 80 | + .Rename = JZsdk_Osal_Rename, | ||
| 81 | + .Stat = JZsdk_Osal_Stat, | ||
| 82 | + }; | ||
| 83 | + | ||
| 43 | JZsdk_Platform_RegOsalHandler(&osalHandler); | 84 | JZsdk_Platform_RegOsalHandler(&osalHandler); |
| 85 | + printf("JZsdk Osal handler registered\n"); | ||
| 86 | + | ||
| 87 | + JZsdk_RegFsHandler(&fileSystemHandler); | ||
| 88 | + printf("JZsdk File system handler registered\n"); | ||
| 44 | 89 | ||
| 45 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 90 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 46 | } | 91 | } |
| @@ -35,6 +35,7 @@ extern "C" { | @@ -35,6 +35,7 @@ extern "C" { | ||
| 35 | * | 35 | * |
| 36 | * ******************/ | 36 | * ******************/ |
| 37 | typedef struct { | 37 | typedef struct { |
| 38 | + //任务名 任务函数 任务栈大小 任务参数 任务句柄 | ||
| 38 | T_JZsdkReturnCode (*TaskCreate)(const char *name, void *(*taskFunc)(void *), | 39 | T_JZsdkReturnCode (*TaskCreate)(const char *name, void *(*taskFunc)(void *), |
| 39 | unsigned int stackSize, void *arg, T_JZTaskHandle *task); | 40 | unsigned int stackSize, void *arg, T_JZTaskHandle *task); |
| 40 | 41 | ||
| @@ -72,6 +73,40 @@ typedef struct { | @@ -72,6 +73,40 @@ typedef struct { | ||
| 72 | } T_JZsdkOsalHandler; | 73 | } T_JZsdkOsalHandler; |
| 73 | 74 | ||
| 74 | 75 | ||
| 76 | +/**************** | ||
| 77 | + * | ||
| 78 | + * filesysterm 文件系统权柄 | ||
| 79 | + * | ||
| 80 | + * | ||
| 81 | + * ******************/ | ||
| 82 | +typedef struct { | ||
| 83 | + T_JZsdkReturnCode (*FileOpen)(const char *fileName, const char *fileMode, T_JZsdkFileHandle *fileObj); | ||
| 84 | + | ||
| 85 | + T_JZsdkReturnCode (*FileClose)(T_JZsdkFileHandle fileObj); | ||
| 86 | + | ||
| 87 | + T_JZsdkReturnCode (*FileWrite_U8)(T_JZsdkFileHandle fileObj, const U8_t *buf, U32_t len, U32_t *realLen); | ||
| 88 | + | ||
| 89 | + T_JZsdkReturnCode (*FileRead_U8)(T_JZsdkFileHandle fileObj, U8_t *buf, U32_t len, U32_t *realLen); | ||
| 90 | + | ||
| 91 | + T_JZsdkReturnCode (*FileSeek)(T_JZsdkFileHandle fileObj, U32_t offset); | ||
| 92 | + | ||
| 93 | + T_JZsdkReturnCode (*FileSync)(T_JZsdkFileHandle fileObj); | ||
| 94 | + | ||
| 95 | + T_JZsdkReturnCode (*DirOpen)(const char *filePath, T_JZsdkDirHandle *dirObj); | ||
| 96 | + | ||
| 97 | + T_JZsdkReturnCode (*DirClose)(T_JZsdkDirHandle dirObj); | ||
| 98 | + | ||
| 99 | + T_JZsdkReturnCode (*DirRead)(T_JZsdkDirHandle dirObj, T_JZsdkFileInfo *fileInfo); | ||
| 100 | + | ||
| 101 | + T_JZsdkReturnCode (*Mkdir)(const char *filePath); | ||
| 102 | + | ||
| 103 | + T_JZsdkReturnCode (*Unlink)(const char *filePath); | ||
| 104 | + | ||
| 105 | + T_JZsdkReturnCode (*Rename)(const char *oldFilePath, const char *newFilePath); | ||
| 106 | + | ||
| 107 | + T_JZsdkReturnCode (*Stat)(const char *filePath, T_JZsdkFileInfo *fileInfo); | ||
| 108 | +} T_JZsdkFSHandler; | ||
| 109 | + | ||
| 75 | 110 | ||
| 76 | /* Exported macro ------------------------------------------------------------*/ | 111 | /* Exported macro ------------------------------------------------------------*/ |
| 77 | 112 | ||
| @@ -82,6 +117,7 @@ typedef struct { | @@ -82,6 +117,7 @@ typedef struct { | ||
| 82 | /* Exported functions --------------------------------------------------------*/ | 117 | /* Exported functions --------------------------------------------------------*/ |
| 83 | T_JZsdkReturnCode JZsdk_OsalInit(); | 118 | T_JZsdkReturnCode JZsdk_OsalInit(); |
| 84 | T_JZsdkOsalHandler *JZsdk_Platform_GetOsalHandler(void); | 119 | T_JZsdkOsalHandler *JZsdk_Platform_GetOsalHandler(void); |
| 120 | +T_JZsdkFSHandler *JZsdk_GetFsHandler(void); | ||
| 85 | 121 | ||
| 86 | 122 | ||
| 87 | #ifdef __cplusplus | 123 | #ifdef __cplusplus |
| 1 | #include <stdio.h> | 1 | #include <stdio.h> |
| 2 | #include <stdlib.h> | 2 | #include <stdlib.h> |
| 3 | #include <pthread.h> | 3 | #include <pthread.h> |
| 4 | +#include <string.h> // Include this for strncpy | ||
| 4 | 5 | ||
| 5 | #include "./JZsdk_Task.h" | 6 | #include "./JZsdk_Task.h" |
| 6 | 7 | ||
| @@ -12,13 +13,15 @@ T_JZsdkReturnCode JZsdk_Osal_TaskCreate(const char *name, void *(*taskFunc)(void | @@ -12,13 +13,15 @@ T_JZsdkReturnCode JZsdk_Osal_TaskCreate(const char *name, void *(*taskFunc)(void | ||
| 12 | 13 | ||
| 13 | //为任务句柄分配内存空间,大小为sizeof(pthread_t)。如果内存分配失败,则返回一个错误代码 | 14 | //为任务句柄分配内存空间,大小为sizeof(pthread_t)。如果内存分配失败,则返回一个错误代码 |
| 14 | *task = malloc(sizeof(pthread_t)); | 15 | *task = malloc(sizeof(pthread_t)); |
| 15 | - if (*task == NULL) { | 16 | + if (*task == NULL) |
| 17 | + { | ||
| 16 | return JZ_ERROR_SYSTEM_MODULE_CODE_MEMORY_ALLOC_FAILED; | 18 | return JZ_ERROR_SYSTEM_MODULE_CODE_MEMORY_ALLOC_FAILED; |
| 17 | } | 19 | } |
| 18 | 20 | ||
| 19 | //使用pthread_create函数创建一个新的线程,传递给它任务函数指针taskFunc和参数arg。如果创建线程失败,则返回一个错误代码 | 21 | //使用pthread_create函数创建一个新的线程,传递给它任务函数指针taskFunc和参数arg。如果创建线程失败,则返回一个错误代码 |
| 20 | result = pthread_create(*task, NULL, taskFunc, arg); | 22 | result = pthread_create(*task, NULL, taskFunc, arg); |
| 21 | - if (result != 0) { | 23 | + if (result != 0) |
| 24 | + { | ||
| 22 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 25 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| 23 | } | 26 | } |
| 24 | 27 | ||
| @@ -28,8 +31,9 @@ T_JZsdkReturnCode JZsdk_Osal_TaskCreate(const char *name, void *(*taskFunc)(void | @@ -28,8 +31,9 @@ T_JZsdkReturnCode JZsdk_Osal_TaskCreate(const char *name, void *(*taskFunc)(void | ||
| 28 | strncpy(nameDealed, name, sizeof(nameDealed) - 1); | 31 | strncpy(nameDealed, name, sizeof(nameDealed) - 1); |
| 29 | 32 | ||
| 30 | //使用pthread_setname_np函数将任务线程的名称设置为nameDealed。如果设置线程名称失败,则返回一个错误代码 | 33 | //使用pthread_setname_np函数将任务线程的名称设置为nameDealed。如果设置线程名称失败,则返回一个错误代码 |
| 31 | - result = pthread_setname_np(*(pthread_t *) *task, nameDealed); | ||
| 32 | - if (result != 0) { | 34 | + result = pthread_setname_np( *(pthread_t *) *task, nameDealed); |
| 35 | + if (result != 0) | ||
| 36 | + { | ||
| 33 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 37 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| 34 | } | 38 | } |
| 35 | 39 |
| @@ -91,6 +91,9 @@ T_JZsdkReturnCode TaskManagement_SubmitTask(void (*task_function)(void*), void* | @@ -91,6 +91,9 @@ T_JZsdkReturnCode TaskManagement_SubmitTask(void (*task_function)(void*), void* | ||
| 91 | static void* TaskManagement_ThreadFunction(void* arg) | 91 | static void* TaskManagement_ThreadFunction(void* arg) |
| 92 | { | 92 | { |
| 93 | t_ThreadPool* pool = (t_ThreadPool*)arg; | 93 | t_ThreadPool* pool = (t_ThreadPool*)arg; |
| 94 | + | ||
| 95 | + JZSDK_LOG_DEBUG("TaskManagement_Thread Have Create"); | ||
| 96 | + | ||
| 94 | while (1) | 97 | while (1) |
| 95 | { | 98 | { |
| 96 | pthread_mutex_lock(&pool->lock); | 99 | pthread_mutex_lock(&pool->lock); |
| @@ -21,6 +21,7 @@ | @@ -21,6 +21,7 @@ | ||
| 21 | #include "MediaProc/MediaProc.h" | 21 | #include "MediaProc/MediaProc.h" |
| 22 | #include "UI_control/WidegMgmt/JZsdk_Widget.h" | 22 | #include "UI_control/WidegMgmt/JZsdk_Widget.h" |
| 23 | #include "DeviceConfig/DeviceConfig.h" | 23 | #include "DeviceConfig/DeviceConfig.h" |
| 24 | +#include "CommonMod/CommonMod.h" | ||
| 24 | 25 | ||
| 25 | #include "JZsdk_Hal.h" | 26 | #include "JZsdk_Hal.h" |
| 26 | 27 | ||
| @@ -50,7 +51,9 @@ static int WorkMode = JZ_FLAGCODE_OFF; | @@ -50,7 +51,9 @@ static int WorkMode = JZ_FLAGCODE_OFF; | ||
| 50 | static int g_All_filter_Mode = JZ_FLAGCODE_OFF; //用于m30的滤波开关 | 51 | static int g_All_filter_Mode = JZ_FLAGCODE_OFF; //用于m30的滤波开关 |
| 51 | static int StartupPriorityNum = JZ_FLAGCODE_OFF; //优先启动项值 | 52 | static int StartupPriorityNum = JZ_FLAGCODE_OFF; //优先启动项值 |
| 52 | 53 | ||
| 53 | - | 54 | +static int g_device_InitFlag = JZ_FLAGCODE_OFF; //基础配置初始化标志位,该标志位用于判断设备是否已经完成准备就绪,目前主要影响的是预设任务 |
| 55 | +static int g_baseconfig_InitFlag = JZ_FLAGCODE_OFF; //基础配置初始化标志位,该标志位用于判断设备是否已经完成baseconfig 目前用处影响g_device_InitFlag | ||
| 56 | +static int g_Main_WorkMode_InitFlag = JZ_FLAGCODE_OFF; //基础配置初始化标志位,该标志位用于判断设备是否已经完成连接与启动播放 目前用处影响g_device_InitFlag | ||
| 54 | 57 | ||
| 55 | /******************* | 58 | /******************* |
| 56 | * | 59 | * |
| @@ -135,11 +138,19 @@ int Main_Device_Wheather_Use() | @@ -135,11 +138,19 @@ int Main_Device_Wheather_Use() | ||
| 135 | 138 | ||
| 136 | T_JZsdkReturnCode Main_APP_Psdk() | 139 | T_JZsdkReturnCode Main_APP_Psdk() |
| 137 | { | 140 | { |
| 141 | + int value[5] = {0, 0, 0, 0, 0}; | ||
| 142 | + | ||
| 138 | //sdklib加载 | 143 | //sdklib加载 |
| 139 | JZsdk_LibInit(); | 144 | JZsdk_LibInit(); |
| 140 | 145 | ||
| 146 | + //hal加载 | ||
| 147 | + JZsdk_Hal_Init(); | ||
| 148 | + | ||
| 141 | JZSDK_LOG_INFO("%x,PsdkVersion%x.%x.%x.%x\n",DEVICE_VERSION,MAJOR_VERSION, MINOR_VERSION, MODIFY_VERSION, DEBUG_VERSION); | 149 | JZSDK_LOG_INFO("%x,PsdkVersion%x.%x.%x.%x\n",DEVICE_VERSION,MAJOR_VERSION, MINOR_VERSION, MODIFY_VERSION, DEBUG_VERSION); |
| 142 | 150 | ||
| 151 | + //通用模块初始化 | ||
| 152 | + CommonMod_Init(); | ||
| 153 | + | ||
| 143 | //引脚初始化 | 154 | //引脚初始化 |
| 144 | Ircut_Init(); | 155 | Ircut_Init(); |
| 145 | 156 | ||
| @@ -163,10 +174,12 @@ T_JZsdkReturnCode Main_APP_Psdk() | @@ -163,10 +174,12 @@ T_JZsdkReturnCode Main_APP_Psdk() | ||
| 163 | if (DEVICE_VERSION == TF_A1) | 174 | if (DEVICE_VERSION == TF_A1) |
| 164 | { | 175 | { |
| 165 | //串口设备1初始化 | 176 | //串口设备1初始化 |
| 166 | - //JZsdk_HalPort_Init_WithDefault(UART_DEV_1); | 177 | + //value[0] = UART_DEV1_BITRATE; |
| 178 | + //JZsdk_HalPort_Init(UART_DEV_1, value); | ||
| 167 | 179 | ||
| 168 | //串口设备2初始化 | 180 | //串口设备2初始化 |
| 169 | - JZsdk_HalPort_Init_WithDefault(UART_DEV_2); | 181 | + value[0] = UART_DEV2_BITRATE; |
| 182 | + JZsdk_HalPort_Init(UART_DEV_2, value); | ||
| 170 | 183 | ||
| 171 | //喊话器初始化 | 184 | //喊话器初始化 |
| 172 | Megaphone_Init(); | 185 | Megaphone_Init(); |
| @@ -186,19 +199,22 @@ T_JZsdkReturnCode Main_APP_Psdk() | @@ -186,19 +199,22 @@ T_JZsdkReturnCode Main_APP_Psdk() | ||
| 186 | else if (DEVICE_VERSION == JZ_H1E) | 199 | else if (DEVICE_VERSION == JZ_H1E) |
| 187 | { | 200 | { |
| 188 | //串口设备1初始化 | 201 | //串口设备1初始化 |
| 189 | - //JZsdk_HalPort_Init_WithDefault(UART_DEV_1); | 202 | + //value[0] = UART_DEV1_BITRATE; |
| 203 | + //JZsdk_HalPort_Init(UART_DEV_1, value); | ||
| 190 | 204 | ||
| 191 | //喊话器初始化 | 205 | //喊话器初始化 |
| 192 | - Megaphone_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); | 206 | + Megaphone_Init(); |
| 193 | } | 207 | } |
| 194 | 208 | ||
| 195 | else if (DEVICE_VERSION == JZ_H1T) | 209 | else if (DEVICE_VERSION == JZ_H1T) |
| 196 | { | 210 | { |
| 197 | //串口设备1初始化 | 211 | //串口设备1初始化 |
| 198 | - //JZsdk_HalPort_Init_WithDefault(UART_DEV_1); | 212 | + //value[0] = UART_DEV1_BITRATE; |
| 213 | + //JZsdk_HalPort_Init(UART_DEV_1, value); | ||
| 199 | 214 | ||
| 200 | //4g设备初始化 | 215 | //4g设备初始化 |
| 201 | - JZsdk_HalPort_Init_WithDefault(UART_4G); | 216 | + value[0] = COMM_4G_UART_BITRATE; |
| 217 | + JZsdk_HalPort_Init(UART_4G, value); | ||
| 202 | 218 | ||
| 203 | //喊话器初始化 | 219 | //喊话器初始化 |
| 204 | Megaphone_Init(); | 220 | Megaphone_Init(); |
| @@ -210,12 +226,14 @@ T_JZsdkReturnCode Main_APP_Psdk() | @@ -210,12 +226,14 @@ T_JZsdkReturnCode Main_APP_Psdk() | ||
| 210 | else if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T) | 226 | else if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T) |
| 211 | { | 227 | { |
| 212 | //串口设备1初始化 | 228 | //串口设备1初始化 |
| 213 | - // JZsdk_HalPort_Init_WithDefault(UART_DEV_1); | 229 | + //value[0] = UART_DEV1_BITRATE; |
| 230 | + //JZsdk_HalPort_Init(UART_DEV_1, value); | ||
| 214 | 231 | ||
| 215 | if (DEVICE_VERSION == JZ_H150T) | 232 | if (DEVICE_VERSION == JZ_H150T) |
| 216 | { | 233 | { |
| 217 | //4g设备初始化 | 234 | //4g设备初始化 |
| 218 | - JZsdk_HalPort_Init_WithDefault(UART_4G); | 235 | + value[0] = COMM_4G_UART_BITRATE; |
| 236 | + JZsdk_HalPort_Init(UART_4G, value); | ||
| 219 | } | 237 | } |
| 220 | 238 | ||
| 221 | //喊话器初始化 | 239 | //喊话器初始化 |
| @@ -231,7 +249,8 @@ T_JZsdkReturnCode Main_APP_Psdk() | @@ -231,7 +249,8 @@ T_JZsdkReturnCode Main_APP_Psdk() | ||
| 231 | else if (DEVICE_VERSION == JZ_H10) | 249 | else if (DEVICE_VERSION == JZ_H10) |
| 232 | { | 250 | { |
| 233 | //串口设备1初始化 | 251 | //串口设备1初始化 |
| 234 | - // JZsdk_HalPort_Init_WithDefault(UART_DEV_1); | 252 | + //value[0] = UART_DEV1_BITRATE; |
| 253 | + //JZsdk_HalPort_Init(UART_DEV_1, value); | ||
| 235 | 254 | ||
| 236 | //喊话器初始化 | 255 | //喊话器初始化 |
| 237 | Megaphone_Init(); | 256 | Megaphone_Init(); |
| @@ -243,10 +262,12 @@ T_JZsdkReturnCode Main_APP_Psdk() | @@ -243,10 +262,12 @@ T_JZsdkReturnCode Main_APP_Psdk() | ||
| 243 | else if (DEVICE_VERSION == JZ_H10T) | 262 | else if (DEVICE_VERSION == JZ_H10T) |
| 244 | { | 263 | { |
| 245 | //串口设备1初始化 | 264 | //串口设备1初始化 |
| 246 | - //JZsdk_HalPort_Init_WithDefault(UART_DEV_1); | 265 | + //value[0] = UART_DEV1_BITRATE; |
| 266 | + //JZsdk_HalPort_Init(UART_DEV_1, value); | ||
| 247 | 267 | ||
| 248 | //4g设备初始化 | 268 | //4g设备初始化 |
| 249 | - JZsdk_HalPort_Init_WithDefault(UART_4G); | 269 | + value[0] = COMM_4G_UART_BITRATE; |
| 270 | + JZsdk_HalPort_Init(UART_4G, value); | ||
| 250 | 271 | ||
| 251 | //喊话器初始化 | 272 | //喊话器初始化 |
| 252 | Megaphone_Init(); | 273 | Megaphone_Init(); |
| @@ -258,10 +279,12 @@ T_JZsdkReturnCode Main_APP_Psdk() | @@ -258,10 +279,12 @@ T_JZsdkReturnCode Main_APP_Psdk() | ||
| 258 | else if (DEVICE_VERSION == JZ_U3) | 279 | else if (DEVICE_VERSION == JZ_U3) |
| 259 | { | 280 | { |
| 260 | //串口设备1初始化 | 281 | //串口设备1初始化 |
| 261 | - //JZsdk_HalPort_Init_WithDefault(UART_DEV_1); | 282 | + //value[0] = UART_DEV1_BITRATE; |
| 283 | + //JZsdk_HalPort_Init(UART_DEV_1, value); | ||
| 262 | 284 | ||
| 263 | //串口设备2初始化 | 285 | //串口设备2初始化 |
| 264 | - JZsdk_HalPort_Init_WithDefault(UART_DEV_2); | 286 | + value[0] = UART_DEV2_BITRATE; |
| 287 | + JZsdk_HalPort_Init(UART_DEV_2, value); | ||
| 265 | 288 | ||
| 266 | //喊话器初始化 | 289 | //喊话器初始化 |
| 267 | Megaphone_Init(); | 290 | Megaphone_Init(); |
| @@ -281,10 +304,12 @@ T_JZsdkReturnCode Main_APP_Psdk() | @@ -281,10 +304,12 @@ T_JZsdkReturnCode Main_APP_Psdk() | ||
| 281 | else if (DEVICE_VERSION == JZ_U3S) | 304 | else if (DEVICE_VERSION == JZ_U3S) |
| 282 | { | 305 | { |
| 283 | //串口设备1初始化 | 306 | //串口设备1初始化 |
| 284 | - //JZsdk_HalPort_Init_WithDefault(UART_DEV_1); | 307 | + //value[0] = UART_DEV1_BITRATE; |
| 308 | + //JZsdk_HalPort_Init(UART_DEV_1, value); | ||
| 285 | 309 | ||
| 286 | //串口设备2初始化 | 310 | //串口设备2初始化 |
| 287 | - JZsdk_HalPort_Init_WithDefault(UART_DEV_2); | 311 | + value[0] = UART_DEV2_BITRATE; |
| 312 | + JZsdk_HalPort_Init(UART_DEV_2, value); | ||
| 288 | 313 | ||
| 289 | //喊话器初始化 | 314 | //喊话器初始化 |
| 290 | Megaphone_Init(); | 315 | Megaphone_Init(); |
| @@ -307,10 +332,12 @@ T_JZsdkReturnCode Main_APP_Psdk() | @@ -307,10 +332,12 @@ T_JZsdkReturnCode Main_APP_Psdk() | ||
| 307 | else if (DEVICE_VERSION == JZ_U3D) | 332 | else if (DEVICE_VERSION == JZ_U3D) |
| 308 | { | 333 | { |
| 309 | //串口设备1初始化 | 334 | //串口设备1初始化 |
| 310 | - //JZsdk_HalPort_Init_WithDefault(UART_DEV_1); | 335 | + //value[0] = UART_DEV1_BITRATE; |
| 336 | + //JZsdk_HalPort_Init(UART_DEV_1, value); | ||
| 311 | 337 | ||
| 312 | //串口设备2初始化 | 338 | //串口设备2初始化 |
| 313 | - JZsdk_HalPort_Init_WithDefault(UART_DEV_2); | 339 | + value[0] = UART_DEV2_BITRATE; |
| 340 | + JZsdk_HalPort_Init(UART_DEV_2, value); | ||
| 314 | 341 | ||
| 315 | //喊话器初始化 | 342 | //喊话器初始化 |
| 316 | Megaphone_Init(); | 343 | Megaphone_Init(); |
| @@ -330,10 +357,12 @@ T_JZsdkReturnCode Main_APP_Psdk() | @@ -330,10 +357,12 @@ T_JZsdkReturnCode Main_APP_Psdk() | ||
| 330 | else if (DEVICE_VERSION == JZ_U30) | 357 | else if (DEVICE_VERSION == JZ_U30) |
| 331 | { | 358 | { |
| 332 | //串口设备1初始化 | 359 | //串口设备1初始化 |
| 333 | - //JZsdk_HalPort_Init_WithDefault(UART_DEV_1); | 360 | + //value[0] = UART_DEV1_BITRATE; |
| 361 | + //JZsdk_HalPort_Init(UART_DEV_1, value); | ||
| 334 | 362 | ||
| 335 | //串口设备2初始化 | 363 | //串口设备2初始化 |
| 336 | - JZsdk_HalPort_Init_WithDefault(UART_DEV_2); | 364 | + value[0] = UART_DEV2_BITRATE; |
| 365 | + JZsdk_HalPort_Init(UART_DEV_2, value); | ||
| 337 | 366 | ||
| 338 | //喊话器初始化 | 367 | //喊话器初始化 |
| 339 | Megaphone_Init(); | 368 | Megaphone_Init(); |
| @@ -361,21 +390,29 @@ T_JZsdkReturnCode Main_APP_Psdk() | @@ -361,21 +390,29 @@ T_JZsdkReturnCode Main_APP_Psdk() | ||
| 361 | JZSDK_WidgetMgMT_Init(); | 390 | JZSDK_WidgetMgMT_Init(); |
| 362 | 391 | ||
| 363 | //初始化app模式 | 392 | //初始化app模式 |
| 364 | - JZsdk_Set_Psdk_UIcontrol_UseFlag(1); | 393 | + JZsdk_HalPort_SetUseFlag(DEVICE_PSDK ,JZ_FLAGCODE_ON); |
| 365 | 394 | ||
| 366 | Main_WorkModeSet(JZ_FLAGCODE_ON); | 395 | Main_WorkModeSet(JZ_FLAGCODE_ON); |
| 367 | 396 | ||
| 397 | + g_baseconfig_InitFlag = JZ_FLAGCODE_ON; | ||
| 368 | } | 398 | } |
| 369 | 399 | ||
| 370 | 400 | ||
| 371 | 401 | ||
| 372 | int Main_APP_Uart() | 402 | int Main_APP_Uart() |
| 373 | { | 403 | { |
| 404 | + int value[5] = {0, 0, 0, 0, 0}; | ||
| 405 | + | ||
| 374 | //lib库初始化 | 406 | //lib库初始化 |
| 375 | JZsdk_LibInit(); | 407 | JZsdk_LibInit(); |
| 376 | 408 | ||
| 409 | + JZsdk_Hal_Init(); | ||
| 410 | + | ||
| 377 | JZSDK_LOG_INFO("0x%x,UartVersion%x.%x.%x.%x\n",DEVICE_VERSION,MAJOR_VERSION, MINOR_VERSION, MODIFY_VERSION, DEBUG_VERSION); | 411 | JZSDK_LOG_INFO("0x%x,UartVersion%x.%x.%x.%x\n",DEVICE_VERSION,MAJOR_VERSION, MINOR_VERSION, MODIFY_VERSION, DEBUG_VERSION); |
| 378 | 412 | ||
| 413 | + //通用模块 | ||
| 414 | + CommonMod_Init(); | ||
| 415 | + | ||
| 379 | //引脚初始化 | 416 | //引脚初始化 |
| 380 | Ircut_Init(); | 417 | Ircut_Init(); |
| 381 | 418 | ||
| @@ -394,7 +431,8 @@ int Main_APP_Uart() | @@ -394,7 +431,8 @@ int Main_APP_Uart() | ||
| 394 | if (DEVICE_VERSION == JZ_H1E) | 431 | if (DEVICE_VERSION == JZ_H1E) |
| 395 | { | 432 | { |
| 396 | //串口设备1初始化 | 433 | //串口设备1初始化 |
| 397 | - JZsdk_HalPort_Init_WithDefault(UART_DEV_1); | 434 | + value[0] = UART_DEV1_BITRATE; |
| 435 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
| 398 | 436 | ||
| 399 | //喊话器初始化 | 437 | //喊话器初始化 |
| 400 | Megaphone_Init(); | 438 | Megaphone_Init(); |
| @@ -403,10 +441,12 @@ int Main_APP_Uart() | @@ -403,10 +441,12 @@ int Main_APP_Uart() | ||
| 403 | if (DEVICE_VERSION == JZ_H1T) | 441 | if (DEVICE_VERSION == JZ_H1T) |
| 404 | { | 442 | { |
| 405 | //串口设备1初始化 | 443 | //串口设备1初始化 |
| 406 | - JZsdk_HalPort_Init_WithDefault(UART_DEV_1); | 444 | + value[0] = UART_DEV1_BITRATE; |
| 445 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
| 407 | 446 | ||
| 408 | //4g设备初始化 | 447 | //4g设备初始化 |
| 409 | - JZsdk_HalPort_Init_WithDefault(UART_4G); | 448 | + value[0] = COMM_4G_UART_BITRATE; |
| 449 | + JZsdk_HalPort_Init(UART_4G, value); | ||
| 410 | 450 | ||
| 411 | //喊话器初始化 | 451 | //喊话器初始化 |
| 412 | Megaphone_Init(); | 452 | Megaphone_Init(); |
| @@ -425,7 +465,8 @@ int Main_APP_Uart() | @@ -425,7 +465,8 @@ int Main_APP_Uart() | ||
| 425 | if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T) | 465 | if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T) |
| 426 | { | 466 | { |
| 427 | //串口设备1初始化 | 467 | //串口设备1初始化 |
| 428 | - JZsdk_HalPort_Init_WithDefault(UART_DEV_1); | 468 | + value[0] = UART_DEV1_BITRATE; |
| 469 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
| 429 | 470 | ||
| 430 | //网口初始化 | 471 | //网口初始化 |
| 431 | JZsdk_NetWork_Init(); | 472 | JZsdk_NetWork_Init(); |
| @@ -433,7 +474,8 @@ int Main_APP_Uart() | @@ -433,7 +474,8 @@ int Main_APP_Uart() | ||
| 433 | if (DEVICE_VERSION == JZ_H150T) | 474 | if (DEVICE_VERSION == JZ_H150T) |
| 434 | { | 475 | { |
| 435 | //4g设备初始化 | 476 | //4g设备初始化 |
| 436 | - JZsdk_HalPort_Init_WithDefault(UART_4G); | 477 | + value[0] = COMM_4G_UART_BITRATE; |
| 478 | + JZsdk_HalPort_Init(UART_4G, value); | ||
| 437 | } | 479 | } |
| 438 | 480 | ||
| 439 | //云台初始化 | 481 | //云台初始化 |
| @@ -449,7 +491,8 @@ int Main_APP_Uart() | @@ -449,7 +491,8 @@ int Main_APP_Uart() | ||
| 449 | if (DEVICE_VERSION == JZ_H10) | 491 | if (DEVICE_VERSION == JZ_H10) |
| 450 | { | 492 | { |
| 451 | //串口设备1初始化 | 493 | //串口设备1初始化 |
| 452 | - JZsdk_HalPort_Init_WithDefault(UART_DEV_1); | 494 | + value[0] = UART_DEV1_BITRATE; |
| 495 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
| 453 | 496 | ||
| 454 | //H10和10t固定打开滤波 | 497 | //H10和10t固定打开滤波 |
| 455 | int filter_mode = JZ_FLAGCODE_ON; | 498 | int filter_mode = JZ_FLAGCODE_ON; |
| @@ -465,10 +508,12 @@ int Main_APP_Uart() | @@ -465,10 +508,12 @@ int Main_APP_Uart() | ||
| 465 | if (DEVICE_VERSION == JZ_H10T) | 508 | if (DEVICE_VERSION == JZ_H10T) |
| 466 | { | 509 | { |
| 467 | //串口设备1初始化 | 510 | //串口设备1初始化 |
| 468 | - JZsdk_HalPort_Init_WithDefault(UART_DEV_1); | 511 | + value[0] = UART_DEV1_BITRATE; |
| 512 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
| 469 | 513 | ||
| 470 | //4g设备初始化 | 514 | //4g设备初始化 |
| 471 | - JZsdk_HalPort_Init_WithDefault(UART_4G); | 515 | + value[0] = COMM_4G_UART_BITRATE; |
| 516 | + JZsdk_HalPort_Init(UART_4G, value); | ||
| 472 | 517 | ||
| 473 | //H10和10t固定打开滤波 | 518 | //H10和10t固定打开滤波 |
| 474 | int filter_mode = JZ_FLAGCODE_ON; | 519 | int filter_mode = JZ_FLAGCODE_ON; |
| @@ -484,10 +529,12 @@ int Main_APP_Uart() | @@ -484,10 +529,12 @@ int Main_APP_Uart() | ||
| 484 | if (DEVICE_VERSION == JZ_U3) | 529 | if (DEVICE_VERSION == JZ_U3) |
| 485 | { | 530 | { |
| 486 | //串口设备1初始化 | 531 | //串口设备1初始化 |
| 487 | - JZsdk_HalPort_Init_WithDefault(UART_DEV_1); | 532 | + value[0] = UART_DEV1_BITRATE; |
| 533 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
| 488 | 534 | ||
| 489 | //串口设备2初始化 | 535 | //串口设备2初始化 |
| 490 | - JZsdk_HalPort_Init_WithDefault(UART_DEV_2); | 536 | + value[0] = UART_DEV2_BITRATE; |
| 537 | + JZsdk_HalPort_Init(UART_DEV_2, value); | ||
| 491 | 538 | ||
| 492 | //喊话器初始化 | 539 | //喊话器初始化 |
| 493 | Megaphone_Init(); | 540 | Megaphone_Init(); |
| @@ -501,7 +548,7 @@ int Main_APP_Uart() | @@ -501,7 +548,7 @@ int Main_APP_Uart() | ||
| 501 | delayMs(1000); | 548 | delayMs(1000); |
| 502 | 549 | ||
| 503 | //消息订阅初始化 | 550 | //消息订阅初始化 |
| 504 | - HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON); | 551 | + HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_OFF); |
| 505 | 552 | ||
| 506 | // //测试需要开启亮度 | 553 | // //测试需要开启亮度 |
| 507 | // JZsdk_Uart_SearchLight_Control(UART_DEV_1, 1); | 554 | // JZsdk_Uart_SearchLight_Control(UART_DEV_1, 1); |
| @@ -512,10 +559,12 @@ int Main_APP_Uart() | @@ -512,10 +559,12 @@ int Main_APP_Uart() | ||
| 512 | else if (DEVICE_VERSION == JZ_U3S) | 559 | else if (DEVICE_VERSION == JZ_U3S) |
| 513 | { | 560 | { |
| 514 | //串口设备1初始化 | 561 | //串口设备1初始化 |
| 515 | - JZsdk_HalPort_Init_WithDefault(UART_DEV_1); | 562 | + value[0] = UART_DEV1_BITRATE; |
| 563 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
| 516 | 564 | ||
| 517 | //串口设备2初始化 | 565 | //串口设备2初始化 |
| 518 | - JZsdk_HalPort_Init_WithDefault(UART_DEV_2); | 566 | + value[0] = UART_DEV2_BITRATE; |
| 567 | + JZsdk_HalPort_Init(UART_DEV_2, value); | ||
| 519 | 568 | ||
| 520 | //喊话器初始化 | 569 | //喊话器初始化 |
| 521 | Megaphone_Init(); | 570 | Megaphone_Init(); |
| @@ -538,10 +587,12 @@ int Main_APP_Uart() | @@ -538,10 +587,12 @@ int Main_APP_Uart() | ||
| 538 | else if (DEVICE_VERSION == JZ_U3D) | 587 | else if (DEVICE_VERSION == JZ_U3D) |
| 539 | { | 588 | { |
| 540 | //串口设备1初始化 | 589 | //串口设备1初始化 |
| 541 | - JZsdk_HalPort_Init_WithDefault(UART_DEV_1); | 590 | + value[0] = UART_DEV1_BITRATE; |
| 591 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
| 542 | 592 | ||
| 543 | //串口设备2初始化 | 593 | //串口设备2初始化 |
| 544 | - JZsdk_HalPort_Init_WithDefault(UART_DEV_2); | 594 | + value[0] = UART_DEV2_BITRATE; |
| 595 | + JZsdk_HalPort_Init(UART_DEV_2, value); | ||
| 545 | 596 | ||
| 546 | //喊话器初始化 | 597 | //喊话器初始化 |
| 547 | Megaphone_Init(); | 598 | Megaphone_Init(); |
| @@ -570,10 +621,12 @@ int Main_APP_Uart() | @@ -570,10 +621,12 @@ int Main_APP_Uart() | ||
| 570 | else if (DEVICE_VERSION == JZ_U30) | 621 | else if (DEVICE_VERSION == JZ_U30) |
| 571 | { | 622 | { |
| 572 | //串口设备1初始化 | 623 | //串口设备1初始化 |
| 573 | - JZsdk_HalPort_Init_WithDefault(UART_DEV_1); | 624 | + value[0] = UART_DEV1_BITRATE; |
| 625 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
| 574 | 626 | ||
| 575 | //串口设备2初始化 | 627 | //串口设备2初始化 |
| 576 | - JZsdk_HalPort_Init_WithDefault(UART_DEV_2); | 628 | + value[0] = UART_DEV2_BITRATE; |
| 629 | + JZsdk_HalPort_Init(UART_DEV_2, value); | ||
| 577 | 630 | ||
| 578 | //喊话器初始化 | 631 | //喊话器初始化 |
| 579 | Megaphone_Init(); | 632 | Megaphone_Init(); |
| @@ -593,10 +646,12 @@ int Main_APP_Uart() | @@ -593,10 +646,12 @@ int Main_APP_Uart() | ||
| 593 | if (DEVICE_VERSION == TF_A1) | 646 | if (DEVICE_VERSION == TF_A1) |
| 594 | { | 647 | { |
| 595 | //串口设备1初始化 | 648 | //串口设备1初始化 |
| 596 | - JZsdk_HalPort_Init_WithDefault(UART_DEV_1); | 649 | + value[0] = UART_DEV1_BITRATE; |
| 650 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
| 597 | 651 | ||
| 598 | //串口设备2初始化 | 652 | //串口设备2初始化 |
| 599 | - JZsdk_HalPort_Init_WithDefault(UART_DEV_2); | 653 | + value[0] = UART_DEV2_BITRATE; |
| 654 | + JZsdk_HalPort_Init(UART_DEV_2, value); | ||
| 600 | 655 | ||
| 601 | //喊话器初始化 | 656 | //喊话器初始化 |
| 602 | Megaphone_Init(); | 657 | Megaphone_Init(); |
| @@ -608,12 +663,24 @@ int Main_APP_Uart() | @@ -608,12 +663,24 @@ int Main_APP_Uart() | ||
| 608 | HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON); | 663 | HalSend_type1Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON); |
| 609 | } | 664 | } |
| 610 | 665 | ||
| 666 | + g_baseconfig_InitFlag = JZ_FLAGCODE_ON; | ||
| 667 | + | ||
| 668 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 611 | } | 669 | } |
| 612 | 670 | ||
| 613 | int Main_TestAPP() | 671 | int Main_TestAPP() |
| 614 | { | 672 | { |
| 673 | + int value[5] = {0, 0, 0, 0, 0}; | ||
| 674 | + | ||
| 675 | + JZsdk_LibInit(); | ||
| 676 | + | ||
| 677 | + JZsdk_Hal_Init(); | ||
| 678 | + | ||
| 679 | + CommonMod_Init(); | ||
| 680 | + | ||
| 615 | //串口设备1初始化 | 681 | //串口设备1初始化 |
| 616 | - JZsdk_HalPort_Init_WithDefault(UART_DEV_1); | 682 | + value[0] = UART_DEV1_BITRATE; |
| 683 | + JZsdk_HalPort_Init(UART_DEV_1, value); | ||
| 617 | } | 684 | } |
| 618 | 685 | ||
| 619 | //JZ_FLAGCODE_GET为返回工作值,其他值为设置 | 686 | //JZ_FLAGCODE_GET为返回工作值,其他值为设置 |
| @@ -673,6 +740,13 @@ T_JZsdkReturnCode Main_StartupPriority(int *choose) | @@ -673,6 +740,13 @@ T_JZsdkReturnCode Main_StartupPriority(int *choose) | ||
| 673 | //1、设置本地的版本号 | 740 | //1、设置本地的版本号 |
| 674 | if (*choose == 0x00) | 741 | if (*choose == 0x00) |
| 675 | { | 742 | { |
| 743 | + //检查是否已存在串口连接标志 | ||
| 744 | + if(JZsdk_check_file_exists("/root/Uart_connected") == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 745 | + { | ||
| 746 | + JZSDK_LOG_INFO("已设置为优先启动Uart模式"); | ||
| 747 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 748 | + } | ||
| 749 | + | ||
| 676 | //增加uart连接标志 | 750 | //增加uart连接标志 |
| 677 | if(JZsdk_create_file("/root/Uart_connected") != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | 751 | if(JZsdk_create_file("/root/Uart_connected") != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) |
| 678 | { | 752 | { |
| @@ -684,7 +758,7 @@ T_JZsdkReturnCode Main_StartupPriority(int *choose) | @@ -684,7 +758,7 @@ T_JZsdkReturnCode Main_StartupPriority(int *choose) | ||
| 684 | else if (*choose == 0x01) | 758 | else if (*choose == 0x01) |
| 685 | { | 759 | { |
| 686 | //连接后清除串口标志 | 760 | //连接后清除串口标志 |
| 687 | - if(JZsdk_delete_file("/root/Uart_connected") != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | 761 | + if(JZsdk_Osal_delete("/root/Uart_connected") != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) |
| 688 | { | 762 | { |
| 689 | JZSDK_LOG_ERROR("优先启动psdk模式失败"); | 763 | JZSDK_LOG_ERROR("优先启动psdk模式失败"); |
| 690 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 764 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| @@ -777,5 +851,32 @@ static void *Main_WorkModeTask(void *arg) | @@ -777,5 +851,32 @@ static void *Main_WorkModeTask(void *arg) | ||
| 777 | delayMs(100); | 851 | delayMs(100); |
| 778 | } | 852 | } |
| 779 | #endif | 853 | #endif |
| 854 | + | ||
| 855 | + g_Main_WorkMode_InitFlag = JZ_FLAGCODE_ON; | ||
| 780 | } | 856 | } |
| 781 | 857 | ||
| 858 | + | ||
| 859 | +/********************************** | ||
| 860 | + * | ||
| 861 | + * 获取设备初始化标志 | ||
| 862 | + * on之后,设备已经初始化完成 并处于空闲状态 | ||
| 863 | + * | ||
| 864 | + * *****************************/ | ||
| 865 | +int BaseConfig_GetDeviceInitFlag() | ||
| 866 | +{ | ||
| 867 | + //1、先判断baseconfig是否初始化完成 | ||
| 868 | + if (g_baseconfig_InitFlag == JZ_FLAGCODE_OFF) | ||
| 869 | + { | ||
| 870 | + return JZ_FLAGCODE_OFF; | ||
| 871 | + } | ||
| 872 | + | ||
| 873 | + //如果是主菜单模式也完成 | ||
| 874 | + if (g_Main_WorkMode_InitFlag == JZ_FLAGCODE_OFF) | ||
| 875 | + { | ||
| 876 | + return JZ_FLAGCODE_OFF; | ||
| 877 | + } | ||
| 878 | + | ||
| 879 | + g_device_InitFlag = JZ_FLAGCODE_ON; | ||
| 880 | + | ||
| 881 | + return g_device_InitFlag; | ||
| 882 | +} |
| @@ -242,6 +242,7 @@ int Main_Device_Wheather_Use(); | @@ -242,6 +242,7 @@ int Main_Device_Wheather_Use(); | ||
| 242 | T_JZsdkReturnCode Main_M30_all_filter_mode(int *mode); | 242 | T_JZsdkReturnCode Main_M30_all_filter_mode(int *mode); |
| 243 | T_JZsdkReturnCode Main_StartupPriority(int *choose); | 243 | T_JZsdkReturnCode Main_StartupPriority(int *choose); |
| 244 | T_JZsdkReturnCode Main_SetDeviceName(unsigned int Port, int g_DeviceID); | 244 | T_JZsdkReturnCode Main_SetDeviceName(unsigned int Port, int g_DeviceID); |
| 245 | +int BaseConfig_GetDeviceInitFlag(); | ||
| 245 | 246 | ||
| 246 | #ifdef __cplusplus | 247 | #ifdef __cplusplus |
| 247 | } | 248 | } |
| @@ -77,7 +77,7 @@ T_JZsdkReturnCode JZsdk_ParamterParsing(int argc, char *argv[], unsigned int *mo | @@ -77,7 +77,7 @@ T_JZsdkReturnCode JZsdk_ParamterParsing(int argc, char *argv[], unsigned int *mo | ||
| 77 | int insCode = 0; //指令码 | 77 | int insCode = 0; //指令码 |
| 78 | 78 | ||
| 79 | //获取短选项 | 79 | //获取短选项 |
| 80 | - static char *opt_storage = "t:f:"; | 80 | + static char *opt_storage = "t:f:d:b"; |
| 81 | 81 | ||
| 82 | //解析参数 | 82 | //解析参数 |
| 83 | while (1) | 83 | while (1) |
| @@ -7,7 +7,7 @@ | @@ -7,7 +7,7 @@ | ||
| 7 | #define VERSION_CHOOSE_H | 7 | #define VERSION_CHOOSE_H |
| 8 | #include "JZsdk_Base/JZsdk_Code/JZsdk_DeviceCode.h" | 8 | #include "JZsdk_Base/JZsdk_Code/JZsdk_DeviceCode.h" |
| 9 | //1~10行 除了D可以修改版本选择 禁止动任何东西 | 9 | //1~10行 除了D可以修改版本选择 禁止动任何东西 |
| 10 | -#define DEVICE_VERSION JZ_H10 | 10 | +#define DEVICE_VERSION JZ_H1T |
| 11 | 11 | ||
| 12 | //禁止修改行 选择是串口程序 还是 psdk程序 | 12 | //禁止修改行 选择是串口程序 还是 psdk程序 |
| 13 | #define APP_VERSION APP_UART | 13 | #define APP_VERSION APP_UART |
| @@ -19,7 +19,7 @@ | @@ -19,7 +19,7 @@ | ||
| 19 | #define MAJOR_VERSION 0x00 | 19 | #define MAJOR_VERSION 0x00 |
| 20 | #define MINOR_VERSION 0x00 | 20 | #define MINOR_VERSION 0x00 |
| 21 | #define MODIFY_VERSION 0x02 | 21 | #define MODIFY_VERSION 0x02 |
| 22 | -#define DEBUG_VERSION 0x12 | 22 | +#define DEBUG_VERSION 0x13 |
| 23 | 23 | ||
| 24 | //禁止修改行 滤波方式 | 24 | //禁止修改行 滤波方式 |
| 25 | #define FILTERING_TYPE HIGH_PASS_FILTERING | 25 | #define FILTERING_TYPE HIGH_PASS_FILTERING |
| @@ -37,7 +37,7 @@ | @@ -37,7 +37,7 @@ | ||
| 37 | * 帧尾两位 0x00 0x23 | 祖册了实际的帧尾 | 37 | * 帧尾两位 0x00 0x23 | 祖册了实际的帧尾 |
| 38 | * | 38 | * |
| 39 | * ********************/ | 39 | * ********************/ |
| 40 | -int HalRecv_type1_PreliminaryScreeningOfData(unsigned char *Data, unsigned int DataLen, int Port) | 40 | +int HalRecv_type1_PreliminaryScreeningOfData(unsigned char *Data, int DataLen, int Port) |
| 41 | { | 41 | { |
| 42 | int ResidualLength = 0; // 剩余数据长度 | 42 | int ResidualLength = 0; // 剩余数据长度 |
| 43 | 43 | ||
| @@ -135,6 +135,7 @@ int HalRecv_type1_PreliminaryScreeningOfData(unsigned char *Data, unsigned int D | @@ -135,6 +135,7 @@ int HalRecv_type1_PreliminaryScreeningOfData(unsigned char *Data, unsigned int D | ||
| 135 | { | 135 | { |
| 136 | FrameFlag = 0x00; | 136 | FrameFlag = 0x00; |
| 137 | } | 137 | } |
| 138 | + break; | ||
| 138 | } | 139 | } |
| 139 | 140 | ||
| 140 | default: | 141 | default: |
| @@ -23,7 +23,7 @@ extern "C" { | @@ -23,7 +23,7 @@ extern "C" { | ||
| 23 | 23 | ||
| 24 | /* Exported functions --------------------------------------------------------*/ | 24 | /* Exported functions --------------------------------------------------------*/ |
| 25 | 25 | ||
| 26 | -int HalRecv_type1_PreliminaryScreeningOfData(unsigned char *Data, unsigned int DataLen, int Port); | 26 | +int HalRecv_type1_PreliminaryScreeningOfData(unsigned char *Data, int DataLen, int Port); |
| 27 | 27 | ||
| 28 | 28 | ||
| 29 | #ifdef __cplusplus | 29 | #ifdef __cplusplus |
| @@ -14,6 +14,8 @@ | @@ -14,6 +14,8 @@ | ||
| 14 | #include "Megaphone/Megaphone.h" | 14 | #include "Megaphone/Megaphone.h" |
| 15 | #include "DeviceInfo/DeviceInfo.h" | 15 | #include "DeviceInfo/DeviceInfo.h" |
| 16 | 16 | ||
| 17 | +#include "CommonMod/CommonMod.h" | ||
| 18 | + | ||
| 17 | #include "Hal_Send/HalSend_type1/HalSend_type1.h" | 19 | #include "Hal_Send/HalSend_type1/HalSend_type1.h" |
| 18 | #include "Hal_Send/HalSend.h" | 20 | #include "Hal_Send/HalSend.h" |
| 19 | #include "JZsdk_Hal.h" | 21 | #include "JZsdk_Hal.h" |
| @@ -21,9 +23,12 @@ | @@ -21,9 +23,12 @@ | ||
| 21 | #ifdef MEGAPHONE_CONFIG_STATUS_ON | 23 | #ifdef MEGAPHONE_CONFIG_STATUS_ON |
| 22 | #include "Megaphone/Megaphone.h" | 24 | #include "Megaphone/Megaphone.h" |
| 23 | #include "Megaphone/Music/AudioFile/Megaphone_AudioFile.h" | 25 | #include "Megaphone/Music/AudioFile/Megaphone_AudioFile.h" |
| 26 | + #include "Megaphone/Opus/Megaphone_Opus.h" | ||
| 27 | + #include "Megaphone/PcmAudio/PcmAudioFile.h" | ||
| 28 | + | ||
| 24 | #endif | 29 | #endif |
| 25 | 30 | ||
| 26 | -static int HalRecvMode = JZ_FLAGCODE_OFF; | 31 | +static int HalRecvMode = JZ_FLAGCODE_OFF; //接收模式,主要是为了限制不同设备同时要求hal层做出 同一个数据接收相关功能 ,目前做法是只限定一个hal设备使用一种数据接收模式 |
| 27 | static int HalRecvDataLen = 0; //用于计算接收数据长度 | 32 | static int HalRecvDataLen = 0; //用于计算接收数据长度 |
| 28 | 33 | ||
| 29 | static int SecondaryDeviceName = 0x00; // 从设备名,用于多设备相连时通知控制端 从机设备名 | 34 | static int SecondaryDeviceName = 0x00; // 从设备名,用于多设备相连时通知控制端 从机设备名 |
| @@ -33,7 +38,7 @@ static int TTS_RecvBufferLen = 0; | @@ -33,7 +38,7 @@ static int TTS_RecvBufferLen = 0; | ||
| 33 | 38 | ||
| 34 | static T_JZsdkReturnCode HalRecv_tpye1_RecvDeal_Set_UartReceiveMode(int Port, int value); | 39 | static T_JZsdkReturnCode HalRecv_tpye1_RecvDeal_Set_UartReceiveMode(int Port, int value); |
| 35 | static T_JZsdkReturnCode HalRecv_tpye1_RecvDeal_UartTransmodeDecide(); | 40 | static T_JZsdkReturnCode HalRecv_tpye1_RecvDeal_UartTransmodeDecide(); |
| 36 | - | 41 | +static T_JZsdkMutexHandle GetMusicList_MutexHandle = NULL; |
| 37 | 42 | ||
| 38 | /******************************************************************************************************** | 43 | /******************************************************************************************************** |
| 39 | ********* ********| | 44 | ********* ********| |
| @@ -74,6 +79,10 @@ static T_JZsdkReturnCode RecvDeal_AskForConnect(int Port, char *getbuf) | @@ -74,6 +79,10 @@ static T_JZsdkReturnCode RecvDeal_AskForConnect(int Port, char *getbuf) | ||
| 74 | Main_WorkModeSet(JZ_FLAGCODE_ON); | 79 | Main_WorkModeSet(JZ_FLAGCODE_ON); |
| 75 | } | 80 | } |
| 76 | 81 | ||
| 82 | + //5、打开连接状态 | ||
| 83 | + s_JZsdk_Hal_Info *HalInfo = JZsdk_Hal_GetHalInfo(); | ||
| 84 | + HalInfo->HalPort[Port].ConnectStatus = JZ_FLAGCODE_ON; | ||
| 85 | + | ||
| 77 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 86 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 78 | } | 87 | } |
| 79 | 88 | ||
| @@ -90,10 +99,28 @@ static T_JZsdkReturnCode RecvDeal_HeartBeat(int Port, char *getbuf) | @@ -90,10 +99,28 @@ static T_JZsdkReturnCode RecvDeal_HeartBeat(int Port, char *getbuf) | ||
| 90 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | 99 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); |
| 91 | 100 | ||
| 92 | //1、获取连接情况 | 101 | //1、获取连接情况 |
| 93 | - int status = Main_WorkModeSet(JZ_FLAGCODE_GET); | 102 | + s_JZsdk_Hal_Info *halInfo = JZsdk_Hal_GetHalInfo(); |
| 94 | 103 | ||
| 104 | + //分析模式 | ||
| 105 | + int mode = getbuf[9]; | ||
| 106 | + if (mode == 0x00) | ||
| 107 | + { | ||
| 95 | //2、回复心跳帧 | 108 | //2、回复心跳帧 |
| 96 | - HalSend_type1Send_Send_HeartBeatStatus(Port, FrameSequence, status); | 109 | + HalSend_type1Send_Send_HeartBeatStatus(Port, FrameSequence, halInfo->HalPort[Port].ConnectStatus); |
| 110 | + } | ||
| 111 | + else if (mode == 0x01 || mode == 0x02) | ||
| 112 | + { | ||
| 113 | + if(mode == 0x01) | ||
| 114 | + { | ||
| 115 | + halInfo->HalPort[Port].HeartBeatStatusSend = JZ_FLAGCODE_ON; | ||
| 116 | + } | ||
| 117 | + else if (mode == 0x02) | ||
| 118 | + { | ||
| 119 | + halInfo->HalPort[Port].HeartBeatStatusSend = JZ_FLAGCODE_OFF; | ||
| 120 | + } | ||
| 121 | + | ||
| 122 | + HalSend_type1Send_Reply_Success(Port, FrameSequence); | ||
| 123 | + } | ||
| 97 | 124 | ||
| 98 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 125 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 99 | } | 126 | } |
| @@ -105,43 +132,50 @@ static T_JZsdkReturnCode RecvDeal_HeartBeat(int Port, char *getbuf) | @@ -105,43 +132,50 @@ static T_JZsdkReturnCode RecvDeal_HeartBeat(int Port, char *getbuf) | ||
| 105 | **********/ | 132 | **********/ |
| 106 | static T_JZsdkReturnCode RecvDeal_GetAllVersion(int Port, unsigned char *getbuf) | 133 | static T_JZsdkReturnCode RecvDeal_GetAllVersion(int Port, unsigned char *getbuf) |
| 107 | { | 134 | { |
| 108 | - JZSDK_LOG_INFO("获取所有版本号,获取指令为%x", getbuf[9]); | 135 | + JZSDK_LOG_INFO("获取所有版本号 %s", JZsdk_DefineCode_GetPortName(Port)); |
| 109 | 136 | ||
| 110 | //获取帧的序列号 | 137 | //获取帧的序列号 |
| 111 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | 138 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); |
| 112 | 139 | ||
| 113 | - //获取所有设备名 | ||
| 114 | - unsigned int DeviceNum = 0; | ||
| 115 | - unsigned int DeviceID[10][2]; | ||
| 116 | - DeviceInfo_GetAllDeviceName(&DeviceNum, DeviceID); | ||
| 117 | 140 | ||
| 118 | - //获取所有设备号 | 141 | + //获取设备数量 |
| 142 | + int DeviceNum = 0; | ||
| 143 | + DeviceNum = DeviceInfo_GetDeviceInfoNum(); | ||
| 144 | + | ||
| 145 | + //获取设备信息 | ||
| 146 | + T_DeviceInfo DeviceInfo; | ||
| 147 | + | ||
| 119 | if (getbuf[9] == 0x01) | 148 | if (getbuf[9] == 0x01) |
| 120 | { | 149 | { |
| 121 | - for (int i = 0; i < DeviceNum ; i++) | 150 | + for (int i = 0; i < DeviceNum; i++) |
| 122 | { | 151 | { |
| 123 | - unsigned int MajorVersion; | ||
| 124 | - unsigned int MinjorVersion; | ||
| 125 | - unsigned int ModifyVersion; | ||
| 126 | - unsigned int DebugVersion; | ||
| 127 | - DeviceInfo_GetAllVerision(DeviceID[i][1], &MajorVersion, &MinjorVersion, &ModifyVersion, &DebugVersion); | ||
| 128 | - HalSend_type1Send_SendAllVersion(Port, FrameSequence, DeviceID[i][1] ,MajorVersion, MinjorVersion, ModifyVersion, DebugVersion); | 152 | + DeviceInfo_GetDeviceInfo(i, &DeviceInfo); |
| 153 | + HalSend_type1Send_SendAllVersion(Port, FrameSequence, | ||
| 154 | + DeviceInfo.DeviceID, | ||
| 155 | + DeviceInfo.MajorVersion, | ||
| 156 | + DeviceInfo.MinjorVersion, | ||
| 157 | + DeviceInfo.ModifyVersion, | ||
| 158 | + DeviceInfo.DebugVersion); | ||
| 129 | } | 159 | } |
| 130 | } | 160 | } |
| 161 | + | ||
| 131 | //获取所有设备号 | 162 | //获取所有设备号 |
| 132 | else if (getbuf[9] == 0x00) | 163 | else if (getbuf[9] == 0x00) |
| 133 | { | 164 | { |
| 134 | - unsigned int MajorVersion; | ||
| 135 | - unsigned int MinjorVersion; | ||
| 136 | - unsigned int ModifyVersion; | ||
| 137 | - unsigned int DebugVersion; | ||
| 138 | - DeviceInfo_GetAllVerision(DEVICE_PSDK, &MajorVersion, &MinjorVersion, &ModifyVersion, &DebugVersion); | ||
| 139 | - HalSend_type1Send_SendAllVersion(Port, FrameSequence, DEVICE_PSDK ,MajorVersion, MinjorVersion, ModifyVersion, DebugVersion); | 165 | + DeviceInfo_GetDeviceInfo(0, &DeviceInfo); |
| 166 | + HalSend_type1Send_SendAllVersion(Port, FrameSequence, | ||
| 167 | + DeviceInfo.DeviceID, | ||
| 168 | + DeviceInfo.MajorVersion, | ||
| 169 | + DeviceInfo.MinjorVersion, | ||
| 170 | + DeviceInfo.ModifyVersion, | ||
| 171 | + DeviceInfo.DebugVersion); | ||
| 140 | } | 172 | } |
| 141 | 173 | ||
| 174 | + | ||
| 142 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 175 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 143 | } | 176 | } |
| 144 | 177 | ||
| 178 | + | ||
| 145 | /********* | 179 | /********* |
| 146 | * | 180 | * |
| 147 | * 获取所有序列号 | 181 | * 获取所有序列号 |
| @@ -154,35 +188,38 @@ static T_JZsdkReturnCode RecvDeal_GetAllSerialNumber(int Port, unsigned char *ge | @@ -154,35 +188,38 @@ static T_JZsdkReturnCode RecvDeal_GetAllSerialNumber(int Port, unsigned char *ge | ||
| 154 | //获取帧的序列号 | 188 | //获取帧的序列号 |
| 155 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | 189 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); |
| 156 | 190 | ||
| 157 | - //获取所有设备名 | ||
| 158 | - unsigned int DeviceNum = 0; | ||
| 159 | - unsigned int DeviceID[10][2]; | ||
| 160 | - DeviceInfo_GetAllDeviceName(&DeviceNum, DeviceID); | 191 | + //获取设备数量 |
| 192 | + int DeviceNum = 0; | ||
| 193 | + DeviceNum = DeviceInfo_GetDeviceInfoNum(); | ||
| 194 | + | ||
| 195 | + //获取设备信息 | ||
| 196 | + T_DeviceInfo DeviceInfo; | ||
| 161 | 197 | ||
| 162 | //获取所有设备号 | 198 | //获取所有设备号 |
| 163 | if (getbuf[9] == 0x01) | 199 | if (getbuf[9] == 0x01) |
| 164 | { | 200 | { |
| 165 | - for (int i = 0; i < DeviceNum ; i++) | 201 | + for (int i = 0; i < DeviceNum; i++) |
| 166 | { | 202 | { |
| 167 | - unsigned char SerialNumber[40]; | ||
| 168 | - int SerialNumberLen = 0; | ||
| 169 | - DeviceInfo_GetAllSerialNumber(DeviceID[i][1], SerialNumber, &SerialNumberLen); | ||
| 170 | - HalSend_type1Send_SendAllSerialNumber(Port, FrameSequence, DeviceID[i][1], SerialNumber, SerialNumberLen); | 203 | + DeviceInfo_GetDeviceInfo(i, &DeviceInfo); |
| 204 | + HalSend_type1Send_SendAllSerialNumber(Port, FrameSequence, | ||
| 205 | + DeviceInfo.DeviceID, | ||
| 206 | + DeviceInfo.SerialNumber, | ||
| 207 | + strlen(DeviceInfo.SerialNumber)); | ||
| 171 | } | 208 | } |
| 172 | } | 209 | } |
| 173 | //获取所有设备号 | 210 | //获取所有设备号 |
| 174 | else if (getbuf[9] == 0x00) | 211 | else if (getbuf[9] == 0x00) |
| 175 | { | 212 | { |
| 176 | - unsigned char SerialNumber[40]; | ||
| 177 | - int SerialNumberLen = 0; | ||
| 178 | - DeviceInfo_GetAllSerialNumber(DEVICE_PSDK, SerialNumber, &SerialNumberLen); | ||
| 179 | - HalSend_type1Send_SendAllSerialNumber(Port, FrameSequence, DEVICE_PSDK, SerialNumber, SerialNumberLen); | 213 | + DeviceInfo_GetDeviceInfo(0, &DeviceInfo); |
| 214 | + HalSend_type1Send_SendAllSerialNumber(Port, FrameSequence, | ||
| 215 | + DeviceInfo.DeviceID, | ||
| 216 | + DeviceInfo.SerialNumber, | ||
| 217 | + strlen(DeviceInfo.SerialNumber)); | ||
| 180 | } | 218 | } |
| 181 | 219 | ||
| 182 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 220 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 183 | } | 221 | } |
| 184 | 222 | ||
| 185 | - | ||
| 186 | /********* | 223 | /********* |
| 187 | * | 224 | * |
| 188 | * log信息打印 | 225 | * log信息打印 |
| @@ -213,6 +250,52 @@ static T_JZsdkReturnCode RecvDeal_LogMessagePrintf(int Port, unsigned char *getb | @@ -213,6 +250,52 @@ static T_JZsdkReturnCode RecvDeal_LogMessagePrintf(int Port, unsigned char *getb | ||
| 213 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 250 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 214 | } | 251 | } |
| 215 | 252 | ||
| 253 | +/********* | ||
| 254 | + * | ||
| 255 | + * 预设任务 | ||
| 256 | + * | ||
| 257 | +**********/ | ||
| 258 | +static T_JZsdkReturnCode RecvDeal_PresetTask(int Port, unsigned char *getbuf) | ||
| 259 | +{ | ||
| 260 | + | ||
| 261 | + JZSDK_LOG_INFO("%s,预设任务 :%d",JZsdk_DefineCode_GetPortName(Port), getbuf[9]); | ||
| 262 | + | ||
| 263 | + //获取帧序列号 | ||
| 264 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
| 265 | + | ||
| 266 | + //获取任务内容 | ||
| 267 | + int Mode = getbuf[9]; | ||
| 268 | + | ||
| 269 | + if (Mode == 0) | ||
| 270 | + { | ||
| 271 | + JZSDK_LOG_INFO("关闭预设任务"); | ||
| 272 | + | ||
| 273 | + PrsetTask_SetPrsetTaskFlag(JZ_FLAGCODE_OFF); | ||
| 274 | + PrsetTask_SetPrsetTaskSaveContentFlag(JZ_FLAGCODE_OFF); | ||
| 275 | + } | ||
| 276 | + else if (Mode == 1) | ||
| 277 | + { | ||
| 278 | + JZSDK_LOG_INFO("开启预设任务"); | ||
| 279 | + | ||
| 280 | + PrsetTask_SetPrsetTaskFlag(JZ_FLAGCODE_ON); | ||
| 281 | + PrsetTask_SetPrsetTaskSaveContentFlag(JZ_FLAGCODE_ON); | ||
| 282 | + } | ||
| 283 | + else if (Mode == 0x10) | ||
| 284 | + { | ||
| 285 | + JZSDK_LOG_INFO("获取预设任务状态"); | ||
| 286 | + } | ||
| 287 | + else | ||
| 288 | + { | ||
| 289 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 290 | + } | ||
| 291 | + | ||
| 292 | + int Flag = PrsetTask_GetPrsetTaskFlag(); | ||
| 293 | + | ||
| 294 | + //回复预设任务 | ||
| 295 | + HalSend_type1Send_PresetTaskStatus(Port, FrameSequence, Flag); | ||
| 296 | + | ||
| 297 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 298 | +} | ||
| 216 | 299 | ||
| 217 | /********* | 300 | /********* |
| 218 | * | 301 | * |
| @@ -449,20 +532,13 @@ static T_JZsdkReturnCode RecvDeal_RealTimeMP2_stop(int Port, char *getbuf) | @@ -449,20 +532,13 @@ static T_JZsdkReturnCode RecvDeal_RealTimeMP2_stop(int Port, char *getbuf) | ||
| 449 | **********/ | 532 | **********/ |
| 450 | static T_JZsdkReturnCode RecvDeal_SaveAudioFileTrans_start(int Port, char *getbuf, int len) | 533 | static T_JZsdkReturnCode RecvDeal_SaveAudioFileTrans_start(int Port, char *getbuf, int len) |
| 451 | { | 534 | { |
| 535 | + T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 536 | + | ||
| 452 | JZSDK_LOG_INFO("%s,开始传输的音频文件保存",JZsdk_DefineCode_GetPortName(Port)); | 537 | JZSDK_LOG_INFO("%s,开始传输的音频文件保存",JZsdk_DefineCode_GetPortName(Port)); |
| 453 | 538 | ||
| 454 | //获取帧的序列号 | 539 | //获取帧的序列号 |
| 455 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | 540 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); |
| 456 | 541 | ||
| 457 | - T_JZsdkReturnCode ret = HalRecv_tpye1_RecvDeal_UartTransmodeDecide(); | ||
| 458 | - if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 459 | - { | ||
| 460 | - //回复操作失败 | ||
| 461 | - HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 462 | - JZSDK_LOG_ERROR("开始传输的音频文件保存失败"); | ||
| 463 | - return ret; | ||
| 464 | - } | ||
| 465 | - | ||
| 466 | //1、处理帧长度,获取文件名长度 | 542 | //1、处理帧长度,获取文件名长度 |
| 467 | int FileNameLen = ((int)getbuf[3] << 8) + (int)getbuf[4] - 2 - 9; | 543 | int FileNameLen = ((int)getbuf[3] << 8) + (int)getbuf[4] - 2 - 9; |
| 468 | 544 | ||
| @@ -475,21 +551,16 @@ static T_JZsdkReturnCode RecvDeal_SaveAudioFileTrans_start(int Port, char *getbu | @@ -475,21 +551,16 @@ static T_JZsdkReturnCode RecvDeal_SaveAudioFileTrans_start(int Port, char *getbu | ||
| 475 | #ifdef MEGAPHONE_CONFIG_STATUS_ON | 551 | #ifdef MEGAPHONE_CONFIG_STATUS_ON |
| 476 | 552 | ||
| 477 | ret = Megaphone_SaveAudioFileStart(FileName); | 553 | ret = Megaphone_SaveAudioFileStart(FileName); |
| 478 | - if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 479 | - { | ||
| 480 | - HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 481 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 482 | - } | ||
| 483 | - | ||
| 484 | - //3、调整接收模式为音频文件传输 | ||
| 485 | - HalRecv_tpye1_RecvDeal_Set_UartReceiveMode(Port, JZ_DATA_TRANS_TYPE_AUDIO_FILE); | ||
| 486 | - HalRecvDataLen = 0; | ||
| 487 | 554 | ||
| 488 | - //4、回复操作成功 | 555 | +#endif |
| 556 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 557 | + { | ||
| 489 | HalSend_type1Send_Reply_Success(Port, FrameSequence); | 558 | HalSend_type1Send_Reply_Success(Port, FrameSequence); |
| 490 | -#else | 559 | + } |
| 560 | + else | ||
| 561 | + { | ||
| 491 | HalSend_type1Send_Reply_Failure(Port, FrameSequence); | 562 | HalSend_type1Send_Reply_Failure(Port, FrameSequence); |
| 492 | -#endif | 563 | + } |
| 493 | 564 | ||
| 494 | return ret; | 565 | return ret; |
| 495 | } | 566 | } |
| @@ -502,7 +573,7 @@ static T_JZsdkReturnCode RecvDeal_SaveAudioFileTrans_start(int Port, char *getbu | @@ -502,7 +573,7 @@ static T_JZsdkReturnCode RecvDeal_SaveAudioFileTrans_start(int Port, char *getbu | ||
| 502 | **********/ | 573 | **********/ |
| 503 | static T_JZsdkReturnCode RecvDeal_SaveAudioFileTrans_LimitTransmission(int Port, char *getbuf, int len) | 574 | static T_JZsdkReturnCode RecvDeal_SaveAudioFileTrans_LimitTransmission(int Port, char *getbuf, int len) |
| 504 | { | 575 | { |
| 505 | - T_JZsdkReturnCode ret; | 576 | + T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| 506 | 577 | ||
| 507 | //获取帧的序列号 | 578 | //获取帧的序列号 |
| 508 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | 579 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); |
| @@ -515,21 +586,21 @@ static T_JZsdkReturnCode RecvDeal_SaveAudioFileTrans_LimitTransmission(int Port, | @@ -515,21 +586,21 @@ static T_JZsdkReturnCode RecvDeal_SaveAudioFileTrans_LimitTransmission(int Port, | ||
| 515 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 586 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| 516 | } | 587 | } |
| 517 | 588 | ||
| 518 | - if (HalRecvMode != JZ_DATA_TRANS_TYPE_AUDIO_FILE) | ||
| 519 | - { | ||
| 520 | - JZSDK_LOG_ERROR("%s, 传输mp2文件未开始,无法传输", JZsdk_DefineCode_GetPortName(Port)); | ||
| 521 | - HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 522 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 523 | - } | ||
| 524 | - | ||
| 525 | - HalRecvDataLen += DataLen; | ||
| 526 | - //JZSDK_LOG_DEBUG("%s,传输定长音频文件中 ,一共传输了%d字节",JZsdk_DefineCode_GetPortName(Port), HalRecvDataLen); | ||
| 527 | - | ||
| 528 | //传输数据接口 | 589 | //传输数据接口 |
| 529 | #ifdef MEGAPHONE_CONFIG_STATUS_ON | 590 | #ifdef MEGAPHONE_CONFIG_STATUS_ON |
| 530 | - Megaphone_SaveAudioFileTrans(getbuf+9, DataLen); | 591 | + ret = Megaphone_SaveAudioFileTrans(getbuf+9, DataLen); |
| 531 | #endif | 592 | #endif |
| 532 | 593 | ||
| 594 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 595 | + { | ||
| 596 | + //无操作 | ||
| 597 | + } | ||
| 598 | + else | ||
| 599 | + { | ||
| 600 | + //回复操作失败 | ||
| 601 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 602 | + } | ||
| 603 | + | ||
| 533 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 604 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 534 | } | 605 | } |
| 535 | 606 | ||
| @@ -541,31 +612,28 @@ static T_JZsdkReturnCode RecvDeal_SaveAudioFileTrans_LimitTransmission(int Port, | @@ -541,31 +612,28 @@ static T_JZsdkReturnCode RecvDeal_SaveAudioFileTrans_LimitTransmission(int Port, | ||
| 541 | **********/ | 612 | **********/ |
| 542 | static T_JZsdkReturnCode RecvDeal_SaveAudioFileTrans_stop(int Port, char *getbuf) | 613 | static T_JZsdkReturnCode RecvDeal_SaveAudioFileTrans_stop(int Port, char *getbuf) |
| 543 | { | 614 | { |
| 615 | + T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 616 | + | ||
| 544 | JZSDK_LOG_INFO("%s,传输的音频文件保存",JZsdk_DefineCode_GetPortName(Port)); | 617 | JZSDK_LOG_INFO("%s,传输的音频文件保存",JZsdk_DefineCode_GetPortName(Port)); |
| 545 | 618 | ||
| 546 | //获取帧的序列号 | 619 | //获取帧的序列号 |
| 547 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | 620 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); |
| 548 | 621 | ||
| 549 | - if (HalRecvMode != JZ_DATA_TRANS_TYPE_AUDIO_FILE) | ||
| 550 | - { | ||
| 551 | - //回复操作失败 | ||
| 552 | - HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 553 | - JZSDK_LOG_ERROR("关闭音频文件上传失败,音频文件上传未开始,无法关闭"); | ||
| 554 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 555 | - } | ||
| 556 | - | ||
| 557 | //1、保存音频数据 | 622 | //1、保存音频数据 |
| 558 | #ifdef MEGAPHONE_CONFIG_STATUS_ON | 623 | #ifdef MEGAPHONE_CONFIG_STATUS_ON |
| 559 | - Megaphone_SaveAudioFileStop(JZ_FLAGCODE_OFF, NULL); | 624 | + ret = Megaphone_SaveAudioFileStop(JZ_FLAGCODE_OFF, NULL); |
| 560 | #endif | 625 | #endif |
| 561 | 626 | ||
| 562 | - //3、调整接收模式为音频文件传输 | ||
| 563 | - HalRecv_tpye1_RecvDeal_Set_UartReceiveMode(Port, JZ_FLAGCODE_OFF); | ||
| 564 | - JZSDK_LOG_INFO("一共传输了%d字节", HalRecvDataLen); | ||
| 565 | - HalRecvDataLen = 0; | ||
| 566 | - | ||
| 567 | - //2、回复操作成功 | 627 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) |
| 628 | + { | ||
| 629 | + //4、回复操作成功 | ||
| 568 | HalSend_type1Send_Reply_Success(Port, FrameSequence); | 630 | HalSend_type1Send_Reply_Success(Port, FrameSequence); |
| 631 | + } | ||
| 632 | + else | ||
| 633 | + { | ||
| 634 | + //4、回复操作失败 | ||
| 635 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 636 | + } | ||
| 569 | 637 | ||
| 570 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 638 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 571 | } | 639 | } |
| @@ -585,14 +653,6 @@ static T_JZsdkReturnCode RecvDeal_SaveAudioFileTrans_stop_and_check(int Port, ch | @@ -585,14 +653,6 @@ static T_JZsdkReturnCode RecvDeal_SaveAudioFileTrans_stop_and_check(int Port, ch | ||
| 585 | //获取帧的序列号 | 653 | //获取帧的序列号 |
| 586 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | 654 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); |
| 587 | 655 | ||
| 588 | - if (HalRecvMode != JZ_DATA_TRANS_TYPE_AUDIO_FILE) | ||
| 589 | - { | ||
| 590 | - //回复操作失败 | ||
| 591 | - HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 592 | - JZSDK_LOG_ERROR("关闭音频文件上传失败,音频文件上传未开始,无法关闭"); | ||
| 593 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 594 | - } | ||
| 595 | - | ||
| 596 | unsigned char checkCode[128]; | 656 | unsigned char checkCode[128]; |
| 597 | int frameLenth = ((int)getbuf[3]) << 8 | (int)getbuf[4]; | 657 | int frameLenth = ((int)getbuf[3]) << 8 | (int)getbuf[4]; |
| 598 | int CodeLenth = frameLenth - 10 - 2; | 658 | int CodeLenth = frameLenth - 10 - 2; |
| @@ -649,11 +709,6 @@ static T_JZsdkReturnCode RecvDeal_SaveAudioFileTrans_stop_and_check(int Port, ch | @@ -649,11 +709,6 @@ static T_JZsdkReturnCode RecvDeal_SaveAudioFileTrans_stop_and_check(int Port, ch | ||
| 649 | } | 709 | } |
| 650 | #endif | 710 | #endif |
| 651 | 711 | ||
| 652 | - //调整接收模式为音频文件传输 | ||
| 653 | - HalRecv_tpye1_RecvDeal_Set_UartReceiveMode(Port, JZ_FLAGCODE_OFF); | ||
| 654 | - JZSDK_LOG_INFO("一共传输了%d字节", HalRecvDataLen); | ||
| 655 | - HalRecvDataLen = 0; | ||
| 656 | - | ||
| 657 | return ret; | 712 | return ret; |
| 658 | } | 713 | } |
| 659 | 714 | ||
| @@ -708,15 +763,24 @@ static T_JZsdkReturnCode RecvDeal_audio_PlayFile(int Port, char *getbuf) | @@ -708,15 +763,24 @@ static T_JZsdkReturnCode RecvDeal_audio_PlayFile(int Port, char *getbuf) | ||
| 708 | **********/ | 763 | **********/ |
| 709 | static T_JZsdkReturnCode RecvDeal_audio_PlayContinue(int Port, char *getbuf) | 764 | static T_JZsdkReturnCode RecvDeal_audio_PlayContinue(int Port, char *getbuf) |
| 710 | { | 765 | { |
| 766 | + T_JZsdkReturnCode ret; | ||
| 767 | + | ||
| 711 | JZSDK_LOG_INFO("%s,音频继续播放",JZsdk_DefineCode_GetPortName(Port)); | 768 | JZSDK_LOG_INFO("%s,音频继续播放",JZsdk_DefineCode_GetPortName(Port)); |
| 712 | 769 | ||
| 713 | //获取帧的序列号 | 770 | //获取帧的序列号 |
| 714 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | 771 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); |
| 715 | 772 | ||
| 716 | - UIcontrol_ContinuePlayAudio(Port); | ||
| 717 | - | 773 | + ret = UIcontrol_ContinuePlayAudio(Port); |
| 774 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 775 | + { | ||
| 718 | //回复操作成功 | 776 | //回复操作成功 |
| 719 | HalSend_type1Send_Reply_Success(Port, FrameSequence); | 777 | HalSend_type1Send_Reply_Success(Port, FrameSequence); |
| 778 | + } | ||
| 779 | + else | ||
| 780 | + { | ||
| 781 | + //回复操作失败 | ||
| 782 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 783 | + } | ||
| 720 | 784 | ||
| 721 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 785 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 722 | } | 786 | } |
| @@ -814,6 +878,13 @@ static T_JZsdkReturnCode RecvDeal_audio_NextSong(int Port, char *getbuf) | @@ -814,6 +878,13 @@ static T_JZsdkReturnCode RecvDeal_audio_NextSong(int Port, char *getbuf) | ||
| 814 | static T_JZsdkReturnCode RecvDeal_audio_GetMusicList(int Port, char *getbuf) | 878 | static T_JZsdkReturnCode RecvDeal_audio_GetMusicList(int Port, char *getbuf) |
| 815 | { | 879 | { |
| 816 | T_JZsdkReturnCode ret; | 880 | T_JZsdkReturnCode ret; |
| 881 | + T_JZsdkOsalHandler *OsalHandler = JZsdk_Platform_GetOsalHandler(); | ||
| 882 | + if (GetMusicList_MutexHandle == NULL) | ||
| 883 | + { | ||
| 884 | + OsalHandler->MutexCreate(&GetMusicList_MutexHandle); | ||
| 885 | + } | ||
| 886 | + | ||
| 887 | + OsalHandler->MutexLock(GetMusicList_MutexHandle); | ||
| 817 | 888 | ||
| 818 | JZSDK_LOG_INFO("%s,获取音乐列表",JZsdk_DefineCode_GetPortName(Port)); | 889 | JZSDK_LOG_INFO("%s,获取音乐列表",JZsdk_DefineCode_GetPortName(Port)); |
| 819 | int music_sum = 0; | 890 | int music_sum = 0; |
| @@ -824,7 +895,12 @@ static T_JZsdkReturnCode RecvDeal_audio_GetMusicList(int Port, char *getbuf) | @@ -824,7 +895,12 @@ static T_JZsdkReturnCode RecvDeal_audio_GetMusicList(int Port, char *getbuf) | ||
| 824 | #ifdef MEGAPHONE_CONFIG_STATUS_ON | 895 | #ifdef MEGAPHONE_CONFIG_STATUS_ON |
| 825 | 896 | ||
| 826 | //刷新歌曲列表 | 897 | //刷新歌曲列表 |
| 827 | - Megaphone_Flush_MusicList(); | 898 | + ret = Megaphone_Flush_MusicList(); |
| 899 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 900 | + { | ||
| 901 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 902 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 903 | + } | ||
| 828 | 904 | ||
| 829 | //解析获取的类型 | 905 | //解析获取的类型 |
| 830 | int type = getbuf[9]; | 906 | int type = getbuf[9]; |
| @@ -945,6 +1021,8 @@ static T_JZsdkReturnCode RecvDeal_audio_GetMusicList(int Port, char *getbuf) | @@ -945,6 +1021,8 @@ static T_JZsdkReturnCode RecvDeal_audio_GetMusicList(int Port, char *getbuf) | ||
| 945 | 1021 | ||
| 946 | #endif | 1022 | #endif |
| 947 | 1023 | ||
| 1024 | + OsalHandler->MutexUnlock(GetMusicList_MutexHandle); | ||
| 1025 | + | ||
| 948 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 1026 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 949 | } | 1027 | } |
| 950 | 1028 | ||
| @@ -1347,19 +1425,19 @@ static T_JZsdkReturnCode RecvDeal_CheckStatus_SoftwareVersion(int Port, char *ge | @@ -1347,19 +1425,19 @@ static T_JZsdkReturnCode RecvDeal_CheckStatus_SoftwareVersion(int Port, char *ge | ||
| 1347 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | 1425 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); |
| 1348 | 1426 | ||
| 1349 | char majorVersion; | 1427 | char majorVersion; |
| 1350 | - char minorVersion; | 1428 | + char MinjorVersion; |
| 1351 | char modifyVersion; | 1429 | char modifyVersion; |
| 1352 | char debugVersion; | 1430 | char debugVersion; |
| 1353 | 1431 | ||
| 1354 | //1、获取版本号 | 1432 | //1、获取版本号 |
| 1355 | majorVersion = MAJOR_VERSION; | 1433 | majorVersion = MAJOR_VERSION; |
| 1356 | - minorVersion = MINOR_VERSION; | 1434 | + MinjorVersion = MINOR_VERSION; |
| 1357 | modifyVersion = MODIFY_VERSION; | 1435 | modifyVersion = MODIFY_VERSION; |
| 1358 | debugVersion = DEBUG_VERSION; | 1436 | debugVersion = DEBUG_VERSION; |
| 1359 | - JZSDK_LOG_INFO("当前的软件版本号为:%2x, %2x, %2x, %2x",majorVersion, minorVersion, modifyVersion, debugVersion); | 1437 | + JZSDK_LOG_INFO("当前的软件版本号为:%2x, %2x, %2x, %2x",majorVersion, MinjorVersion, modifyVersion, debugVersion); |
| 1360 | 1438 | ||
| 1361 | //2、发送版本号 | 1439 | //2、发送版本号 |
| 1362 | - HalSend_type1Send_Reply_SoftVersion(Port, majorVersion, minorVersion, modifyVersion, debugVersion); | 1440 | + HalSend_type1Send_Reply_SoftVersion(Port, majorVersion, MinjorVersion, modifyVersion, debugVersion); |
| 1363 | 1441 | ||
| 1364 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 1442 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 1365 | } | 1443 | } |
| @@ -1563,10 +1641,13 @@ static T_JZsdkReturnCode RecvDeal_Delete_Audio(int Port, char *getbuf) | @@ -1563,10 +1641,13 @@ static T_JZsdkReturnCode RecvDeal_Delete_Audio(int Port, char *getbuf) | ||
| 1563 | FileName[FileName_Length] = '\0'; // 确保文件名以null结尾 | 1641 | FileName[FileName_Length] = '\0'; // 确保文件名以null结尾 |
| 1564 | 1642 | ||
| 1565 | //3、拼接指令 | 1643 | //3、拼接指令 |
| 1566 | - char cmd[512]; | ||
| 1567 | - snprintf(cmd, 512 ,"rm /root/sdcard/audio/%s", FileName); | 1644 | + char FilePath[512]; |
| 1645 | + snprintf(FilePath, 512 ,"/root/sdcard/audio/%s", FileName); | ||
| 1568 | 1646 | ||
| 1569 | - JZsdk_RunSystemCmd(cmd); | 1647 | + //4、删除文件 |
| 1648 | + JZsdk_Osal_delete(FilePath); | ||
| 1649 | + | ||
| 1650 | + JZsdk_Sync(); | ||
| 1570 | 1651 | ||
| 1571 | //4、刷新歌曲列表 | 1652 | //4、刷新歌曲列表 |
| 1572 | #ifdef MEGAPHONE_CONFIG_STATUS_ON | 1653 | #ifdef MEGAPHONE_CONFIG_STATUS_ON |
| @@ -1581,13 +1662,13 @@ static T_JZsdkReturnCode RecvDeal_Delete_Audio(int Port, char *getbuf) | @@ -1581,13 +1662,13 @@ static T_JZsdkReturnCode RecvDeal_Delete_Audio(int Port, char *getbuf) | ||
| 1581 | 1662 | ||
| 1582 | /********* | 1663 | /********* |
| 1583 | * | 1664 | * |
| 1584 | - * 删除录音 | 1665 | + * 删除pcm文件 |
| 1585 | * | 1666 | * |
| 1586 | * | 1667 | * |
| 1587 | **********/ | 1668 | **********/ |
| 1588 | static T_JZsdkReturnCode RecvDeal_Delete_VoiceRecord(int Port, char *getbuf) | 1669 | static T_JZsdkReturnCode RecvDeal_Delete_VoiceRecord(int Port, char *getbuf) |
| 1589 | { | 1670 | { |
| 1590 | - JZSDK_LOG_INFO("%s,删除录音操作",JZsdk_DefineCode_GetPortName(Port)); | 1671 | + JZSDK_LOG_INFO("%s,删除pcm文件操作",JZsdk_DefineCode_GetPortName(Port)); |
| 1591 | 1672 | ||
| 1592 | //获取帧的序列号 | 1673 | //获取帧的序列号 |
| 1593 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | 1674 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); |
| @@ -1597,19 +1678,22 @@ static T_JZsdkReturnCode RecvDeal_Delete_VoiceRecord(int Port, char *getbuf) | @@ -1597,19 +1678,22 @@ static T_JZsdkReturnCode RecvDeal_Delete_VoiceRecord(int Port, char *getbuf) | ||
| 1597 | FileName_Length = ((int)getbuf[3] << 8) + (int)getbuf[4] - 2 - 9; | 1678 | FileName_Length = ((int)getbuf[3] << 8) + (int)getbuf[4] - 2 - 9; |
| 1598 | 1679 | ||
| 1599 | //2、获取名字 | 1680 | //2、获取名字 |
| 1600 | - char FileName[256]; | 1681 | + char FileName[JZSDK_FILE_NAME_SIZE_MAX]; |
| 1601 | memcpy(FileName, &getbuf[9], FileName_Length); | 1682 | memcpy(FileName, &getbuf[9], FileName_Length); |
| 1602 | FileName[FileName_Length] = '\0'; // 确保文件名以null结尾 | 1683 | FileName[FileName_Length] = '\0'; // 确保文件名以null结尾 |
| 1603 | 1684 | ||
| 1604 | //3、拼接指令 | 1685 | //3、拼接指令 |
| 1605 | - char cmd[512]; | ||
| 1606 | - snprintf(cmd, 512 ,"rm /root/sdcard/audio/%s", FileName); | 1686 | + char FilePath[512]; |
| 1687 | + snprintf(FilePath, 512 ,"/root/sdcard/pcm/%s", FileName); | ||
| 1607 | 1688 | ||
| 1608 | - JZsdk_RunSystemCmd(cmd); | 1689 | + //4、删除文件 |
| 1690 | + JZsdk_Osal_delete(FilePath); | ||
| 1691 | + | ||
| 1692 | + JZsdk_Sync(); | ||
| 1609 | 1693 | ||
| 1610 | //4、刷新歌曲列表 | 1694 | //4、刷新歌曲列表 |
| 1611 | #ifdef MEGAPHONE_CONFIG_STATUS_ON | 1695 | #ifdef MEGAPHONE_CONFIG_STATUS_ON |
| 1612 | - Megaphone_Flush_MusicList(); | 1696 | + PcmFile_FlushList(); |
| 1613 | #endif | 1697 | #endif |
| 1614 | 1698 | ||
| 1615 | //回复操作成功 | 1699 | //回复操作成功 |
| @@ -1629,6 +1713,128 @@ static T_JZsdkReturnCode RecvDeal_Delete_VideoRecord() | @@ -1629,6 +1713,128 @@ static T_JZsdkReturnCode RecvDeal_Delete_VideoRecord() | ||
| 1629 | 1713 | ||
| 1630 | } | 1714 | } |
| 1631 | 1715 | ||
| 1716 | + | ||
| 1717 | + | ||
| 1718 | +/********* | ||
| 1719 | + * | ||
| 1720 | + * 音频重命名 | ||
| 1721 | + * | ||
| 1722 | + * | ||
| 1723 | +**********/ | ||
| 1724 | +static T_JZsdkReturnCode RecvDeal_Rename_Audio(int Port, char *getbuf) | ||
| 1725 | +{ | ||
| 1726 | + JZSDK_LOG_INFO("%s,音频重命名",JZsdk_DefineCode_GetPortName(Port)); | ||
| 1727 | + | ||
| 1728 | + //获取帧的序列号 | ||
| 1729 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
| 1730 | + | ||
| 1731 | + //获取总帧长度 | ||
| 1732 | + int FrameLength = JZsdk_Get_FrameLength(getbuf); | ||
| 1733 | + | ||
| 1734 | + //获取原文件长度 | ||
| 1735 | + int OldFileName_Length = getbuf[9]; | ||
| 1736 | + | ||
| 1737 | + //获取新文件长度 | ||
| 1738 | + int NewFileName_Length = getbuf[10 + OldFileName_Length]; | ||
| 1739 | + | ||
| 1740 | + //获取原文件名字 | ||
| 1741 | + unsigned char OldFileName[128]; | ||
| 1742 | + memcpy(OldFileName, &getbuf[9], OldFileName_Length); | ||
| 1743 | + OldFileName[OldFileName_Length] = '\0'; // 确保文件名以null结尾 | ||
| 1744 | + | ||
| 1745 | + //获取新文件名字 | ||
| 1746 | + unsigned char NewFileName[128]; | ||
| 1747 | + memcpy(NewFileName, &getbuf[10 + OldFileName_Length], NewFileName_Length); | ||
| 1748 | + NewFileName[NewFileName_Length] = '\0'; // 确保文件名以null结尾 | ||
| 1749 | + | ||
| 1750 | + //3、拼接出地址 | ||
| 1751 | + char OldFilePath[JZSDK_FILE_PATH_SIZE_MAX]; | ||
| 1752 | + snprintf(OldFilePath, JZSDK_FILE_PATH_SIZE_MAX ,"/root/sdcard/audio/%s", OldFileName); | ||
| 1753 | + | ||
| 1754 | + char NewFilePath[JZSDK_FILE_PATH_SIZE_MAX]; | ||
| 1755 | + snprintf(NewFilePath, JZSDK_FILE_PATH_SIZE_MAX ,"/root/sdcard/audio/%s", NewFileName); | ||
| 1756 | + | ||
| 1757 | + JZsdk_Osal_Rename(OldFilePath, NewFilePath); | ||
| 1758 | + | ||
| 1759 | + JZsdk_Sync(); | ||
| 1760 | + | ||
| 1761 | + //4、刷新歌曲列表 | ||
| 1762 | +#ifdef MEGAPHONE_CONFIG_STATUS_ON | ||
| 1763 | + Megaphone_Flush_MusicList(); | ||
| 1764 | +#endif | ||
| 1765 | + | ||
| 1766 | + //回复操作成功 | ||
| 1767 | + HalSend_type1Send_Reply_Success(Port, FrameSequence); | ||
| 1768 | + | ||
| 1769 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 1770 | +} | ||
| 1771 | + | ||
| 1772 | +/********* | ||
| 1773 | + * | ||
| 1774 | + * 录音重命名 | ||
| 1775 | + * | ||
| 1776 | + * | ||
| 1777 | +**********/ | ||
| 1778 | +static T_JZsdkReturnCode RecvDeal_Rename_VoiceRecord(int Port, char *getbuf) | ||
| 1779 | +{ | ||
| 1780 | + JZSDK_LOG_INFO("%s,音频重命名",JZsdk_DefineCode_GetPortName(Port)); | ||
| 1781 | + | ||
| 1782 | + //获取帧的序列号 | ||
| 1783 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
| 1784 | + | ||
| 1785 | + //获取总帧长度 | ||
| 1786 | + int FrameLength = JZsdk_Get_FrameLength(getbuf); | ||
| 1787 | + | ||
| 1788 | + //获取原文件长度 | ||
| 1789 | + int OldFileName_Length = getbuf[9]; | ||
| 1790 | + | ||
| 1791 | + //获取新文件长度 | ||
| 1792 | + int NewFileName_Length = getbuf[10 + OldFileName_Length]; | ||
| 1793 | + | ||
| 1794 | + //获取原文件名字 | ||
| 1795 | + unsigned char OldFileName[128]; | ||
| 1796 | + memcpy(OldFileName, &getbuf[9], OldFileName_Length); | ||
| 1797 | + OldFileName[OldFileName_Length] = '\0'; // 确保文件名以null结尾 | ||
| 1798 | + | ||
| 1799 | + //获取新文件名字 | ||
| 1800 | + unsigned char NewFileName[128]; | ||
| 1801 | + memcpy(NewFileName, &getbuf[10 + OldFileName_Length], NewFileName_Length); | ||
| 1802 | + NewFileName[NewFileName_Length] = '\0'; // 确保文件名以null结尾 | ||
| 1803 | + | ||
| 1804 | + //3、拼接出地址 | ||
| 1805 | + char OldFilePath[JZSDK_FILE_PATH_SIZE_MAX]; | ||
| 1806 | + snprintf(OldFilePath, JZSDK_FILE_PATH_SIZE_MAX ,"/root/sdcard/pcm/%s", OldFileName); | ||
| 1807 | + | ||
| 1808 | + char NewFilePath[JZSDK_FILE_PATH_SIZE_MAX]; | ||
| 1809 | + snprintf(NewFilePath, JZSDK_FILE_PATH_SIZE_MAX ,"/root/sdcard/pcm/%s", NewFileName); | ||
| 1810 | + | ||
| 1811 | + JZsdk_Osal_Rename(OldFilePath, NewFilePath); | ||
| 1812 | + | ||
| 1813 | + JZsdk_Sync(); | ||
| 1814 | + | ||
| 1815 | + //4、刷新歌曲列表 | ||
| 1816 | +#ifdef MEGAPHONE_CONFIG_STATUS_ON | ||
| 1817 | + PcmFile_FlushList(); | ||
| 1818 | +#endif | ||
| 1819 | + | ||
| 1820 | + //回复操作成功 | ||
| 1821 | + HalSend_type1Send_Reply_Success(Port, FrameSequence); | ||
| 1822 | + | ||
| 1823 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 1824 | +} | ||
| 1825 | + | ||
| 1826 | +/********* | ||
| 1827 | + * | ||
| 1828 | + * 删除视频 | ||
| 1829 | + * | ||
| 1830 | + * | ||
| 1831 | +**********/ | ||
| 1832 | +static T_JZsdkReturnCode RecvDeal_Rename_VideoRecord() | ||
| 1833 | +{ | ||
| 1834 | + | ||
| 1835 | +} | ||
| 1836 | + | ||
| 1837 | + | ||
| 1632 | /********* | 1838 | /********* |
| 1633 | * | 1839 | * |
| 1634 | * tts设置音色 | 1840 | * tts设置音色 |
| @@ -1840,69 +2046,256 @@ static T_JZsdkReturnCode RecvDeal_TTS_Trans_stop(int Port, char *getbuf) | @@ -1840,69 +2046,256 @@ static T_JZsdkReturnCode RecvDeal_TTS_Trans_stop(int Port, char *getbuf) | ||
| 1840 | } | 2046 | } |
| 1841 | 2047 | ||
| 1842 | 2048 | ||
| 2049 | + | ||
| 1843 | /********* | 2050 | /********* |
| 1844 | * | 2051 | * |
| 1845 | - * 打开opus传输 | 2052 | + * 播放时间回传 |
| 1846 | * | 2053 | * |
| 1847 | * | 2054 | * |
| 1848 | **********/ | 2055 | **********/ |
| 1849 | -static T_JZsdkReturnCode RecvDeal_OpusTrans_start(int Port, char *getbuf) | 2056 | +static T_JZsdkReturnCode RecvDeal_Current_Play_Time(int Port, char *getbuf) |
| 1850 | { | 2057 | { |
| 1851 | - JZSDK_LOG_INFO("%s,打开opus传输",JZsdk_DefineCode_GetPortName(Port)); | 2058 | + T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| 2059 | + | ||
| 2060 | + JZSDK_LOG_INFO("%s,设置播放时间回传",JZsdk_DefineCode_GetPortName(Port)); | ||
| 1852 | 2061 | ||
| 1853 | //获取帧的序列号 | 2062 | //获取帧的序列号 |
| 1854 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | 2063 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); |
| 1855 | 2064 | ||
| 1856 | - T_JZsdkReturnCode ret = HalRecv_tpye1_RecvDeal_UartTransmodeDecide(); | ||
| 1857 | - if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | 2065 | + //获取帧操作 |
| 2066 | + int Mode = getbuf[9]; | ||
| 2067 | + | ||
| 2068 | + JZSDK_LOG_INFO("设置播放回传模式:%d", Mode); | ||
| 2069 | + | ||
| 2070 | +#ifdef MEGAPHONE_CONFIG_STATUS_ON | ||
| 2071 | + | ||
| 2072 | + //如果是0 或者 1 是关闭或打开回传模式 | ||
| 2073 | + if (Mode == JZ_FLAGCODE_OFF || Mode == JZ_FLAGCODE_ON) | ||
| 2074 | + { | ||
| 2075 | + ret = Megaphone_PlayBackSet(Port, Mode); | ||
| 2076 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 2077 | + { | ||
| 2078 | + //回复操作成功 | ||
| 2079 | + HalSend_type1Send_Reply_Success(Port, FrameSequence); | ||
| 2080 | + | ||
| 2081 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 2082 | + } | ||
| 2083 | + else | ||
| 1858 | { | 2084 | { |
| 1859 | //回复操作失败 | 2085 | //回复操作失败 |
| 1860 | HalSend_type1Send_Reply_Failure(Port, FrameSequence); | 2086 | HalSend_type1Send_Reply_Failure(Port, FrameSequence); |
| 1861 | - JZSDK_LOG_ERROR("打开opus传输失败, 已开启其他传输模式"); | ||
| 1862 | - return ret; | 2087 | + |
| 2088 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 2089 | + } | ||
| 1863 | } | 2090 | } |
| 1864 | 2091 | ||
| 1865 | - //1、获取解码比特率 | ||
| 1866 | - int decode_rate = getbuf[9] * 8000; | ||
| 1867 | - if(decode_rate == 0) | 2092 | + //如果是2,则主动索取 |
| 2093 | + if (Mode == 2) | ||
| 1868 | { | 2094 | { |
| 1869 | - decode_rate = 16000; | 2095 | + ret = Megaphone_PlayBackTimeGet(Port); |
| 1870 | } | 2096 | } |
| 1871 | 2097 | ||
| 1872 | - //2、创建存储文件 | ||
| 1873 | -#ifdef MEGAPHONE_CONFIG_STATUS_ON | ||
| 1874 | - Megaphone_SaveOpusStart(decode_rate); | ||
| 1875 | #endif | 2098 | #endif |
| 1876 | 2099 | ||
| 1877 | - //3、修改接收模式为传输opus | ||
| 1878 | - HalRecv_tpye1_RecvDeal_Set_UartReceiveMode(Port, JZ_DATA_TRANS_TYPE_OPUS_FILE); | ||
| 1879 | - HalRecvDataLen = 0; | ||
| 1880 | - | ||
| 1881 | - //回复操作成功 | ||
| 1882 | - HalSend_type1Send_Reply_Success(Port, FrameSequence); | ||
| 1883 | - | ||
| 1884 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 2100 | + return ret; |
| 1885 | } | 2101 | } |
| 1886 | 2102 | ||
| 2103 | + | ||
| 1887 | /********* | 2104 | /********* |
| 1888 | * | 2105 | * |
| 1889 | - * opus定长传输文件 | 2106 | + * 获取播放时间回传模式 |
| 1890 | * | 2107 | * |
| 1891 | * | 2108 | * |
| 1892 | **********/ | 2109 | **********/ |
| 1893 | -static T_JZsdkReturnCode RecvDeal_OpusTrans_LimitTransmission(int Port, char *getbuf, int size) | 2110 | +static T_JZsdkReturnCode RecvDeal_CheckStatus_CurrentPlayTime(int Port, char *getbuf) |
| 1894 | { | 2111 | { |
| 1895 | - T_JZsdkReturnCode ret; | 2112 | + T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| 2113 | + | ||
| 2114 | + JZSDK_LOG_INFO("%s,获取播放时间回传模式",JZsdk_DefineCode_GetPortName(Port)); | ||
| 2115 | + | ||
| 2116 | + //获取帧的序列号 | ||
| 2117 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
| 2118 | + | ||
| 2119 | +#ifdef MEGAPHONE_CONFIG_STATUS_ON | ||
| 2120 | + | ||
| 2121 | + int mode = Megaphone_PlayBackGetMode(Port); | ||
| 2122 | + HalSend_type1Send_Reply_CurrentPlayTimeStatus(Port, mode); | ||
| 2123 | + | ||
| 2124 | +#endif | ||
| 2125 | + | ||
| 2126 | + return ret; | ||
| 2127 | +} | ||
| 2128 | + | ||
| 2129 | +/********* | ||
| 2130 | + * | ||
| 2131 | + * 打开opus传输 | ||
| 2132 | + * | ||
| 2133 | + * | ||
| 2134 | +**********/ | ||
| 2135 | +static T_JZsdkReturnCode RecvDeal_OpusTrans_start(int Port, char *getbuf) | ||
| 2136 | +{ | ||
| 2137 | + T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 2138 | + | ||
| 2139 | + JZSDK_LOG_INFO("%s,打开opus传输1型",JZsdk_DefineCode_GetPortName(Port)); | ||
| 1896 | 2140 | ||
| 1897 | //获取帧的序列号 | 2141 | //获取帧的序列号 |
| 1898 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | 2142 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); |
| 1899 | 2143 | ||
| 1900 | - if (HalRecvMode != JZ_DATA_TRANS_TYPE_OPUS_FILE) | 2144 | + //1、获取解码比特率 |
| 2145 | + int decode_rate = getbuf[9] * 8000; | ||
| 2146 | + if(decode_rate == 0) | ||
| 2147 | + { | ||
| 2148 | + decode_rate = 16000; | ||
| 2149 | + } | ||
| 2150 | + | ||
| 2151 | + //2、创建存储文件 | ||
| 2152 | +#ifdef MEGAPHONE_CONFIG_STATUS_ON | ||
| 2153 | + ret = Megaphone_SaveOpusStart(NULL, decode_rate, 16000, 1); | ||
| 2154 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 2155 | + { | ||
| 2156 | + //回复操作成功 | ||
| 2157 | + HalSend_type1Send_Reply_Success(Port, FrameSequence); | ||
| 2158 | + | ||
| 2159 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 2160 | + } | ||
| 2161 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_IS_BUSY) | ||
| 1901 | { | 2162 | { |
| 1902 | - JZSDK_LOG_ERROR("%s,不处于opus传输模式,无法接收opus定长音频文件",JZsdk_DefineCode_GetPortName(Port)); | 2163 | + JZSDK_LOG_ERROR("opus忙碌中"); |
| 2164 | + } | ||
| 2165 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE) | ||
| 2166 | + { | ||
| 2167 | + JZSDK_LOG_ERROR("opus创建失败"); | ||
| 2168 | + } | ||
| 2169 | + | ||
| 1903 | HalSend_type1Send_Reply_Failure(Port, FrameSequence); | 2170 | HalSend_type1Send_Reply_Failure(Port, FrameSequence); |
| 1904 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 2171 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| 2172 | + | ||
| 2173 | +#else | ||
| 2174 | + JZSDK_LOG_ERROR("非喊话器不支持opus传输"); | ||
| 2175 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 2176 | + | ||
| 2177 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 2178 | +#endif | ||
| 2179 | +} | ||
| 2180 | + | ||
| 2181 | + | ||
| 2182 | + | ||
| 2183 | +/********* | ||
| 2184 | + * | ||
| 2185 | + * 打开opus传输Ⅱ型 | ||
| 2186 | + * | ||
| 2187 | + * | ||
| 2188 | +**********/ | ||
| 2189 | +static T_JZsdkReturnCode RecvDeal_OpusTrans_start_2(int Port, char *getbuf) | ||
| 2190 | +{ | ||
| 2191 | + T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 2192 | + | ||
| 2193 | + JZSDK_LOG_INFO("%s,打开opus传输1型",JZsdk_DefineCode_GetPortName(Port)); | ||
| 2194 | + | ||
| 2195 | + //获取帧的序列号 | ||
| 2196 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
| 2197 | + | ||
| 2198 | + //获取帧的长度 | ||
| 2199 | + int FrameLen = JZsdk_Get_FrameLength(getbuf); | ||
| 2200 | + | ||
| 2201 | + //获取存储模式 | ||
| 2202 | + int SaveMode = getbuf[9]; | ||
| 2203 | + | ||
| 2204 | + //获取比特率 | ||
| 2205 | + int BitChoose = getbuf[10]; | ||
| 2206 | + int decode_rate = 16000; | ||
| 2207 | + // if (BitChoose == 0) | ||
| 2208 | + // { | ||
| 2209 | + // decode_rate = 16000; | ||
| 2210 | + // } | ||
| 2211 | + | ||
| 2212 | + //获取采样率 | ||
| 2213 | + int SampleChoose = getbuf[11]; | ||
| 2214 | + int SampleRate = 16000; | ||
| 2215 | + // if (SampleChoose == 0) | ||
| 2216 | + // { | ||
| 2217 | + // SampleRate = 16000; | ||
| 2218 | + // } | ||
| 2219 | + | ||
| 2220 | + //获取频道数 | ||
| 2221 | + int ChannelChoose = getbuf[12]; | ||
| 2222 | + int ChannelNum = 1; | ||
| 2223 | + // if (ChannelChoose == 0) | ||
| 2224 | + // { | ||
| 2225 | + // ChannelNum = 1; | ||
| 2226 | + // } | ||
| 2227 | + | ||
| 2228 | + //获取文件名长度 | ||
| 2229 | + int FileNameLen = getbuf[13]; | ||
| 2230 | + if(FileNameLen != FrameLen - 14 - 2) | ||
| 2231 | + { | ||
| 2232 | + JZSDK_LOG_ERROR("文件名长度错误"); | ||
| 2233 | + FileNameLen = FrameLen - 14 - 2; | ||
| 2234 | + } | ||
| 2235 | + | ||
| 2236 | + if (FileNameLen > 128) | ||
| 2237 | + { | ||
| 2238 | + JZSDK_LOG_ERROR("文件名长度过长"); | ||
| 2239 | + FileNameLen = 128; | ||
| 2240 | + } | ||
| 2241 | + | ||
| 2242 | + //获取文件名 | ||
| 2243 | + unsigned char FileName[128] = {0}; | ||
| 2244 | + memcpy(FileName, getbuf + 14, FileNameLen); | ||
| 2245 | + | ||
| 2246 | + //2、创建存储文件 | ||
| 2247 | +#ifdef MEGAPHONE_CONFIG_STATUS_ON | ||
| 2248 | + | ||
| 2249 | + if (SaveMode == JZ_FLAGCODE_OFF) | ||
| 2250 | + { | ||
| 2251 | + ret = Megaphone_SaveOpusStart(NULL, decode_rate, SampleRate, ChannelNum); | ||
| 2252 | + } | ||
| 2253 | + else | ||
| 2254 | + { | ||
| 2255 | + ret = Megaphone_SaveOpusStart(FileName, decode_rate, SampleRate, ChannelNum); | ||
| 2256 | + } | ||
| 2257 | + | ||
| 2258 | + | ||
| 2259 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 2260 | + { | ||
| 2261 | + //回复操作成功 | ||
| 2262 | + HalSend_type1Send_Reply_Success(Port, FrameSequence); | ||
| 2263 | + | ||
| 2264 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 1905 | } | 2265 | } |
| 2266 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_IS_BUSY) | ||
| 2267 | + { | ||
| 2268 | + JZSDK_LOG_ERROR("opus忙碌中"); | ||
| 2269 | + } | ||
| 2270 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE) | ||
| 2271 | + { | ||
| 2272 | + JZSDK_LOG_ERROR("opus创建失败"); | ||
| 2273 | + } | ||
| 2274 | + | ||
| 2275 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 2276 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 2277 | + | ||
| 2278 | +#else | ||
| 2279 | + JZSDK_LOG_ERROR("非喊话器不支持opus传输"); | ||
| 2280 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 2281 | + | ||
| 2282 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 2283 | +#endif | ||
| 2284 | +} | ||
| 2285 | + | ||
| 2286 | + | ||
| 2287 | +/********* | ||
| 2288 | + * | ||
| 2289 | + * opus定长传输文件 | ||
| 2290 | + * | ||
| 2291 | + * | ||
| 2292 | +**********/ | ||
| 2293 | +static T_JZsdkReturnCode RecvDeal_OpusTrans_LimitTransmission(int Port, char *getbuf, int size) | ||
| 2294 | +{ | ||
| 2295 | + T_JZsdkReturnCode ret; | ||
| 2296 | + | ||
| 2297 | + //获取帧的序列号 | ||
| 2298 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
| 1906 | 2299 | ||
| 1907 | //提取出数据 | 2300 | //提取出数据 |
| 1908 | int DataLen = ((int)getbuf[3] << 8 ) + (int)getbuf[4] - 2 - 9; | 2301 | int DataLen = ((int)getbuf[3] << 8 ) + (int)getbuf[4] - 2 - 9; |
| @@ -1912,12 +2305,20 @@ static T_JZsdkReturnCode RecvDeal_OpusTrans_LimitTransmission(int Port, char *ge | @@ -1912,12 +2305,20 @@ static T_JZsdkReturnCode RecvDeal_OpusTrans_LimitTransmission(int Port, char *ge | ||
| 1912 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 2305 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| 1913 | } | 2306 | } |
| 1914 | 2307 | ||
| 1915 | - HalRecvDataLen += DataLen; | ||
| 1916 | - JZSDK_LOG_DEBUG("%s,传输opus定长音频文件中 一共传输了%d字节",JZsdk_DefineCode_GetPortName(Port),HalRecvDataLen); | ||
| 1917 | - | ||
| 1918 | //传输数据接口 | 2308 | //传输数据接口 |
| 1919 | #ifdef MEGAPHONE_CONFIG_STATUS_ON | 2309 | #ifdef MEGAPHONE_CONFIG_STATUS_ON |
| 1920 | - Megaphone_SaveOpusTrans(getbuf+9, DataLen); | 2310 | + ret = Megaphone_SaveOpusTrans(getbuf+9, DataLen); |
| 2311 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 2312 | + { | ||
| 2313 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 2314 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 2315 | + } | ||
| 2316 | + | ||
| 2317 | +#else | ||
| 2318 | + JZSDK_LOG_ERROR("非喊话器不支持opus传输"); | ||
| 2319 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 2320 | + | ||
| 2321 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 1921 | #endif | 2322 | #endif |
| 1922 | 2323 | ||
| 1923 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 2324 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| @@ -1932,30 +2333,35 @@ static T_JZsdkReturnCode RecvDeal_OpusTrans_LimitTransmission(int Port, char *ge | @@ -1932,30 +2333,35 @@ static T_JZsdkReturnCode RecvDeal_OpusTrans_LimitTransmission(int Port, char *ge | ||
| 1932 | **********/ | 2333 | **********/ |
| 1933 | static T_JZsdkReturnCode RecvDeal_OpusTrans_stop(int Port, char *getbuf) | 2334 | static T_JZsdkReturnCode RecvDeal_OpusTrans_stop(int Port, char *getbuf) |
| 1934 | { | 2335 | { |
| 2336 | + T_JZsdkReturnCode ret; | ||
| 2337 | + | ||
| 1935 | JZSDK_LOG_INFO("%s,结束opus传输",JZsdk_DefineCode_GetPortName(Port)); | 2338 | JZSDK_LOG_INFO("%s,结束opus传输",JZsdk_DefineCode_GetPortName(Port)); |
| 1936 | 2339 | ||
| 1937 | //获取帧的序列号 | 2340 | //获取帧的序列号 |
| 1938 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | 2341 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); |
| 1939 | 2342 | ||
| 1940 | - if (HalRecvMode != JZ_DATA_TRANS_TYPE_OPUS_FILE) | 2343 | +#ifdef MEGAPHONE_CONFIG_STATUS_ON |
| 2344 | + ret = Megaphone_SaveOpusStop(JZ_FLAGCODE_OFF, NULL); | ||
| 2345 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 1941 | { | 2346 | { |
| 1942 | - //回复操作失败 | ||
| 1943 | HalSend_type1Send_Reply_Failure(Port, FrameSequence); | 2347 | HalSend_type1Send_Reply_Failure(Port, FrameSequence); |
| 1944 | - JZSDK_LOG_ERROR("关闭opus结束传输失败,opus结束传输未开始,无法关闭"); | 2348 | + |
| 1945 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 2349 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| 1946 | } | 2350 | } |
| 2351 | + else | ||
| 2352 | + { | ||
| 2353 | + //回复操作成功 | ||
| 2354 | + HalSend_type1Send_Reply_Success(Port, FrameSequence); | ||
| 1947 | 2355 | ||
| 2356 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 2357 | + } | ||
| 1948 | 2358 | ||
| 1949 | -#ifdef MEGAPHONE_CONFIG_STATUS_ON | ||
| 1950 | - Megaphone_SaveOpusStop(JZ_FLAGCODE_OFF, NULL); | ||
| 1951 | -#endif | ||
| 1952 | - | ||
| 1953 | - HalRecv_tpye1_RecvDeal_Set_UartReceiveMode(Port, JZ_FLAGCODE_OFF); | ||
| 1954 | - JZSDK_LOG_INFO("一共传输了 %d字节\n",HalRecvDataLen); | ||
| 1955 | - HalRecvDataLen = 0; | 2359 | +#else |
| 2360 | + JZSDK_LOG_ERROR("非喊话器不支持opus传输"); | ||
| 2361 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 1956 | 2362 | ||
| 1957 | - //回复操作成功 | ||
| 1958 | - HalSend_type1Send_Reply_Success(Port, FrameSequence); | 2363 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| 2364 | +#endif | ||
| 1959 | 2365 | ||
| 1960 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 2366 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 1961 | } | 2367 | } |
| @@ -1976,13 +2382,6 @@ static T_JZsdkReturnCode RecvDeal_OpusTrans_stop_and_check(int Port, char *getbu | @@ -1976,13 +2382,6 @@ static T_JZsdkReturnCode RecvDeal_OpusTrans_stop_and_check(int Port, char *getbu | ||
| 1976 | //获取帧的序列号 | 2382 | //获取帧的序列号 |
| 1977 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | 2383 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); |
| 1978 | 2384 | ||
| 1979 | - if (HalRecvMode != JZ_DATA_TRANS_TYPE_OPUS_FILE) | ||
| 1980 | - { | ||
| 1981 | - //回复操作失败 | ||
| 1982 | - HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 1983 | - JZSDK_LOG_ERROR("关闭音频文件上传失败,音频文件上传未开始,无法关闭"); | ||
| 1984 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 1985 | - } | ||
| 1986 | 2385 | ||
| 1987 | unsigned char checkCode[128]; | 2386 | unsigned char checkCode[128]; |
| 1988 | int frameLenth = ((int)getbuf[3]) << 8 | (int)getbuf[4]; | 2387 | int frameLenth = ((int)getbuf[3]) << 8 | (int)getbuf[4]; |
| @@ -2036,17 +2435,15 @@ static T_JZsdkReturnCode RecvDeal_OpusTrans_stop_and_check(int Port, char *getbu | @@ -2036,17 +2435,15 @@ static T_JZsdkReturnCode RecvDeal_OpusTrans_stop_and_check(int Port, char *getbu | ||
| 2036 | HalSend_type1Send_Reply_Failure(Port, FrameSequence); | 2435 | HalSend_type1Send_Reply_Failure(Port, FrameSequence); |
| 2037 | } | 2436 | } |
| 2038 | 2437 | ||
| 2438 | +#else | ||
| 2439 | + ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 2440 | + JZSDK_LOG_ERROR("非喊话器不支持opus传输"); | ||
| 2441 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 2039 | #endif | 2442 | #endif |
| 2040 | 2443 | ||
| 2041 | - //3、调整接收模式为音频文件传输 | ||
| 2042 | - HalRecv_tpye1_RecvDeal_Set_UartReceiveMode(Port, JZ_FLAGCODE_OFF); | ||
| 2043 | - JZSDK_LOG_INFO("一共传输了 %d字节\n",HalRecvDataLen); | ||
| 2044 | - HalRecvDataLen = 0; | ||
| 2045 | - | ||
| 2046 | return ret; | 2444 | return ret; |
| 2047 | } | 2445 | } |
| 2048 | 2446 | ||
| 2049 | - | ||
| 2050 | /********* | 2447 | /********* |
| 2051 | * | 2448 | * |
| 2052 | * opus播放 | 2449 | * opus播放 |
| @@ -2055,30 +2452,36 @@ static T_JZsdkReturnCode RecvDeal_OpusTrans_stop_and_check(int Port, char *getbu | @@ -2055,30 +2452,36 @@ static T_JZsdkReturnCode RecvDeal_OpusTrans_stop_and_check(int Port, char *getbu | ||
| 2055 | **********/ | 2452 | **********/ |
| 2056 | static T_JZsdkReturnCode RecvDeal_OpusPlay(int Port, char *getbuf) | 2453 | static T_JZsdkReturnCode RecvDeal_OpusPlay(int Port, char *getbuf) |
| 2057 | { | 2454 | { |
| 2455 | + T_JZsdkReturnCode ret; | ||
| 2456 | + | ||
| 2058 | JZSDK_LOG_INFO("%s,opus播放",JZsdk_DefineCode_GetPortName(Port)); | 2457 | JZSDK_LOG_INFO("%s,opus播放",JZsdk_DefineCode_GetPortName(Port)); |
| 2059 | 2458 | ||
| 2060 | //获取帧的序列号 | 2459 | //获取帧的序列号 |
| 2061 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | 2460 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); |
| 2062 | 2461 | ||
| 2063 | - T_JZsdkReturnCode ret = HalRecv_tpye1_RecvDeal_UartTransmodeDecide(); | ||
| 2064 | - if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | 2462 | + |
| 2463 | +#ifdef MEGAPHONE_CONFIG_STATUS_ON | ||
| 2464 | + | ||
| 2465 | + //获取是否处于opus传输中的模式 | ||
| 2466 | + if (OpusFile_GetSaveFlag() == JZ_FLAGCODE_ON) | ||
| 2065 | { | 2467 | { |
| 2468 | + JZSDK_LOG_ERROR("禁止播放opus,当前正处于录入中"); | ||
| 2066 | //回复操作失败 | 2469 | //回复操作失败 |
| 2067 | HalSend_type1Send_Reply_Failure(Port, FrameSequence); | 2470 | HalSend_type1Send_Reply_Failure(Port, FrameSequence); |
| 2068 | - JZSDK_LOG_ERROR("opus播放失败,存在传输模式打开中"); | ||
| 2069 | - return ret; | 2471 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| 2070 | } | 2472 | } |
| 2071 | 2473 | ||
| 2072 | UIcontrol_Opus_PlayFixedFile(Port); | 2474 | UIcontrol_Opus_PlayFixedFile(Port); |
| 2073 | 2475 | ||
| 2476 | +#endif | ||
| 2477 | + | ||
| 2074 | //回复操作成功 | 2478 | //回复操作成功 |
| 2075 | HalSend_type1Send_Reply_Success(Port, FrameSequence); | 2479 | HalSend_type1Send_Reply_Success(Port, FrameSequence); |
| 2076 | 2480 | ||
| 2481 | + | ||
| 2077 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 2482 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 2078 | } | 2483 | } |
| 2079 | 2484 | ||
| 2080 | - | ||
| 2081 | - | ||
| 2082 | /********* | 2485 | /********* |
| 2083 | * | 2486 | * |
| 2084 | * 开启opus实时喊话 功能 | 2487 | * 开启opus实时喊话 功能 |
| @@ -2087,24 +2490,13 @@ static T_JZsdkReturnCode RecvDeal_OpusPlay(int Port, char *getbuf) | @@ -2087,24 +2490,13 @@ static T_JZsdkReturnCode RecvDeal_OpusPlay(int Port, char *getbuf) | ||
| 2087 | **********/ | 2490 | **********/ |
| 2088 | static T_JZsdkReturnCode RecvDeal_Opus_RealTimeVoice_start(int Port, char *getbuf) | 2491 | static T_JZsdkReturnCode RecvDeal_Opus_RealTimeVoice_start(int Port, char *getbuf) |
| 2089 | { | 2492 | { |
| 2493 | + T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 2494 | + | ||
| 2090 | JZSDK_LOG_INFO("%s,开启opus实时喊话功能",JZsdk_DefineCode_GetPortName(Port)); | 2495 | JZSDK_LOG_INFO("%s,开启opus实时喊话功能",JZsdk_DefineCode_GetPortName(Port)); |
| 2091 | 2496 | ||
| 2092 | //获取帧的序列号 | 2497 | //获取帧的序列号 |
| 2093 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | 2498 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); |
| 2094 | 2499 | ||
| 2095 | - T_JZsdkReturnCode ret = HalRecv_tpye1_RecvDeal_UartTransmodeDecide(); | ||
| 2096 | - if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 2097 | - { | ||
| 2098 | - //回复操作失败 | ||
| 2099 | - HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 2100 | - JZSDK_LOG_ERROR("开启opus实时喊话失败"); | ||
| 2101 | - return ret; | ||
| 2102 | - } | ||
| 2103 | - | ||
| 2104 | - //1、修改接收模式 | ||
| 2105 | - HalRecv_tpye1_RecvDeal_Set_UartReceiveMode(Port, JZ_DATA_TRANS_TYPE_REAL_TIME_OPUS); | ||
| 2106 | - HalRecvDataLen = 0; | ||
| 2107 | - | ||
| 2108 | //2、获取码率倍率 默认8k*1倍 | 2500 | //2、获取码率倍率 默认8k*1倍 |
| 2109 | int RateMagnification = (int)getbuf[9]; | 2501 | int RateMagnification = (int)getbuf[9]; |
| 2110 | int Rate; | 2502 | int Rate; |
| @@ -2120,11 +2512,17 @@ static T_JZsdkReturnCode RecvDeal_Opus_RealTimeVoice_start(int Port, char *getbu | @@ -2120,11 +2512,17 @@ static T_JZsdkReturnCode RecvDeal_Opus_RealTimeVoice_start(int Port, char *getbu | ||
| 2120 | 2512 | ||
| 2121 | //3、打开实时语音模式 | 2513 | //3、打开实时语音模式 |
| 2122 | #ifdef MEGAPHONE_CONFIG_STATUS_ON | 2514 | #ifdef MEGAPHONE_CONFIG_STATUS_ON |
| 2123 | - Megaphone_RealTimeVoice_Start(Rate); | 2515 | + ret = Megaphone_RealTimeVoice_Start(Rate); |
| 2124 | #endif | 2516 | #endif |
| 2125 | 2517 | ||
| 2126 | - //4、通知成功打开语音发送模式 | 2518 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) |
| 2519 | + { | ||
| 2127 | HalSend_type1Send_Reply_Success(Port, FrameSequence); | 2520 | HalSend_type1Send_Reply_Success(Port, FrameSequence); |
| 2521 | + } | ||
| 2522 | + else | ||
| 2523 | + { | ||
| 2524 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 2525 | + } | ||
| 2128 | 2526 | ||
| 2129 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 2527 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 2130 | } | 2528 | } |
| @@ -2138,7 +2536,7 @@ static T_JZsdkReturnCode RecvDeal_Opus_RealTimeVoice_start(int Port, char *getbu | @@ -2138,7 +2536,7 @@ static T_JZsdkReturnCode RecvDeal_Opus_RealTimeVoice_start(int Port, char *getbu | ||
| 2138 | static T_JZsdkReturnCode RecvDeal_Opus_RealTimeVoice_LimitTransmission(int Port, char *getbuf, int len) | 2536 | static T_JZsdkReturnCode RecvDeal_Opus_RealTimeVoice_LimitTransmission(int Port, char *getbuf, int len) |
| 2139 | { | 2537 | { |
| 2140 | 2538 | ||
| 2141 | - T_JZsdkReturnCode ret; | 2539 | + T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| 2142 | 2540 | ||
| 2143 | //获取帧的序列号 | 2541 | //获取帧的序列号 |
| 2144 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | 2542 | int FrameSequence = JZsdk_Get_FrameSequence(getbuf); |
| @@ -2152,73 +2550,227 @@ static T_JZsdkReturnCode RecvDeal_Opus_RealTimeVoice_LimitTransmission(int Port, | @@ -2152,73 +2550,227 @@ static T_JZsdkReturnCode RecvDeal_Opus_RealTimeVoice_LimitTransmission(int Port, | ||
| 2152 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 2550 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| 2153 | } | 2551 | } |
| 2154 | 2552 | ||
| 2155 | - //判断是否是opus实时语音传输模式 | ||
| 2156 | - if (HalRecvMode != JZ_DATA_TRANS_TYPE_REAL_TIME_OPUS) | 2553 | + JZSDK_LOG_DEBUG("%s,传输opus定长语音传输中 长度:%d",JZsdk_DefineCode_GetPortName(Port), DataLen); |
| 2554 | + | ||
| 2555 | + //传输数据接口 | ||
| 2556 | +#ifdef MEGAPHONE_CONFIG_STATUS_ON | ||
| 2557 | + ret = Megaphone_RealTimeVoice_Trans(getbuf+9, DataLen); | ||
| 2558 | +#endif | ||
| 2559 | + | ||
| 2560 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 2157 | { | 2561 | { |
| 2158 | - //回复操作失败 | ||
| 2159 | - JZSDK_LOG_ERROR("%s,opus实时语音定长传输失败,未开启实时opus传输模式", JZsdk_DefineCode_GetPortName(Port)); | ||
| 2160 | HalSend_type1Send_Reply_Failure(Port, FrameSequence); | 2562 | HalSend_type1Send_Reply_Failure(Port, FrameSequence); |
| 2161 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 2162 | } | 2563 | } |
| 2163 | 2564 | ||
| 2164 | - HalRecvDataLen += DataLen; | ||
| 2165 | - JZSDK_LOG_DEBUG("%s,传输opus定长语音传输中 长度:%d,总长度:%d",JZsdk_DefineCode_GetPortName(Port), DataLen, HalRecvDataLen); | 2565 | + return ret; |
| 2566 | +} | ||
| 2166 | 2567 | ||
| 2167 | - //传输数据接口 | 2568 | + |
| 2569 | +/********* | ||
| 2570 | + * | ||
| 2571 | + * 关闭opus实时语音发送功能 | ||
| 2572 | + * | ||
| 2573 | + * | ||
| 2574 | +**********/ | ||
| 2575 | +static T_JZsdkReturnCode RecvDeal_Opus_RealTimeVoice_stop(int Port, char *getbuf) | ||
| 2576 | +{ | ||
| 2577 | + JZSDK_LOG_INFO("%s,关闭opus实时喊话功能",JZsdk_DefineCode_GetPortName(Port)); | ||
| 2578 | + | ||
| 2579 | + T_JZsdkReturnCode ret; | ||
| 2580 | + | ||
| 2581 | + //获取帧的序列号 | ||
| 2582 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
| 2583 | + | ||
| 2584 | + //2、关闭实时语音模式 | ||
| 2168 | #ifdef MEGAPHONE_CONFIG_STATUS_ON | 2585 | #ifdef MEGAPHONE_CONFIG_STATUS_ON |
| 2169 | - ret = Megaphone_RealTimeVoice_Trans(getbuf+9, DataLen); | 2586 | + ret = Megaphone_RealTimeVoice_Close(); |
| 2170 | #endif | 2587 | #endif |
| 2588 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 2589 | + { | ||
| 2590 | + //4、回复操作成功 | ||
| 2591 | + HalSend_type1Send_Reply_Success(Port, FrameSequence); | ||
| 2592 | + } | ||
| 2593 | + else | ||
| 2594 | + { | ||
| 2595 | + //4、回复操作失败 | ||
| 2596 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 2597 | + } | ||
| 2171 | 2598 | ||
| 2172 | return ret; | 2599 | return ret; |
| 2173 | } | 2600 | } |
| 2174 | 2601 | ||
| 2175 | 2602 | ||
| 2176 | -/********* | ||
| 2177 | - * | ||
| 2178 | - * 关闭opus实时语音发送功能 | ||
| 2179 | - * | ||
| 2180 | - * | ||
| 2181 | -**********/ | ||
| 2182 | -static T_JZsdkReturnCode RecvDeal_Opus_RealTimeVoice_stop(int Port, char *getbuf) | ||
| 2183 | -{ | ||
| 2184 | - JZSDK_LOG_INFO("%s,关闭opus实时喊话功能",JZsdk_DefineCode_GetPortName(Port)); | ||
| 2185 | 2603 | ||
| 2186 | - T_JZsdkReturnCode ret; | 2604 | +/******************************************************************************************************************************* |
| 2605 | + * | ||
| 2606 | + * pcm部分 | ||
| 2607 | + * | ||
| 2608 | + * *******************************************************************************************************************************/ | ||
| 2609 | + | ||
| 2610 | +/********************************* | ||
| 2611 | + * | ||
| 2612 | + * PCM播放 | ||
| 2613 | + * | ||
| 2614 | + * | ||
| 2615 | + * **********************************/ | ||
| 2616 | +static T_JZsdkReturnCode RecvDeal_PCM_Play(int Port, char *getbuf) | ||
| 2617 | +{ | ||
| 2618 | + T_JZsdkReturnCode ret; | ||
| 2619 | + | ||
| 2620 | + JZSDK_LOG_INFO("%s, PCM播放",JZsdk_DefineCode_GetPortName(Port)); | ||
| 2621 | + | ||
| 2622 | + //获取帧的序列号 | ||
| 2623 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
| 2624 | + | ||
| 2625 | + //分析pcm文件名 | ||
| 2626 | + unsigned char PcmName[128]; | ||
| 2627 | + unsigned int PcmNameLen = JZsdk_Get_FrameLength(getbuf) - 9 - 2; | ||
| 2628 | + if (PcmNameLen > 128) | ||
| 2629 | + { | ||
| 2630 | + //回复操作失败 | ||
| 2631 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 2632 | + | ||
| 2633 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 2634 | + } | ||
| 2635 | + | ||
| 2636 | + memset(PcmName, 0, sizeof(PcmName)); | ||
| 2637 | + memcpy(PcmName, &getbuf[10], PcmNameLen); | ||
| 2638 | + | ||
| 2639 | + ret = UIcontrol_Pcm_PlayListFile(Port, PcmName, PcmNameLen); | ||
| 2640 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 2641 | + { | ||
| 2642 | + //回复操作成功 | ||
| 2643 | + HalSend_type1Send_Reply_Success(Port, FrameSequence); | ||
| 2644 | + } | ||
| 2645 | + else | ||
| 2646 | + { | ||
| 2647 | + //回复操作失败 | ||
| 2648 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 2649 | + | ||
| 2650 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 2651 | + } | ||
| 2652 | + | ||
| 2653 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 2654 | +} | ||
| 2655 | + | ||
| 2656 | + | ||
| 2657 | + | ||
| 2658 | + | ||
| 2659 | +/********************************** | ||
| 2660 | + * | ||
| 2661 | + * pcm列表查询 | ||
| 2662 | + * | ||
| 2663 | + * | ||
| 2664 | + * **********************************/ | ||
| 2665 | +static T_JZsdkReturnCode RecvDeal_Get_PcmList(int Port, char *getbuf) | ||
| 2666 | +{ | ||
| 2667 | + T_JZsdkReturnCode ret; | ||
| 2668 | + | ||
| 2669 | + JZSDK_LOG_INFO("%s,pcm列表查询",JZsdk_DefineCode_GetPortName(Port)); | ||
| 2670 | + | ||
| 2671 | + //获取帧的序列号 | ||
| 2672 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
| 2673 | + | ||
| 2674 | +#ifdef MEGAPHONE_CONFIG_STATUS_ON | ||
| 2675 | + | ||
| 2676 | + //刷新pcm列表 | ||
| 2677 | + PcmFile_FlushList(); | ||
| 2678 | + | ||
| 2679 | + //获取opus总数 | ||
| 2680 | + int PcmFileCount = PcmFile_GetListNum(); | ||
| 2681 | + | ||
| 2682 | + //注册一个opus数组 | ||
| 2683 | + unsigned char **MusicName = (unsigned char **)malloc(PcmFileCount * sizeof(unsigned char*)); | ||
| 2684 | + if (MusicName == NULL) | ||
| 2685 | + { | ||
| 2686 | + //回复操作失败 | ||
| 2687 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 2688 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 2689 | + } | ||
| 2690 | + | ||
| 2691 | + //注册一个歌曲名字长度的数组 | ||
| 2692 | + int *MusicNameLength = (int *)malloc(PcmFileCount * sizeof(int)); | ||
| 2693 | + if (MusicNameLength == NULL) | ||
| 2694 | + { | ||
| 2695 | + free(MusicName); | ||
| 2696 | + //回复操作失败 | ||
| 2697 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 2698 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 2699 | + } | ||
| 2700 | + | ||
| 2701 | + //为每一首opus分配内存 | ||
| 2702 | + for (int i = 0; i < PcmFileCount; i++) | ||
| 2703 | + { | ||
| 2704 | + MusicName[i] = (unsigned char*)malloc(128 * sizeof(unsigned char)); | ||
| 2705 | + if (MusicName[i] == NULL) | ||
| 2706 | + { | ||
| 2707 | + // 内存分配失败,需要释放之前分配的内存 | ||
| 2708 | + for (int j = 0; j < i; j++) | ||
| 2709 | + { | ||
| 2710 | + free(MusicName[j]); | ||
| 2711 | + } | ||
| 2712 | + free(MusicNameLength); | ||
| 2713 | + free(MusicName); | ||
| 2714 | + | ||
| 2715 | + //回复操作失败 | ||
| 2716 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 2717 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 2718 | + } | ||
| 2719 | + | ||
| 2720 | + memset(MusicName[i], 0, 128 * sizeof(unsigned char)); | ||
| 2721 | + | ||
| 2722 | + //如果成功分配内存,则写入名字 | ||
| 2723 | + Megaphone_PcmFile_GetAudioNameByIndex(i, MusicName[i], &MusicNameLength[i]); | ||
| 2724 | + } | ||
| 2725 | + | ||
| 2726 | + JZSDK_LOG_DEBUG("pcm列表取出完成"); | ||
| 2187 | 2727 | ||
| 2188 | - //获取帧的序列号 | ||
| 2189 | - int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | 2728 | + //发送开始帧 |
| 2729 | + ret = HalSend_type1Send_Send_OpusList_Start(Port, FrameSequence, PcmFileCount); | ||
| 2190 | 2730 | ||
| 2191 | - if (HalRecvMode != JZ_DATA_TRANS_TYPE_REAL_TIME_OPUS) | 2731 | + for (int i = 0; i < PcmFileCount; i++) |
| 2732 | + { | ||
| 2733 | + //获取歌曲详细信息 | ||
| 2734 | + struct AudioMange_audio_struct AudioDetailMessage; | ||
| 2735 | + memset(&AudioDetailMessage, 0, sizeof(struct AudioMange_audio_struct)); | ||
| 2736 | + ret = PcmFile_GetAudioInfo(MusicName[i], MusicNameLength[i],&AudioDetailMessage); | ||
| 2737 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 2192 | { | 2738 | { |
| 2193 | //回复操作失败 | 2739 | //回复操作失败 |
| 2194 | HalSend_type1Send_Reply_Failure(Port, FrameSequence); | 2740 | HalSend_type1Send_Reply_Failure(Port, FrameSequence); |
| 2195 | - JZSDK_LOG_ERROR("关闭opus实时语音发送功能失败,opus实时语音发送功能未开始,无法关闭"); | ||
| 2196 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
| 2197 | - } | ||
| 2198 | 2741 | ||
| 2199 | - //1、修改接收模式 | ||
| 2200 | - HalRecv_tpye1_RecvDeal_Set_UartReceiveMode(Port, JZ_FLAGCODE_OFF); | ||
| 2201 | - JZSDK_LOG_INFO("一共播放了:%d的内容", HalRecvDataLen); | ||
| 2202 | - HalRecvDataLen = 0; | 2742 | + continue; |
| 2743 | + } | ||
| 2203 | 2744 | ||
| 2204 | - //2、关闭实时语音模式 | ||
| 2205 | -#ifdef MEGAPHONE_CONFIG_STATUS_ON | ||
| 2206 | - ret = Megaphone_RealTimeVoice_Close(); | ||
| 2207 | -#endif | ||
| 2208 | - if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | 2745 | + //发送opus列表 |
| 2746 | + ret = HalSend_type1Send_Send_OpusList_Trans(Port, FrameSequence, AudioDetailMessage.FileName, AudioDetailMessage.FileNameLen, AudioDetailMessage.FileSize, AudioDetailMessage.Time); | ||
| 2747 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 2209 | { | 2748 | { |
| 2210 | - //4、回复操作成功 | ||
| 2211 | - HalSend_type1Send_Reply_Success(Port, FrameSequence); | 2749 | + //回复操作失败 |
| 2750 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 2751 | + | ||
| 2752 | + continue; | ||
| 2212 | } | 2753 | } |
| 2213 | - else | 2754 | + } |
| 2755 | + | ||
| 2756 | + //释放存储的数据 | ||
| 2757 | + for (int i = 0; i < PcmFileCount; i++) | ||
| 2214 | { | 2758 | { |
| 2215 | - //4、回复操作失败 | ||
| 2216 | - HalSend_type1Send_Reply_Failure(Port, FrameSequence); | 2759 | + free(MusicName[i]); |
| 2217 | } | 2760 | } |
| 2218 | 2761 | ||
| 2219 | - return ret; | ||
| 2220 | -} | 2762 | + free(MusicNameLength); |
| 2763 | + free(MusicName); | ||
| 2221 | 2764 | ||
| 2765 | + //发送结束帧 | ||
| 2766 | + ret = HalSend_type1Send_Send_OpusList_Stop(Port, FrameSequence); | ||
| 2767 | + | ||
| 2768 | +#else | ||
| 2769 | + JZSDK_LOG_ERROR("非喊话器不支持pcm列表"); | ||
| 2770 | + //回复操作失败 | ||
| 2771 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 2772 | +#endif | ||
| 2773 | +} | ||
| 2222 | 2774 | ||
| 2223 | 2775 | ||
| 2224 | /******************************************************************************************************************************* | 2776 | /******************************************************************************************************************************* |
| @@ -2604,6 +3156,185 @@ static T_JZsdkReturnCode RecvDeal_Checkstatus_OutPutPower(int Port, char *getbuf | @@ -2604,6 +3156,185 @@ static T_JZsdkReturnCode RecvDeal_Checkstatus_OutPutPower(int Port, char *getbuf | ||
| 2604 | return ret; | 3156 | return ret; |
| 2605 | } | 3157 | } |
| 2606 | 3158 | ||
| 3159 | + | ||
| 3160 | + | ||
| 3161 | + | ||
| 3162 | + | ||
| 3163 | + | ||
| 3164 | + | ||
| 3165 | + | ||
| 3166 | + | ||
| 3167 | +/******************************************************************************************************************************* | ||
| 3168 | + * | ||
| 3169 | + * 升级部分 | ||
| 3170 | + * | ||
| 3171 | + * *******************************************************************************************************************************/ | ||
| 3172 | + | ||
| 3173 | +/********* | ||
| 3174 | + * | ||
| 3175 | + * 准备升级 | ||
| 3176 | + * | ||
| 3177 | +**********/ | ||
| 3178 | +static T_JZsdkReturnCode RecvDeal_Upgrade_Prepare(int Port, char *getbuf) | ||
| 3179 | +{ | ||
| 3180 | + T_JZsdkReturnCode ret; | ||
| 3181 | + | ||
| 3182 | + JZSDK_LOG_INFO("%s,准备升级",JZsdk_DefineCode_GetPortName(Port)); | ||
| 3183 | + | ||
| 3184 | + //获取帧的序列号 | ||
| 3185 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
| 3186 | + | ||
| 3187 | + int status = 0; | ||
| 3188 | + Upgrade_GetStatus(&status); | ||
| 3189 | + | ||
| 3190 | + //回复升级的准备状态 | ||
| 3191 | + HalSend_type1Send_Reply_ReadyForUpdate(Port, FrameSequence); | ||
| 3192 | + | ||
| 3193 | + return ret; | ||
| 3194 | +} | ||
| 3195 | + | ||
| 3196 | + | ||
| 3197 | +/********* | ||
| 3198 | + * | ||
| 3199 | + * 升级校验码 | ||
| 3200 | + * | ||
| 3201 | +**********/ | ||
| 3202 | +static T_JZsdkReturnCode RecvDeal_Upgrade_SendCheckCode(int Port, char *getbuf) | ||
| 3203 | +{ | ||
| 3204 | + T_JZsdkReturnCode ret; | ||
| 3205 | + | ||
| 3206 | + JZSDK_LOG_INFO("%s,升级校验码",JZsdk_DefineCode_GetPortName(Port)); | ||
| 3207 | + | ||
| 3208 | + //获取帧的序列号 | ||
| 3209 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
| 3210 | + | ||
| 3211 | + //解析出校验码 | ||
| 3212 | + unsigned char CheckCode[32]; | ||
| 3213 | + memcpy(CheckCode, getbuf + 9, 32); | ||
| 3214 | + | ||
| 3215 | + //将校验码放置到升级模块 | ||
| 3216 | + ret = Upgrade_PackageCheckCodeSave(CheckCode, JZSDK_CHECK_SUM_TYPE_MD5, 32); | ||
| 3217 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 3218 | + { | ||
| 3219 | + //回复校验码已收到 | ||
| 3220 | + HalSend_type1Send_Reply_UpgradeHaveRecvCheckCode(Port, 1); | ||
| 3221 | + } | ||
| 3222 | + else | ||
| 3223 | + { | ||
| 3224 | + //回复校验码已收到 | ||
| 3225 | + HalSend_type1Send_Reply_UpgradeHaveRecvCheckCode(Port, 0); | ||
| 3226 | + } | ||
| 3227 | + | ||
| 3228 | + return ret; | ||
| 3229 | +} | ||
| 3230 | + | ||
| 3231 | + | ||
| 3232 | +/********* | ||
| 3233 | + * | ||
| 3234 | + * 数据传输开始 | ||
| 3235 | + * | ||
| 3236 | +**********/ | ||
| 3237 | +static T_JZsdkReturnCode RecvDeal_Upgrade_Start(int Port, char *getbuf) | ||
| 3238 | +{ | ||
| 3239 | + T_JZsdkReturnCode ret; | ||
| 3240 | + | ||
| 3241 | + JZSDK_LOG_INFO("%s,数据传输开始",JZsdk_DefineCode_GetPortName(Port)); | ||
| 3242 | + | ||
| 3243 | + //获取帧的序列号 | ||
| 3244 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
| 3245 | + | ||
| 3246 | + ret = Upgrade_PackageDownload_Start(); | ||
| 3247 | + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 3248 | + { | ||
| 3249 | + //回复开始文件发送 | ||
| 3250 | + HalSend_type1Send_Reply_UpgradeStart(Port); | ||
| 3251 | + } | ||
| 3252 | + else | ||
| 3253 | + { | ||
| 3254 | + //回复开始文件发送失败 | ||
| 3255 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 3256 | + } | ||
| 3257 | + | ||
| 3258 | + return ret; | ||
| 3259 | +} | ||
| 3260 | + | ||
| 3261 | + | ||
| 3262 | +/********* | ||
| 3263 | + * | ||
| 3264 | + * 数据传输中 | ||
| 3265 | + * | ||
| 3266 | +**********/ | ||
| 3267 | +static T_JZsdkReturnCode RecvDeal_Upgrade_Trans(int Port, char *getbuf) | ||
| 3268 | +{ | ||
| 3269 | + T_JZsdkReturnCode ret; | ||
| 3270 | + | ||
| 3271 | + JZSDK_LOG_INFO("%s,数据传输中",JZsdk_DefineCode_GetPortName(Port)); | ||
| 3272 | + | ||
| 3273 | + //获取帧的序列号 | ||
| 3274 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
| 3275 | + | ||
| 3276 | + //解析数据长度 | ||
| 3277 | + int FrameLength = JZsdk_Get_FrameLength(getbuf); | ||
| 3278 | + int BufLen = FrameLength - 8 -2; | ||
| 3279 | + | ||
| 3280 | + ret = Upgrade_PackageDownload_Trans(&getbuf[9], BufLen); | ||
| 3281 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 3282 | + { | ||
| 3283 | + //回复数据传输失败 | ||
| 3284 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 3285 | + } | ||
| 3286 | + | ||
| 3287 | + return ret; | ||
| 3288 | +} | ||
| 3289 | + | ||
| 3290 | + | ||
| 3291 | +/********* | ||
| 3292 | + * | ||
| 3293 | + * 数据传输结束 | ||
| 3294 | + * | ||
| 3295 | +**********/ | ||
| 3296 | +static T_JZsdkReturnCode RecvDeal_Upgrade_End(int Port, char *getbuf) | ||
| 3297 | +{ | ||
| 3298 | + T_JZsdkReturnCode ret; | ||
| 3299 | + | ||
| 3300 | + JZSDK_LOG_INFO("%s,数据传输结束",JZsdk_DefineCode_GetPortName(Port)); | ||
| 3301 | + | ||
| 3302 | + //获取帧的序列号 | ||
| 3303 | + int FrameSequence = JZsdk_Get_FrameSequence(getbuf); | ||
| 3304 | + | ||
| 3305 | + ret = Upgrade_PackageDownload_Stop(); | ||
| 3306 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 3307 | + { | ||
| 3308 | + //回复数据传输失败 | ||
| 3309 | + HalSend_type1Send_Reply_Failure(Port, FrameSequence); | ||
| 3310 | + return ret; | ||
| 3311 | + } | ||
| 3312 | + else | ||
| 3313 | + { | ||
| 3314 | + //回复结束文件传输 | ||
| 3315 | + HalSend_type1Send_Reply_UpgradeEnd(Port); | ||
| 3316 | + } | ||
| 3317 | + | ||
| 3318 | + //回复完成后,开始校验 | ||
| 3319 | + ret = Upgrade_PackageCheck(); | ||
| 3320 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
| 3321 | + { | ||
| 3322 | + HalSend_type1Send_Reply_UpgradeCheckResult(Port, 1); | ||
| 3323 | + return ret; | ||
| 3324 | + } | ||
| 3325 | + | ||
| 3326 | + //回复校验成功 | ||
| 3327 | + HalSend_type1Send_Reply_UpgradeCheckResult(Port, 0); | ||
| 3328 | + | ||
| 3329 | + //开始升级 | ||
| 3330 | + Upgrade_PackageUpgrade(); | ||
| 3331 | + | ||
| 3332 | + return ret; | ||
| 3333 | +} | ||
| 3334 | + | ||
| 3335 | + | ||
| 3336 | + | ||
| 3337 | + | ||
| 2607 | /******************************************************************************************************************************* | 3338 | /******************************************************************************************************************************* |
| 2608 | * | 3339 | * |
| 2609 | * 警灯部分 | 3340 | * 警灯部分 |
| @@ -2802,9 +3533,9 @@ static T_JZsdkReturnCode RecvDeal_ObtainTimeStamp(int Port, unsigned char *getbu | @@ -2802,9 +3533,9 @@ static T_JZsdkReturnCode RecvDeal_ObtainTimeStamp(int Port, unsigned char *getbu | ||
| 2802 | } | 3533 | } |
| 2803 | 3534 | ||
| 2804 | // 提取年、月、日 | 3535 | // 提取年、月、日 |
| 2805 | - int year = tm_info->tm_year + 1900; // 注意:tm_year是从1900年开始的 | 3536 | + int year = tm_info->tm_year + 1980; // 注意:tm_year是从1980年开始的 |
| 2806 | int month = tm_info->tm_mon + 1; // 注意:tm_mon是从0开始的(0=1月,11=12月) | 3537 | int month = tm_info->tm_mon + 1; // 注意:tm_mon是从0开始的(0=1月,11=12月) |
| 2807 | - int day = tm_info->tm_mday; | 3538 | + int day = tm_info->tm_mday + 6; |
| 2808 | 3539 | ||
| 2809 | JZSDK_LOG_INFO("获得年份: %d, 月份: %d, 日期: %d", year, month, day); | 3540 | JZSDK_LOG_INFO("获得年份: %d, 月份: %d, 日期: %d", year, month, day); |
| 2810 | 3541 | ||
| @@ -2817,6 +3548,9 @@ static T_JZsdkReturnCode RecvDeal_ObtainTimeStamp(int Port, unsigned char *getbu | @@ -2817,6 +3548,9 @@ static T_JZsdkReturnCode RecvDeal_ObtainTimeStamp(int Port, unsigned char *getbu | ||
| 2817 | JZSDK_LOG_ERROR("设置系统时间失败"); | 3548 | JZSDK_LOG_ERROR("设置系统时间失败"); |
| 2818 | } | 3549 | } |
| 2819 | 3550 | ||
| 3551 | + //设置gps时间 | ||
| 3552 | + Attribute_SetGpsTime((T_JZsdkAttributeGpsTime)TimeStamp); | ||
| 3553 | + | ||
| 2820 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 3554 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 2821 | } | 3555 | } |
| 2822 | 3556 | ||
| @@ -2837,12 +3571,24 @@ static T_JZsdkReturnCode RecvDeal_ObtainAllVersion(int Port, unsigned char *getb | @@ -2837,12 +3571,24 @@ static T_JZsdkReturnCode RecvDeal_ObtainAllVersion(int Port, unsigned char *getb | ||
| 2837 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 3571 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 2838 | } | 3572 | } |
| 2839 | 3573 | ||
| 3574 | + //查看设备id是否已存在到本地 | ||
| 3575 | + if(DeviceInfo_IsExist(DeviceId) != JZ_FLAGCODE_ON) | ||
| 3576 | + { | ||
| 3577 | + DeviceInfo_IncreaseDeviceId(DeviceId); | ||
| 3578 | + } | ||
| 3579 | + | ||
| 2840 | //设置到本地 | 3580 | //设置到本地 |
| 2841 | - DeviceInfo_SetAllVerision(DeviceId, MajorVersion, MinjorVersion, ModifyVersion, DebugVersion); | 3581 | + DeviceInfo_IncreaseVersion(DeviceId, MajorVersion, MinjorVersion, ModifyVersion, DebugVersion); |
| 2842 | 3582 | ||
| 2843 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 3583 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 2844 | } | 3584 | } |
| 2845 | 3585 | ||
| 3586 | +/******************** | ||
| 3587 | + * | ||
| 3588 | + * 接收到序列号 | ||
| 3589 | + * | ||
| 3590 | + * | ||
| 3591 | + * **********************/ | ||
| 2846 | static T_JZsdkReturnCode RecvDeal_ObtainAllSerialNumber(int Port, unsigned char *getbuf) | 3592 | static T_JZsdkReturnCode RecvDeal_ObtainAllSerialNumber(int Port, unsigned char *getbuf) |
| 2847 | { | 3593 | { |
| 2848 | int DeviceId = getbuf[9]; | 3594 | int DeviceId = getbuf[9]; |
| @@ -2856,14 +3602,14 @@ static T_JZsdkReturnCode RecvDeal_ObtainAllSerialNumber(int Port, unsigned char | @@ -2856,14 +3602,14 @@ static T_JZsdkReturnCode RecvDeal_ObtainAllSerialNumber(int Port, unsigned char | ||
| 2856 | 3602 | ||
| 2857 | JZSDK_LOG_INFO("获得到全部序列号帧, 设备0x%x, %s",DeviceId, SerialNumber); | 3603 | JZSDK_LOG_INFO("获得到全部序列号帧, 设备0x%x, %s",DeviceId, SerialNumber); |
| 2858 | 3604 | ||
| 2859 | - if (DeviceId == DEVICE_VERSION) | 3605 | + //查看设备id是否已存在到本地 |
| 3606 | + if(DeviceInfo_IsExist(DeviceId) != JZ_FLAGCODE_ON) | ||
| 2860 | { | 3607 | { |
| 2861 | - JZSDK_LOG_INFO("不处理本地版本信息"); | ||
| 2862 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 3608 | + DeviceInfo_IncreaseDeviceId(DeviceId); |
| 2863 | } | 3609 | } |
| 2864 | 3610 | ||
| 2865 | //设置到本地 | 3611 | //设置到本地 |
| 2866 | - DeviceInfo_SetAllSerialNumber(DeviceId, SerialNumber, SerialNumberLen); | 3612 | + DeviceInfo_IncreaseSerialNumber(DeviceId, SerialNumber, SerialNumberLen); |
| 2867 | 3613 | ||
| 2868 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 3614 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 2869 | } | 3615 | } |
| @@ -3157,6 +3903,7 @@ static T_JZsdkReturnCode RecvDeal_QuerySecondaryDeviceName(int Port, char *getbu | @@ -3157,6 +3903,7 @@ static T_JZsdkReturnCode RecvDeal_QuerySecondaryDeviceName(int Port, char *getbu | ||
| 3157 | 3903 | ||
| 3158 | //2、获取当前从设备名 | 3904 | //2、获取当前从设备名 |
| 3159 | int SecondaryName = SecondaryDeviceName; | 3905 | int SecondaryName = SecondaryDeviceName; |
| 3906 | + JZSDK_LOG_INFO("当前从设备为:%d", SecondaryName); | ||
| 3160 | 3907 | ||
| 3161 | //3、回复当前从设备名 | 3908 | //3、回复当前从设备名 |
| 3162 | HalSend_type1Send_Reply_SecondaryDeviceName(Port ,SecondaryName, FrameSequence); | 3909 | HalSend_type1Send_Reply_SecondaryDeviceName(Port ,SecondaryName, FrameSequence); |
| @@ -3311,8 +4058,31 @@ static T_JZsdkReturnCode RecvDeal_Checkstatus_GimbalLinkage(int Port, char *getb | @@ -3311,8 +4058,31 @@ static T_JZsdkReturnCode RecvDeal_Checkstatus_GimbalLinkage(int Port, char *getb | ||
| 3311 | return ret; | 4058 | return ret; |
| 3312 | } | 4059 | } |
| 3313 | 4060 | ||
| 4061 | + | ||
| 4062 | +static T_JZTaskHandle g_UartReinit_task = NULL; | ||
| 4063 | + | ||
| 4064 | +static void *UartReinit_thread(void *arg) | ||
| 4065 | +{ | ||
| 4066 | + int *arg_value = (int *)arg; | ||
| 4067 | + | ||
| 4068 | + int Port = arg_value[0]; | ||
| 4069 | + | ||
| 4070 | + int Value[1]; | ||
| 4071 | + Value[0]= arg_value[1]; | ||
| 4072 | + | ||
| 4073 | + | ||
| 4074 | + JZsdk_HalPort_ReInit(Port, Value); | ||
| 4075 | + | ||
| 4076 | + JZSDK_LOG_INFO("串口重置完毕"); | ||
| 4077 | + | ||
| 4078 | + free(arg); | ||
| 4079 | +} | ||
| 4080 | + | ||
| 4081 | + | ||
| 3314 | static T_JZsdkReturnCode RecvDeal_UartBitrateChange(int Port, char *getbuf) | 4082 | static T_JZsdkReturnCode RecvDeal_UartBitrateChange(int Port, char *getbuf) |
| 3315 | { | 4083 | { |
| 4084 | + T_JZsdkOsalHandler *osalHandler = JZsdk_Platform_GetOsalHandler(); | ||
| 4085 | + | ||
| 3316 | JZSDK_LOG_INFO("%s,收到串口比特率修改",JZsdk_DefineCode_GetPortName(Port)); | 4086 | JZSDK_LOG_INFO("%s,收到串口比特率修改",JZsdk_DefineCode_GetPortName(Port)); |
| 3317 | 4087 | ||
| 3318 | //获取帧的序列号 | 4088 | //获取帧的序列号 |
| @@ -3349,8 +4119,14 @@ static T_JZsdkReturnCode RecvDeal_UartBitrateChange(int Port, char *getbuf) | @@ -3349,8 +4119,14 @@ static T_JZsdkReturnCode RecvDeal_UartBitrateChange(int Port, char *getbuf) | ||
| 3349 | break; | 4119 | break; |
| 3350 | } | 4120 | } |
| 3351 | 4121 | ||
| 3352 | - int Value[1] = {BitRate}; | ||
| 3353 | - JZsdk_HalPort_ReInit(Port, Value); | 4122 | + int *arg = (int *)malloc(sizeof(int) * 2); |
| 4123 | + arg[0] = Port; | ||
| 4124 | + arg[1] = BitRate; | ||
| 4125 | + | ||
| 4126 | + //使用一个线程用于修改比特率 | ||
| 4127 | + osalHandler->TaskCreate("UartReinit_task", UartReinit_thread, 8192, arg, &g_UartReinit_task); | ||
| 4128 | + | ||
| 4129 | + JZSDK_LOG_INFO("已创建串口重置线程"); | ||
| 3354 | 4130 | ||
| 3355 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 4131 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 3356 | } | 4132 | } |
| @@ -3505,8 +4281,7 @@ static T_JZsdkReturnCode RecvDeal_ObtainSecondaryDeviceName(int Port, char *getb | @@ -3505,8 +4281,7 @@ static T_JZsdkReturnCode RecvDeal_ObtainSecondaryDeviceName(int Port, char *getb | ||
| 3505 | printf("设置本地从设备名%x\n", value1); | 4281 | printf("设置本地从设备名%x\n", value1); |
| 3506 | SecondaryDeviceName = value1; | 4282 | SecondaryDeviceName = value1; |
| 3507 | 4283 | ||
| 3508 | - //设置本地从设备名 | ||
| 3509 | - DeviceInfo_SetDeviceName(Port, value1); | 4284 | + DeviceInfo_IncreaseDeviceId(value1); |
| 3510 | 4285 | ||
| 3511 | //广播从设备名 | 4286 | //广播从设备名 |
| 3512 | UIcontrol_Broadcast_SecondaryDeviceName(value1); | 4287 | UIcontrol_Broadcast_SecondaryDeviceName(value1); |
| @@ -3514,6 +4289,7 @@ static T_JZsdkReturnCode RecvDeal_ObtainSecondaryDeviceName(int Port, char *getb | @@ -3514,6 +4289,7 @@ static T_JZsdkReturnCode RecvDeal_ObtainSecondaryDeviceName(int Port, char *getb | ||
| 3514 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 4289 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 3515 | } | 4290 | } |
| 3516 | 4291 | ||
| 4292 | + | ||
| 3517 | /******************************************************************************************************************************* | 4293 | /******************************************************************************************************************************* |
| 3518 | * | 4294 | * |
| 3519 | * 云台相关 | 4295 | * 云台相关 |
| @@ -3650,6 +4426,12 @@ static T_JZsdkReturnCode RecvDeal_InstructInput(int Port, int Receive_mode, unsi | @@ -3650,6 +4426,12 @@ static T_JZsdkReturnCode RecvDeal_InstructInput(int Port, int Receive_mode, unsi | ||
| 3650 | return 0; | 4426 | return 0; |
| 3651 | break; | 4427 | break; |
| 3652 | 4428 | ||
| 4429 | + //预设任务帧 | ||
| 4430 | + case JZ_INSCODE_5AFRAME_PRESET_TASK: | ||
| 4431 | + RecvDeal_PresetTask(Port,getbuf); | ||
| 4432 | + return 0; | ||
| 4433 | + break; | ||
| 4434 | + | ||
| 3653 | //获取设备信息 | 4435 | //获取设备信息 |
| 3654 | case JZ_INSCODE_5AFRAME_DEVICE_MESSAGE: | 4436 | case JZ_INSCODE_5AFRAME_DEVICE_MESSAGE: |
| 3655 | RecvDeal_GetDeviceMessage(Port,getbuf); | 4437 | RecvDeal_GetDeviceMessage(Port,getbuf); |
| @@ -3832,13 +4614,37 @@ static T_JZsdkReturnCode RecvDeal_InstructInput(int Port, int Receive_mode, unsi | @@ -3832,13 +4614,37 @@ static T_JZsdkReturnCode RecvDeal_InstructInput(int Port, int Receive_mode, unsi | ||
| 3832 | return 0; | 4614 | return 0; |
| 3833 | break; | 4615 | break; |
| 3834 | 4616 | ||
| 4617 | + //音频重命名 | ||
| 4618 | + case JZ_INSCODE_5AFRAME_RENAME_AUDIO: | ||
| 4619 | + RecvDeal_Rename_Audio(Port,getbuf); | ||
| 4620 | + return 0; | ||
| 4621 | + break; | ||
| 4622 | + | ||
| 4623 | + //录音重命名 | ||
| 4624 | + case JZ_INSCODE_5AFRAME_RENAME_VOICE_RECORD: | ||
| 4625 | + RecvDeal_Rename_VoiceRecord(Port,getbuf); | ||
| 4626 | + return 0; | ||
| 4627 | + break; | ||
| 4628 | + | ||
| 4629 | + //视频重命名 | ||
| 4630 | + case JZ_INSCODE_5AFRAME_RENAME_VIDEO_RECORD: | ||
| 4631 | + RecvDeal_Rename_VideoRecord(Port,getbuf); | ||
| 4632 | + return 0; | ||
| 4633 | + break; | ||
| 3835 | 4634 | ||
| 3836 | //打开opus传输 | 4635 | //打开opus传输 |
| 3837 | - case JZ_INSCODE_5AFRAME_OPUS_TRANS_START: | 4636 | + case JZ_INSCODE_5AFRAME_OPUS_TRANS_START_1: |
| 3838 | RecvDeal_OpusTrans_start(Port,getbuf); | 4637 | RecvDeal_OpusTrans_start(Port,getbuf); |
| 3839 | return 0; | 4638 | return 0; |
| 3840 | break; | 4639 | break; |
| 3841 | 4640 | ||
| 4641 | + | ||
| 4642 | + //传输opus文件数据2型 | ||
| 4643 | + case JZ_INSCODE_5AFRAME_OPUS_TRANS_START_2: | ||
| 4644 | + RecvDeal_OpusTrans_start_2(Port,getbuf); | ||
| 4645 | + return 0; | ||
| 4646 | + break; | ||
| 4647 | + | ||
| 3842 | //传输定长opus文件数据 | 4648 | //传输定长opus文件数据 |
| 3843 | case JZ_INSCODE_5AFRAME_OPUS_TRANS_LIMIT_TRANSMISSION: | 4649 | case JZ_INSCODE_5AFRAME_OPUS_TRANS_LIMIT_TRANSMISSION: |
| 3844 | RecvDeal_OpusTrans_LimitTransmission(Port,getbuf, len); | 4650 | RecvDeal_OpusTrans_LimitTransmission(Port,getbuf, len); |
| @@ -3863,7 +4669,6 @@ static T_JZsdkReturnCode RecvDeal_InstructInput(int Port, int Receive_mode, unsi | @@ -3863,7 +4669,6 @@ static T_JZsdkReturnCode RecvDeal_InstructInput(int Port, int Receive_mode, unsi | ||
| 3863 | return 0; | 4669 | return 0; |
| 3864 | break; | 4670 | break; |
| 3865 | 4671 | ||
| 3866 | - | ||
| 3867 | //开启opus实时喊话 | 4672 | //开启opus实时喊话 |
| 3868 | case JZ_INSCODE_5AFRAME_OPUS_REALTIMEVOICE_START: | 4673 | case JZ_INSCODE_5AFRAME_OPUS_REALTIMEVOICE_START: |
| 3869 | RecvDeal_Opus_RealTimeVoice_start(Port,getbuf); | 4674 | RecvDeal_Opus_RealTimeVoice_start(Port,getbuf); |
| @@ -3882,6 +4687,18 @@ static T_JZsdkReturnCode RecvDeal_InstructInput(int Port, int Receive_mode, unsi | @@ -3882,6 +4687,18 @@ static T_JZsdkReturnCode RecvDeal_InstructInput(int Port, int Receive_mode, unsi | ||
| 3882 | return 0; | 4687 | return 0; |
| 3883 | break; | 4688 | break; |
| 3884 | 4689 | ||
| 4690 | + //PCM播放 | ||
| 4691 | + case JZ_INSCODE_5AFRAME_PCM_PLAY: | ||
| 4692 | + RecvDeal_PCM_Play(Port,getbuf); | ||
| 4693 | + return 0; | ||
| 4694 | + break; | ||
| 4695 | + | ||
| 4696 | + //获取Pcm列表 | ||
| 4697 | + case JZ_INSCODE_5AFRAME_PCM_GETPCMLIST: | ||
| 4698 | + RecvDeal_Get_PcmList(Port,getbuf); | ||
| 4699 | + return 0; | ||
| 4700 | + break; | ||
| 4701 | + | ||
| 3885 | //云台控制 | 4702 | //云台控制 |
| 3886 | case JZ_INSCODE_5AFRAME_GIMBAL_PITCH_CONTROL: | 4703 | case JZ_INSCODE_5AFRAME_GIMBAL_PITCH_CONTROL: |
| 3887 | RecvDeal_Gimbal_PitchControl(Port,getbuf); | 4704 | RecvDeal_Gimbal_PitchControl(Port,getbuf); |
| @@ -3922,6 +4739,17 @@ static T_JZsdkReturnCode RecvDeal_InstructInput(int Port, int Receive_mode, unsi | @@ -3922,6 +4739,17 @@ static T_JZsdkReturnCode RecvDeal_InstructInput(int Port, int Receive_mode, unsi | ||
| 3922 | return 0; | 4739 | return 0; |
| 3923 | break; | 4740 | break; |
| 3924 | 4741 | ||
| 4742 | + //开关播放时间回传 | ||
| 4743 | + case JZ_INSCODE_5AFRAME_CURRENT_PLAY_TIME: | ||
| 4744 | + RecvDeal_Current_Play_Time(Port,getbuf); | ||
| 4745 | + return 0; | ||
| 4746 | + break; | ||
| 4747 | + | ||
| 4748 | + //检查是否开启播放时间回传 | ||
| 4749 | + case JZ_INSCODE_5AFRAME_CHECKSTATUS_CURRENT_PLAYTIME: | ||
| 4750 | + RecvDeal_CheckStatus_CurrentPlayTime(Port,getbuf); | ||
| 4751 | + return 0; | ||
| 4752 | + break; | ||
| 3925 | 4753 | ||
| 3926 | //音频列表获取 | 4754 | //音频列表获取 |
| 3927 | case JZ_INSCODE_5AFRAME_AUDIO_GETMUSICLIST: | 4755 | case JZ_INSCODE_5AFRAME_AUDIO_GETMUSICLIST: |
| @@ -3998,6 +4826,34 @@ static T_JZsdkReturnCode RecvDeal_InstructInput(int Port, int Receive_mode, unsi | @@ -3998,6 +4826,34 @@ static T_JZsdkReturnCode RecvDeal_InstructInput(int Port, int Receive_mode, unsi | ||
| 3998 | 4826 | ||
| 3999 | 4827 | ||
| 4000 | 4828 | ||
| 4829 | + //升级部分 | ||
| 4830 | + | ||
| 4831 | + //准备升级 | ||
| 4832 | + case JZ_INSCODE_5AFRAME_UPGRADE_PERPARE: | ||
| 4833 | + RecvDeal_Upgrade_Prepare(Port,getbuf); | ||
| 4834 | + break; | ||
| 4835 | + | ||
| 4836 | + //升级校验码 | ||
| 4837 | + case JZ_INSCODE_5AFRAME_UPGRADE_SEND_CHECKCODE: | ||
| 4838 | + RecvDeal_Upgrade_SendCheckCode(Port,getbuf); | ||
| 4839 | + break; | ||
| 4840 | + | ||
| 4841 | + //数据传输开始 | ||
| 4842 | + case JZ_INSCODE_5AFRAME_UPGRADE_STRAT: | ||
| 4843 | + RecvDeal_Upgrade_Start(Port,getbuf); | ||
| 4844 | + break; | ||
| 4845 | + | ||
| 4846 | + //数据传输中 | ||
| 4847 | + case JZ_INSCODE_5AFRAME_UPGRADE_TRANS: | ||
| 4848 | + RecvDeal_Upgrade_Trans(Port,getbuf); | ||
| 4849 | + break; | ||
| 4850 | + | ||
| 4851 | + //数据传输结束 | ||
| 4852 | + case JZ_INSCODE_5AFRAME_UPGRADE_END: | ||
| 4853 | + RecvDeal_Upgrade_End(Port,getbuf); | ||
| 4854 | + break; | ||
| 4855 | + | ||
| 4856 | + | ||
| 4001 | /******************************************************************************************************************************* | 4857 | /******************************************************************************************************************************* |
| 4002 | * | 4858 | * |
| 4003 | * 5B类部分 | 4859 | * 5B类部分 |
| @@ -4293,9 +5149,6 @@ static T_JZsdkReturnCode HalRecv_tpye1_RecvDeal_Set_UartReceiveMode(int Port, in | @@ -4293,9 +5149,6 @@ static T_JZsdkReturnCode HalRecv_tpye1_RecvDeal_Set_UartReceiveMode(int Port, in | ||
| 4293 | static T_JZsdkReturnCode HalRecv_tpye1_RecvDeal_UartTransmodeDecide() | 5149 | static T_JZsdkReturnCode HalRecv_tpye1_RecvDeal_UartTransmodeDecide() |
| 4294 | { | 5150 | { |
| 4295 | if ((HalRecvMode == JZ_DATA_TRANS_TYPE_REAL_TIME_MP2 ) //mp2实时语音传输模式 | 5151 | if ((HalRecvMode == JZ_DATA_TRANS_TYPE_REAL_TIME_MP2 ) //mp2实时语音传输模式 |
| 4296 | - || (HalRecvMode == JZ_DATA_TRANS_TYPE_AUDIO_FILE) //音频文件传输模式 | ||
| 4297 | - || (HalRecvMode == JZ_DATA_TRANS_TYPE_OPUS_FILE) //opus无限制传输模式 | ||
| 4298 | - || (HalRecvMode == JZ_DATA_TRANS_TYPE_REAL_TIME_OPUS) //opus实时语音无限制传输模式 | ||
| 4299 | || (HalRecvMode == JZ_DATA_TRANS_TYPE_TTS)) //TTS无限制传输模式) | 5152 | || (HalRecvMode == JZ_DATA_TRANS_TYPE_TTS)) //TTS无限制传输模式) |
| 4300 | { | 5153 | { |
| 4301 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 5154 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
| @@ -3,9 +3,8 @@ | @@ -3,9 +3,8 @@ | ||
| 3 | 3 | ||
| 4 | #include "JZsdk_uart/JZsdk_Uart_UartDeal.h" | 4 | #include "JZsdk_uart/JZsdk_Uart_UartDeal.h" |
| 5 | 5 | ||
| 6 | +#include "Hal_Send/HalSend.h" | ||
| 6 | 7 | ||
| 7 | -#define SINGLE_THREAD_SEND 0 | ||
| 8 | -#define MULTI_THREAD_SEND 1 | ||
| 9 | 8 | ||
| 10 | /***************************** | 9 | /***************************** |
| 11 | * | 10 | * |
| @@ -33,11 +32,11 @@ T_JZsdkReturnCode HalSend_SendData(unsigned int Port, unsigned char *Data, unsig | @@ -33,11 +32,11 @@ T_JZsdkReturnCode HalSend_SendData(unsigned int Port, unsigned char *Data, unsig | ||
| 33 | case UART_DEV_3: | 32 | case UART_DEV_3: |
| 34 | case UART_DEV_4: | 33 | case UART_DEV_4: |
| 35 | case UART_DEV_5: | 34 | case UART_DEV_5: |
| 36 | - if (SendType == SINGLE_THREAD_SEND) | 35 | + if (SendType == MULTI_THREAD_SEND) |
| 37 | { | 36 | { |
| 38 | JZsdk_Uart_UartSend(Port, Data, DataLen); | 37 | JZsdk_Uart_UartSend(Port, Data, DataLen); |
| 39 | } | 38 | } |
| 40 | - else if (SendType == MULTI_THREAD_SEND) | 39 | + else if (SendType == SINGLE_THREAD_SEND) |
| 41 | { | 40 | { |
| 42 | JZsdk_Uart_UartSend_NotTask(Port, Data, DataLen); | 41 | JZsdk_Uart_UartSend_NotTask(Port, Data, DataLen); |
| 43 | } | 42 | } |
| @@ -20,11 +20,13 @@ extern "C" { | @@ -20,11 +20,13 @@ extern "C" { | ||
| 20 | 20 | ||
| 21 | /* Exported constants --------------------------------------------------------*/ | 21 | /* Exported constants --------------------------------------------------------*/ |
| 22 | /* 常亮定义*/ | 22 | /* 常亮定义*/ |
| 23 | - | 23 | +#define SINGLE_THREAD_SEND 0 |
| 24 | +#define MULTI_THREAD_SEND 1 | ||
| 24 | 25 | ||
| 25 | /* Exported types ------------------------------------------------------------*/ | 26 | /* Exported types ------------------------------------------------------------*/ |
| 26 | 27 | ||
| 27 | /* Exported functions --------------------------------------------------------*/ | 28 | /* Exported functions --------------------------------------------------------*/ |
| 29 | + | ||
| 28 | T_JZsdkReturnCode HalSend_SendData(unsigned int Port, unsigned char *Data, unsigned int DataLen, unsigned int SendType); | 30 | T_JZsdkReturnCode HalSend_SendData(unsigned int Port, unsigned char *Data, unsigned int DataLen, unsigned int SendType); |
| 29 | 31 | ||
| 30 | 32 |
| @@ -41,7 +41,7 @@ T_JZsdkReturnCode HalSend_type1Send_Send_Connect(int Uartport , int FrameSequenc | @@ -41,7 +41,7 @@ T_JZsdkReturnCode HalSend_type1Send_Send_Connect(int Uartport , int FrameSequenc | ||
| 41 | sendbuf[6] = FrameSequence; //帧序列 | 41 | sendbuf[6] = FrameSequence; //帧序列 |
| 42 | 42 | ||
| 43 | //3、发送帧 | 43 | //3、发送帧 |
| 44 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 44 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 45 | 45 | ||
| 46 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 46 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 47 | } | 47 | } |
| @@ -62,7 +62,7 @@ T_JZsdkReturnCode HalSend_type1Send_Send_HeartBeatStatus(int Uartport , int Fram | @@ -62,7 +62,7 @@ T_JZsdkReturnCode HalSend_type1Send_Send_HeartBeatStatus(int Uartport , int Fram | ||
| 62 | sendbuf[6] = FrameSequence; //帧序列 | 62 | sendbuf[6] = FrameSequence; //帧序列 |
| 63 | 63 | ||
| 64 | //3、发送帧 | 64 | //3、发送帧 |
| 65 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 65 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 66 | 66 | ||
| 67 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 67 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 68 | } | 68 | } |
| @@ -82,27 +82,27 @@ T_JZsdkReturnCode HalSend_type1Send_Set_PowerStatus(int Uartport, int FrameSeque | @@ -82,27 +82,27 @@ T_JZsdkReturnCode HalSend_type1Send_Set_PowerStatus(int Uartport, int FrameSeque | ||
| 82 | sendbuf[6] = FrameSequence; //帧序列 | 82 | sendbuf[6] = FrameSequence; //帧序列 |
| 83 | 83 | ||
| 84 | //2、发送帧 | 84 | //2、发送帧 |
| 85 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 85 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 86 | 86 | ||
| 87 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 87 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 88 | } | 88 | } |
| 89 | 89 | ||
| 90 | -//请求心跳帧 | ||
| 91 | -T_JZsdkReturnCode HalSend_type1Send_Ask_HeartBeatStatus(int Uartport , int FrameSequence,int HeartBeatStatus) | 90 | +//发送心跳帧 |
| 91 | +T_JZsdkReturnCode HalSend_type1Send_HeartBeatStatus(int Uartport , int FrameSequence,int HeartBeatStatus) | ||
| 92 | { | 92 | { |
| 93 | - printf("发送请求心跳帧\n"); | 93 | + printf("发送心跳帧\n"); |
| 94 | 94 | ||
| 95 | unsigned char sendbuf[256]; | 95 | unsigned char sendbuf[256]; |
| 96 | int send_buf_len; | 96 | int send_buf_len; |
| 97 | 97 | ||
| 98 | //1、获取帧样板 | 98 | //1、获取帧样板 |
| 99 | - JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_HEARTBEAT, sendbuf, &send_buf_len); | 99 | + JZsdk_GetFrameTemplate(JZ_INSCODE_5BFRAME_HEARTBEAT, sendbuf, &send_buf_len); |
| 100 | 100 | ||
| 101 | sendbuf[9] = HeartBeatStatus; | 101 | sendbuf[9] = HeartBeatStatus; |
| 102 | sendbuf[6] = FrameSequence; //帧序列 | 102 | sendbuf[6] = FrameSequence; //帧序列 |
| 103 | 103 | ||
| 104 | //2、发送帧 | 104 | //2、发送帧 |
| 105 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 105 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 106 | 106 | ||
| 107 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 107 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 108 | } | 108 | } |
| @@ -121,7 +121,7 @@ T_JZsdkReturnCode HalSend_type1Send_Ask_TimeStamp(int Uartport , int FrameSequen | @@ -121,7 +121,7 @@ T_JZsdkReturnCode HalSend_type1Send_Ask_TimeStamp(int Uartport , int FrameSequen | ||
| 121 | sendbuf[6] = FrameSequence; //帧序列 | 121 | sendbuf[6] = FrameSequence; //帧序列 |
| 122 | 122 | ||
| 123 | //2、发送帧 | 123 | //2、发送帧 |
| 124 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 124 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 125 | 125 | ||
| 126 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 126 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 127 | } | 127 | } |
| @@ -145,7 +145,7 @@ T_JZsdkReturnCode HalSend_type1Send_SendAllVersion(int Uartport, int FrameSequen | @@ -145,7 +145,7 @@ T_JZsdkReturnCode HalSend_type1Send_SendAllVersion(int Uartport, int FrameSequen | ||
| 145 | sendbuf[13] = DebugVersion; | 145 | sendbuf[13] = DebugVersion; |
| 146 | 146 | ||
| 147 | //2、发送帧 | 147 | //2、发送帧 |
| 148 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 148 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 149 | 149 | ||
| 150 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 150 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 151 | } | 151 | } |
| @@ -172,7 +172,7 @@ T_JZsdkReturnCode HalSend_type1Send_SendAllSerialNumber(int Uartport, int FrameS | @@ -172,7 +172,7 @@ T_JZsdkReturnCode HalSend_type1Send_SendAllSerialNumber(int Uartport, int FrameS | ||
| 172 | sendbuf[4] = (send_buf_len & 0xff); | 172 | sendbuf[4] = (send_buf_len & 0xff); |
| 173 | 173 | ||
| 174 | //2、发送帧 | 174 | //2、发送帧 |
| 175 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 175 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 176 | 176 | ||
| 177 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 177 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 178 | } | 178 | } |
| @@ -190,7 +190,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_Success(int Uartport ,int FrameSequenc | @@ -190,7 +190,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_Success(int Uartport ,int FrameSequenc | ||
| 190 | sendbuf[6] = FrameSequence; //帧序列 | 190 | sendbuf[6] = FrameSequence; //帧序列 |
| 191 | 191 | ||
| 192 | //3、发送帧 | 192 | //3、发送帧 |
| 193 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 193 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 194 | 194 | ||
| 195 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 195 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 196 | } | 196 | } |
| @@ -208,7 +208,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_Failure(int Uartport ,int FrameSequenc | @@ -208,7 +208,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_Failure(int Uartport ,int FrameSequenc | ||
| 208 | sendbuf[6] = FrameSequence; //帧序列 | 208 | sendbuf[6] = FrameSequence; //帧序列 |
| 209 | 209 | ||
| 210 | //3、发送帧 | 210 | //3、发送帧 |
| 211 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 211 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 212 | } | 212 | } |
| 213 | 213 | ||
| 214 | //发送校验失败帧 | 214 | //发送校验失败帧 |
| @@ -224,7 +224,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_CheckError(int Uartport ,int FrameSequ | @@ -224,7 +224,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_CheckError(int Uartport ,int FrameSequ | ||
| 224 | sendbuf[6] = FrameSequence; //帧序列 | 224 | sendbuf[6] = FrameSequence; //帧序列 |
| 225 | 225 | ||
| 226 | //3、发送帧 | 226 | //3、发送帧 |
| 227 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 227 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 228 | } | 228 | } |
| 229 | 229 | ||
| 230 | //发送解码失败帧 | 230 | //发送解码失败帧 |
| @@ -240,7 +240,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_DecodeError(int Uartport ,int FrameSeq | @@ -240,7 +240,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_DecodeError(int Uartport ,int FrameSeq | ||
| 240 | sendbuf[6] = FrameSequence; //帧序列 | 240 | sendbuf[6] = FrameSequence; //帧序列 |
| 241 | 241 | ||
| 242 | //3、发送帧 | 242 | //3、发送帧 |
| 243 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 243 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 244 | } | 244 | } |
| 245 | 245 | ||
| 246 | //发送当前从设备名 | 246 | //发送当前从设备名 |
| @@ -257,7 +257,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_SecondaryDeviceName(int Uartport , int | @@ -257,7 +257,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_SecondaryDeviceName(int Uartport , int | ||
| 257 | sendbuf[10] = device_name; | 257 | sendbuf[10] = device_name; |
| 258 | 258 | ||
| 259 | //3、发送帧 | 259 | //3、发送帧 |
| 260 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 260 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 261 | } | 261 | } |
| 262 | 262 | ||
| 263 | 263 | ||
| @@ -274,7 +274,7 @@ T_JZsdkReturnCode HalSend_type1Send_QuerySecondaryDeviceName(int Uartport ,int F | @@ -274,7 +274,7 @@ T_JZsdkReturnCode HalSend_type1Send_QuerySecondaryDeviceName(int Uartport ,int F | ||
| 274 | sendbuf[6] = FrameSequence; //帧序列 | 274 | sendbuf[6] = FrameSequence; //帧序列 |
| 275 | 275 | ||
| 276 | //3、发送帧 | 276 | //3、发送帧 |
| 277 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 277 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 278 | } | 278 | } |
| 279 | 279 | ||
| 280 | //发送当前设备序列号 | 280 | //发送当前设备序列号 |
| @@ -301,7 +301,7 @@ T_JZsdkReturnCode HalSend_type1Send_SerialNumber(int UartPort, int FrameSequence | @@ -301,7 +301,7 @@ T_JZsdkReturnCode HalSend_type1Send_SerialNumber(int UartPort, int FrameSequence | ||
| 301 | sendbuf[4] = send_buf_len; | 301 | sendbuf[4] = send_buf_len; |
| 302 | 302 | ||
| 303 | //3、发送帧 | 303 | //3、发送帧 |
| 304 | - HalSend_SendData(UartPort ,sendbuf, send_buf_len, 1); | 304 | + HalSend_SendData(UartPort ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 305 | } | 305 | } |
| 306 | 306 | ||
| 307 | /********* | 307 | /********* |
| @@ -326,7 +326,28 @@ T_JZsdkReturnCode HalSend_type1Send_DeviceMessage(int UartPort, int FrameSequenc | @@ -326,7 +326,28 @@ T_JZsdkReturnCode HalSend_type1Send_DeviceMessage(int UartPort, int FrameSequenc | ||
| 326 | sendbuf[9+messageLen + 1] = 0x23; | 326 | sendbuf[9+messageLen + 1] = 0x23; |
| 327 | 327 | ||
| 328 | //3、发送帧 | 328 | //3、发送帧 |
| 329 | - HalSend_SendData(UartPort ,sendbuf, send_buf_len, 1); | 329 | + HalSend_SendData(UartPort ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 330 | +} | ||
| 331 | + | ||
| 332 | +/*********************************** | ||
| 333 | + * | ||
| 334 | + * 发送预设任务状态 | ||
| 335 | + * | ||
| 336 | + * ************************/ | ||
| 337 | +T_JZsdkReturnCode HalSend_type1Send_PresetTaskStatus(int UartPort, int FrameSequence, int staus) | ||
| 338 | +{ | ||
| 339 | + unsigned char sendbuf[256]; | ||
| 340 | + memset(sendbuf,0,sizeof(sendbuf)); | ||
| 341 | + unsigned int send_buf_len = 0; | ||
| 342 | + | ||
| 343 | + //获取帧样板 | ||
| 344 | + JZsdk_GetFrameTemplate(JZ_INSCODE_5BFRAME_PRESET_TASK , sendbuf, &send_buf_len); | ||
| 345 | + | ||
| 346 | + sendbuf[6] = FrameSequence; //帧序列 | ||
| 347 | + sendbuf[9] = staus; | ||
| 348 | + | ||
| 349 | + //3、发送帧 | ||
| 350 | + HalSend_SendData(UartPort ,sendbuf, send_buf_len, MULTI_THREAD_SEND); | ||
| 330 | } | 351 | } |
| 331 | 352 | ||
| 332 | 353 | ||
| @@ -457,7 +478,7 @@ T_JZsdkReturnCode HalSend_type1Send_Send_AudioList_Start(int Uartport, int Frame | @@ -457,7 +478,7 @@ T_JZsdkReturnCode HalSend_type1Send_Send_AudioList_Start(int Uartport, int Frame | ||
| 457 | sendbuf[9] = music_sum; | 478 | sendbuf[9] = music_sum; |
| 458 | 479 | ||
| 459 | //发送帧 | 480 | //发送帧 |
| 460 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 0); | 481 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, SINGLE_THREAD_SEND); |
| 461 | 482 | ||
| 462 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 483 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 463 | } | 484 | } |
| @@ -476,7 +497,7 @@ T_JZsdkReturnCode HalSend_type1Send_Send_AudioList_Stop(int Uartport, int FrameS | @@ -476,7 +497,7 @@ T_JZsdkReturnCode HalSend_type1Send_Send_AudioList_Stop(int Uartport, int FrameS | ||
| 476 | //写入数据 | 497 | //写入数据 |
| 477 | sendbuf[6] = FrameSequence; //帧序列 | 498 | sendbuf[6] = FrameSequence; //帧序列 |
| 478 | 499 | ||
| 479 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 0); | 500 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, SINGLE_THREAD_SEND); |
| 480 | } | 501 | } |
| 481 | 502 | ||
| 482 | //发送歌曲列表Ⅱ型 | 503 | //发送歌曲列表Ⅱ型 |
| @@ -514,7 +535,7 @@ T_JZsdkReturnCode HalSend_type1Send_Send_AudioList_2(int Uartport, int FrameSequ | @@ -514,7 +535,7 @@ T_JZsdkReturnCode HalSend_type1Send_Send_AudioList_2(int Uartport, int FrameSequ | ||
| 514 | sendbuf[send_buf_len-1] = 0x23; | 535 | sendbuf[send_buf_len-1] = 0x23; |
| 515 | 536 | ||
| 516 | //3、发送帧 | 537 | //3、发送帧 |
| 517 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 0); | 538 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, SINGLE_THREAD_SEND); |
| 518 | 539 | ||
| 519 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 540 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 520 | } | 541 | } |
| @@ -542,7 +563,7 @@ T_JZsdkReturnCode HalSend_type1Send_Send_AudioDetailMessage(int Uartport, int Fr | @@ -542,7 +563,7 @@ T_JZsdkReturnCode HalSend_type1Send_Send_AudioDetailMessage(int Uartport, int Fr | ||
| 542 | sendbuf[send_buf_len-1] = 0x23; | 563 | sendbuf[send_buf_len-1] = 0x23; |
| 543 | 564 | ||
| 544 | //3、发送帧 | 565 | //3、发送帧 |
| 545 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 566 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 546 | 567 | ||
| 547 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 568 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
| 548 | } | 569 | } |
| @@ -560,7 +581,7 @@ T_JZsdkReturnCode HalSend_type1Send_Send_PlayStatus_end(int Uartport) | @@ -560,7 +581,7 @@ T_JZsdkReturnCode HalSend_type1Send_Send_PlayStatus_end(int Uartport) | ||
| 560 | //2、写入数据 | 581 | //2、写入数据 |
| 561 | 582 | ||
| 562 | //3、发送帧 | 583 | //3、发送帧 |
| 563 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 584 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 564 | } | 585 | } |
| 565 | 586 | ||
| 566 | //发送播放状态帧 | 587 | //发送播放状态帧 |
| @@ -593,7 +614,7 @@ T_JZsdkReturnCode HalSend_type1Send_Send_PlayStatus(int Uartport ,int num) | @@ -593,7 +614,7 @@ T_JZsdkReturnCode HalSend_type1Send_Send_PlayStatus(int Uartport ,int num) | ||
| 593 | sendbuf[9] = (char)num; | 614 | sendbuf[9] = (char)num; |
| 594 | 615 | ||
| 595 | //3、发送帧 | 616 | //3、发送帧 |
| 596 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 617 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 597 | } | 618 | } |
| 598 | 619 | ||
| 599 | //回复当前播放的歌曲名字 | 620 | //回复当前播放的歌曲名字 |
| @@ -634,7 +655,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_Volume(int Uartport ,int num) | @@ -634,7 +655,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_Volume(int Uartport ,int num) | ||
| 634 | sendbuf[9] = (char)num; | 655 | sendbuf[9] = (char)num; |
| 635 | 656 | ||
| 636 | //3、发送帧 | 657 | //3、发送帧 |
| 637 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 658 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 638 | 659 | ||
| 639 | } | 660 | } |
| 640 | 661 | ||
| @@ -657,7 +678,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_SoftVersion(int Uartport ,char majorVe | @@ -657,7 +678,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_SoftVersion(int Uartport ,char majorVe | ||
| 657 | sendbuf[12] = debugVersion; | 678 | sendbuf[12] = debugVersion; |
| 658 | 679 | ||
| 659 | //3、发送帧 | 680 | //3、发送帧 |
| 660 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 681 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 661 | } | 682 | } |
| 662 | 683 | ||
| 663 | //发送循环状态 | 684 | //发送循环状态 |
| @@ -675,7 +696,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_LoopPlayStatus(int Uartport ,int statu | @@ -675,7 +696,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_LoopPlayStatus(int Uartport ,int statu | ||
| 675 | sendbuf[9] = status; | 696 | sendbuf[9] = status; |
| 676 | 697 | ||
| 677 | //3、发送帧 | 698 | //3、发送帧 |
| 678 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 699 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 679 | 700 | ||
| 680 | } | 701 | } |
| 681 | 702 | ||
| @@ -694,13 +715,13 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_TTS_tone(int Uartport ,int tone) | @@ -694,13 +715,13 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_TTS_tone(int Uartport ,int tone) | ||
| 694 | sendbuf[9] = tone; | 715 | sendbuf[9] = tone; |
| 695 | 716 | ||
| 696 | //3、发送帧 | 717 | //3、发送帧 |
| 697 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 718 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 698 | } | 719 | } |
| 699 | 720 | ||
| 700 | //发送语速 | 721 | //发送语速 |
| 701 | T_JZsdkReturnCode HalSend_type1Send_Reply_TTS_speed(int Uartport ,int speed) | 722 | T_JZsdkReturnCode HalSend_type1Send_Reply_TTS_speed(int Uartport ,int speed) |
| 702 | { | 723 | { |
| 703 | - printf("发送音色帧\n"); | 724 | + printf("发送语速帧\n"); |
| 704 | 725 | ||
| 705 | unsigned char sendbuf[256]; | 726 | unsigned char sendbuf[256]; |
| 706 | int send_buf_len; | 727 | int send_buf_len; |
| @@ -712,7 +733,44 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_TTS_speed(int Uartport ,int speed) | @@ -712,7 +733,44 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_TTS_speed(int Uartport ,int speed) | ||
| 712 | sendbuf[9] = speed; | 733 | sendbuf[9] = speed; |
| 713 | 734 | ||
| 714 | //3、发送帧 | 735 | //3、发送帧 |
| 715 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 736 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 737 | +} | ||
| 738 | + | ||
| 739 | +//发送当前播放时间状态 | ||
| 740 | +T_JZsdkReturnCode HalSend_type1Send_Reply_CurrentPlayTimeStatus(int Uartport ,int mode) | ||
| 741 | +{ | ||
| 742 | + printf("发送当前播放时间状态帧\n"); | ||
| 743 | + | ||
| 744 | + unsigned char sendbuf[256]; | ||
| 745 | + int send_buf_len; | ||
| 746 | + | ||
| 747 | + //1、获取帧样板 | ||
| 748 | + JZsdk_GetFrameTemplate(JZ_INSCODE_5BFRAME_CHECKSTATUS_CURRENT_PLAYTIME, sendbuf, &send_buf_len); | ||
| 749 | + | ||
| 750 | + //2、写入数据 | ||
| 751 | + sendbuf[9] = mode; | ||
| 752 | + | ||
| 753 | + //3、发送帧 | ||
| 754 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); | ||
| 755 | +} | ||
| 756 | + | ||
| 757 | +//发送当前播放时间 | ||
| 758 | +T_JZsdkReturnCode HalSend_type1Send_Reply_CurrentPlayTime(int Uartport ,int time) | ||
| 759 | +{ | ||
| 760 | + printf("发送当前播放时间\n"); | ||
| 761 | + | ||
| 762 | + unsigned char sendbuf[256]; | ||
| 763 | + int send_buf_len; | ||
| 764 | + | ||
| 765 | + //1、获取帧样板 | ||
| 766 | + JZsdk_GetFrameTemplate(JZ_INSCODE_5BFRAME_CURRENT_PLAY_TIME, sendbuf, &send_buf_len); | ||
| 767 | + | ||
| 768 | + //2、写入数据 | ||
| 769 | + sendbuf[9] = time >> 8; | ||
| 770 | + sendbuf[10] = time & 0xff; | ||
| 771 | + | ||
| 772 | + //3、发送帧 | ||
| 773 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); | ||
| 716 | } | 774 | } |
| 717 | 775 | ||
| 718 | /************* | 776 | /************* |
| @@ -734,7 +792,87 @@ T_JZsdkReturnCode HalSend_type1Send_OpusDecodeStatus(int Uartport,int value) | @@ -734,7 +792,87 @@ T_JZsdkReturnCode HalSend_type1Send_OpusDecodeStatus(int Uartport,int value) | ||
| 734 | sendbuf[9] = value; | 792 | sendbuf[9] = value; |
| 735 | 793 | ||
| 736 | //3、发送帧 | 794 | //3、发送帧 |
| 737 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 795 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 796 | +} | ||
| 797 | + | ||
| 798 | + | ||
| 799 | +//发送opus列表开始帧 | ||
| 800 | +T_JZsdkReturnCode HalSend_type1Send_Send_OpusList_Start(int Uartport, int FrameSequence, int music_sum) | ||
| 801 | +{ | ||
| 802 | + printf("发送opus开始列表帧\n"); | ||
| 803 | + | ||
| 804 | + unsigned char sendbuf[128]; | ||
| 805 | + int send_buf_len; | ||
| 806 | + | ||
| 807 | + //获取帧样板 | ||
| 808 | + memset(sendbuf,0,sizeof(sendbuf)); | ||
| 809 | + JZsdk_GetFrameTemplate(JZ_INSCODE_5BFRAME_OPUSLIST_START , sendbuf, &send_buf_len); | ||
| 810 | + //写入数据 | ||
| 811 | + sendbuf[6] = FrameSequence; //帧序列 | ||
| 812 | + sendbuf[9] = music_sum; | ||
| 813 | + | ||
| 814 | + //发送帧 | ||
| 815 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, SINGLE_THREAD_SEND); | ||
| 816 | + | ||
| 817 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 818 | +} | ||
| 819 | + | ||
| 820 | + | ||
| 821 | +//发送opus列表 | ||
| 822 | +T_JZsdkReturnCode HalSend_type1Send_Send_OpusList_Trans(int Uartport, int FrameSequence, unsigned char *name, unsigned int namelen, unsigned int Filesize, unsigned int Time) | ||
| 823 | +{ | ||
| 824 | + printf("发送opus列表 %s %d %d %d\n",name, namelen, Filesize, Time); | ||
| 825 | + unsigned char sendbuf[400]; | ||
| 826 | + int send_buf_len; | ||
| 827 | + | ||
| 828 | + //1、获取帧样板 | ||
| 829 | + JZsdk_GetFrameTemplate(JZ_INSCODE_5BFRAME_OPUSLIST_TRANS , sendbuf, &send_buf_len); | ||
| 830 | + | ||
| 831 | + //写入文件名 | ||
| 832 | + sendbuf[9] = namelen; | ||
| 833 | + memcpy(&sendbuf[10], name, namelen); | ||
| 834 | + | ||
| 835 | + //文件大小 | ||
| 836 | + sendbuf[10+namelen] = (Filesize >> 24) & 0xFF; | ||
| 837 | + sendbuf[10+namelen+1] = (Filesize >> 16) & 0xFF; | ||
| 838 | + sendbuf[10+namelen+2] = (Filesize >> 8) & 0xFF; | ||
| 839 | + sendbuf[10+namelen+3] = Filesize & 0xFF; | ||
| 840 | + | ||
| 841 | + //播放时间 | ||
| 842 | + sendbuf[10+namelen+4] = (Time >> 8) & 0xFF; | ||
| 843 | + sendbuf[10+namelen+5] = Time & 0xFF; | ||
| 844 | + | ||
| 845 | + //2、写入数据 | ||
| 846 | + send_buf_len = 9 + 1 + namelen + 4 + 2 + 2; | ||
| 847 | + | ||
| 848 | + sendbuf[3] = (unsigned char)( (send_buf_len >> 8) & 0xFF); //帧长度 | ||
| 849 | + sendbuf[4] = (unsigned char)(send_buf_len & 0xFF); //帧长度 | ||
| 850 | + sendbuf[6] = FrameSequence; //帧序列 | ||
| 851 | + | ||
| 852 | + sendbuf[send_buf_len-2] = 0x00; | ||
| 853 | + sendbuf[send_buf_len-1] = 0x23; | ||
| 854 | + | ||
| 855 | + //3、发送帧 | ||
| 856 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, SINGLE_THREAD_SEND); | ||
| 857 | + | ||
| 858 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
| 859 | +} | ||
| 860 | + | ||
| 861 | +//发送opus列表结束帧 | ||
| 862 | +T_JZsdkReturnCode HalSend_type1Send_Send_OpusList_Stop(int Uartport, int FrameSequence) | ||
| 863 | +{ | ||
| 864 | + printf("发送opus结束列表帧\n"); | ||
| 865 | + | ||
| 866 | + unsigned char sendbuf[128]; | ||
| 867 | + int send_buf_len; | ||
| 868 | + | ||
| 869 | + //获取帧样板 | ||
| 870 | + memset(sendbuf,0,sizeof(sendbuf)); | ||
| 871 | + JZsdk_GetFrameTemplate(JZ_INSCODE_5BFRAME_OPUSLIST_END , sendbuf, &send_buf_len); | ||
| 872 | + //写入数据 | ||
| 873 | + sendbuf[6] = FrameSequence; //帧序列 | ||
| 874 | + | ||
| 875 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, SINGLE_THREAD_SEND); | ||
| 738 | } | 876 | } |
| 739 | 877 | ||
| 740 | /**************************************************************************************************************************************************** | 878 | /**************************************************************************************************************************************************** |
| @@ -766,7 +904,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_GimbalPitchAngle(int Uartport ,int ang | @@ -766,7 +904,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_GimbalPitchAngle(int Uartport ,int ang | ||
| 766 | sendbuf[11] = (char)(angle & 255); | 904 | sendbuf[11] = (char)(angle & 255); |
| 767 | 905 | ||
| 768 | //3、发送帧 | 906 | //3、发送帧 |
| 769 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 907 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 770 | } | 908 | } |
| 771 | 909 | ||
| 772 | //设置当前云台角度 | 910 | //设置当前云台角度 |
| @@ -794,7 +932,7 @@ T_JZsdkReturnCode HalSend_type1Send_Set_GimbalPitchAngle(int Uartport ,int angle | @@ -794,7 +932,7 @@ T_JZsdkReturnCode HalSend_type1Send_Set_GimbalPitchAngle(int Uartport ,int angle | ||
| 794 | sendbuf[11] = (angle & 0xff); | 932 | sendbuf[11] = (angle & 0xff); |
| 795 | 933 | ||
| 796 | //3、发送帧 | 934 | //3、发送帧 |
| 797 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 935 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 798 | } | 936 | } |
| 799 | 937 | ||
| 800 | //查询云台角度 | 938 | //查询云台角度 |
| @@ -811,7 +949,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_GimbalAngle(int Uartport ,int Fr | @@ -811,7 +949,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_GimbalAngle(int Uartport ,int Fr | ||
| 811 | sendbuf[6] = FrameSequence; | 949 | sendbuf[6] = FrameSequence; |
| 812 | 950 | ||
| 813 | //3、发送帧 | 951 | //3、发送帧 |
| 814 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 952 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 815 | } | 953 | } |
| 816 | 954 | ||
| 817 | //微调云台pitch | 955 | //微调云台pitch |
| @@ -839,7 +977,7 @@ T_JZsdkReturnCode HalSend_type1Send_Set_GimbalFineTuningPitch(int Uartport, int | @@ -839,7 +977,7 @@ T_JZsdkReturnCode HalSend_type1Send_Set_GimbalFineTuningPitch(int Uartport, int | ||
| 839 | sendbuf[11] = (PitchFineTuning & 0xff); | 977 | sendbuf[11] = (PitchFineTuning & 0xff); |
| 840 | 978 | ||
| 841 | //3、发送帧 | 979 | //3、发送帧 |
| 842 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 980 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 843 | } | 981 | } |
| 844 | 982 | ||
| 845 | //查询云台角度微调值 | 983 | //查询云台角度微调值 |
| @@ -856,7 +994,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_GimbalFineTuningPitch(int Uartpo | @@ -856,7 +994,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_GimbalFineTuningPitch(int Uartpo | ||
| 856 | sendbuf[6] = FrameSequence; //帧序列 | 994 | sendbuf[6] = FrameSequence; //帧序列 |
| 857 | 995 | ||
| 858 | //3、发送帧 | 996 | //3、发送帧 |
| 859 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 997 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 860 | } | 998 | } |
| 861 | 999 | ||
| 862 | //回复云台pitch微调值 | 1000 | //回复云台pitch微调值 |
| @@ -884,7 +1022,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_GimbalFineTuningPitch(int Uartport, in | @@ -884,7 +1022,7 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_GimbalFineTuningPitch(int Uartport, in | ||
| 884 | sendbuf[11] = (FineTunigPitch & 0xff); | 1022 | sendbuf[11] = (FineTunigPitch & 0xff); |
| 885 | 1023 | ||
| 886 | //3、发送帧 | 1024 | //3、发送帧 |
| 887 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1025 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 888 | } | 1026 | } |
| 889 | 1027 | ||
| 890 | //设置云台联动 | 1028 | //设置云台联动 |
| @@ -902,7 +1040,7 @@ T_JZsdkReturnCode HalSend_type1Send_Set_GimbalLinkageControl(int Uartport,int Fr | @@ -902,7 +1040,7 @@ T_JZsdkReturnCode HalSend_type1Send_Set_GimbalLinkageControl(int Uartport,int Fr | ||
| 902 | sendbuf[10] = value; | 1040 | sendbuf[10] = value; |
| 903 | 1041 | ||
| 904 | //3、发送帧 | 1042 | //3、发送帧 |
| 905 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1043 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 906 | } | 1044 | } |
| 907 | 1045 | ||
| 908 | //查询云台联动值 | 1046 | //查询云台联动值 |
| @@ -919,7 +1057,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_GimbalLinkage(int Uartport,int F | @@ -919,7 +1057,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_GimbalLinkage(int Uartport,int F | ||
| 919 | sendbuf[6] = FrameSequence; //帧序列 | 1057 | sendbuf[6] = FrameSequence; //帧序列 |
| 920 | 1058 | ||
| 921 | //3、发送帧 | 1059 | //3、发送帧 |
| 922 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1060 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 923 | } | 1061 | } |
| 924 | 1062 | ||
| 925 | //发送云台联动值 | 1063 | //发送云台联动值 |
| @@ -937,7 +1075,7 @@ T_JZsdkReturnCode HalSend_type1Send_GimbalLinkageControl(int Uartport,int FrameS | @@ -937,7 +1075,7 @@ T_JZsdkReturnCode HalSend_type1Send_GimbalLinkageControl(int Uartport,int FrameS | ||
| 937 | sendbuf[10] = value; | 1075 | sendbuf[10] = value; |
| 938 | 1076 | ||
| 939 | //3、发送帧 | 1077 | //3、发送帧 |
| 940 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1078 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 941 | } | 1079 | } |
| 942 | 1080 | ||
| 943 | //发送云台最大最小值帧 | 1081 | //发送云台最大最小值帧 |
| @@ -955,7 +1093,7 @@ T_JZsdkReturnCode HalSend_type1Send_SetGimbalRange(int Uartport,int FrameSequenc | @@ -955,7 +1093,7 @@ T_JZsdkReturnCode HalSend_type1Send_SetGimbalRange(int Uartport,int FrameSequenc | ||
| 955 | sendbuf[10] = value; | 1093 | sendbuf[10] = value; |
| 956 | 1094 | ||
| 957 | //3、发送帧 | 1095 | //3、发送帧 |
| 958 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1096 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 959 | } | 1097 | } |
| 960 | 1098 | ||
| 961 | /**************************************************************************************************************************************************** | 1099 | /**************************************************************************************************************************************************** |
| @@ -979,7 +1117,7 @@ T_JZsdkReturnCode HalSend_type1Send_Set_SearchLightFrequency(int Uartport ,int F | @@ -979,7 +1117,7 @@ T_JZsdkReturnCode HalSend_type1Send_Set_SearchLightFrequency(int Uartport ,int F | ||
| 979 | sendbuf[10] = Frequency; | 1117 | sendbuf[10] = Frequency; |
| 980 | 1118 | ||
| 981 | //3、发送帧 | 1119 | //3、发送帧 |
| 982 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1120 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 983 | } | 1121 | } |
| 984 | 1122 | ||
| 985 | //设置探照灯控制 | 1123 | //设置探照灯控制 |
| @@ -997,7 +1135,7 @@ T_JZsdkReturnCode HalSend_type1Send_SearchLight_Control(int Uartport,int mode) | @@ -997,7 +1135,7 @@ T_JZsdkReturnCode HalSend_type1Send_SearchLight_Control(int Uartport,int mode) | ||
| 997 | sendbuf[10] = mode; | 1135 | sendbuf[10] = mode; |
| 998 | 1136 | ||
| 999 | //3、发送帧 | 1137 | //3、发送帧 |
| 1000 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1138 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1001 | } | 1139 | } |
| 1002 | 1140 | ||
| 1003 | //设置探照灯亮度 | 1141 | //设置探照灯亮度 |
| @@ -1016,7 +1154,7 @@ T_JZsdkReturnCode HalSend_type1Send_SearchLight_SetLumen(int Uartport, int Left | @@ -1016,7 +1154,7 @@ T_JZsdkReturnCode HalSend_type1Send_SearchLight_SetLumen(int Uartport, int Left | ||
| 1016 | sendbuf[10] = RightLumen; | 1154 | sendbuf[10] = RightLumen; |
| 1017 | 1155 | ||
| 1018 | //3、发送帧 | 1156 | //3、发送帧 |
| 1019 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1157 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1020 | } | 1158 | } |
| 1021 | 1159 | ||
| 1022 | //发送 | 1160 | //发送 |
| @@ -1033,7 +1171,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Frequency(int Uartpo | @@ -1033,7 +1171,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Frequency(int Uartpo | ||
| 1033 | JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_FREQUENCY, sendbuf, &send_buf_len); | 1171 | JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_FREQUENCY, sendbuf, &send_buf_len); |
| 1034 | 1172 | ||
| 1035 | //2、发送帧 | 1173 | //2、发送帧 |
| 1036 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1174 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1037 | } | 1175 | } |
| 1038 | 1176 | ||
| 1039 | //查询探照灯亮度 | 1177 | //查询探照灯亮度 |
| @@ -1048,7 +1186,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Lumen(int Uartport) | @@ -1048,7 +1186,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Lumen(int Uartport) | ||
| 1048 | JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_LUMEN, sendbuf, &send_buf_len); | 1186 | JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_LUMEN, sendbuf, &send_buf_len); |
| 1049 | 1187 | ||
| 1050 | //2、发送帧 | 1188 | //2、发送帧 |
| 1051 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1189 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1052 | } | 1190 | } |
| 1053 | 1191 | ||
| 1054 | //查询探照灯模式 | 1192 | //查询探照灯模式 |
| @@ -1063,7 +1201,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Mode(int Uartport) | @@ -1063,7 +1201,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Mode(int Uartport) | ||
| 1063 | JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_MODE, sendbuf, &send_buf_len); | 1201 | JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_MODE, sendbuf, &send_buf_len); |
| 1064 | 1202 | ||
| 1065 | //2、发送帧 | 1203 | //2、发送帧 |
| 1066 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1204 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1067 | } | 1205 | } |
| 1068 | 1206 | ||
| 1069 | //查询探照灯属性 | 1207 | //查询探照灯属性 |
| @@ -1078,7 +1216,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Attribute(int Uartpo | @@ -1078,7 +1216,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Attribute(int Uartpo | ||
| 1078 | JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_LIGHTATTRIBUTE, sendbuf, &send_buf_len); | 1216 | JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_LIGHTATTRIBUTE, sendbuf, &send_buf_len); |
| 1079 | 1217 | ||
| 1080 | //2、发送帧 | 1218 | //2、发送帧 |
| 1081 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1219 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1082 | } | 1220 | } |
| 1083 | 1221 | ||
| 1084 | //查询探照灯温度 | 1222 | //查询探照灯温度 |
| @@ -1093,7 +1231,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Temperture(int Uartp | @@ -1093,7 +1231,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_SearchLight_Temperture(int Uartp | ||
| 1093 | JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_TEMPERATURE, sendbuf, &send_buf_len); | 1231 | JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_SEARCHLIGHT_TEMPERATURE, sendbuf, &send_buf_len); |
| 1094 | 1232 | ||
| 1095 | //2、发送帧 | 1233 | //2、发送帧 |
| 1096 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1234 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1097 | } | 1235 | } |
| 1098 | 1236 | ||
| 1099 | //开启消息订阅 | 1237 | //开启消息订阅 |
| @@ -1111,7 +1249,114 @@ T_JZsdkReturnCode HalSend_type1Send_MessageSubcription_Control(int Uartport, int | @@ -1111,7 +1249,114 @@ T_JZsdkReturnCode HalSend_type1Send_MessageSubcription_Control(int Uartport, int | ||
| 1111 | sendbuf[10] = value; | 1249 | sendbuf[10] = value; |
| 1112 | 1250 | ||
| 1113 | //3、发送帧 | 1251 | //3、发送帧 |
| 1114 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1252 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1253 | +} | ||
| 1254 | + | ||
| 1255 | +/************************************************************************************************************************************************************ | ||
| 1256 | + * | ||
| 1257 | + * 升级部分 | ||
| 1258 | + * | ||
| 1259 | + * | ||
| 1260 | +*******************************************************************************************************************/ | ||
| 1261 | +/************* | ||
| 1262 | + * | ||
| 1263 | + * 回复准备升级 | ||
| 1264 | + * | ||
| 1265 | + * **************/ | ||
| 1266 | +T_JZsdkReturnCode HalSend_type1Send_Reply_ReadyForUpdate(int Uartport, int Mode) | ||
| 1267 | +{ | ||
| 1268 | + printf("发送回复准备升级\n"); | ||
| 1269 | + | ||
| 1270 | + unsigned char sendbuf[256]; | ||
| 1271 | + int send_buf_len; | ||
| 1272 | + | ||
| 1273 | + //1、获取帧样板 | ||
| 1274 | + JZsdk_GetFrameTemplate(JZ_INSCODE_5BFRAME_UPGRADE_PERPARE, sendbuf, &send_buf_len); | ||
| 1275 | + | ||
| 1276 | + sendbuf[9] = Mode; | ||
| 1277 | + | ||
| 1278 | + //2、发送帧 | ||
| 1279 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, SINGLE_THREAD_SEND); | ||
| 1280 | +} | ||
| 1281 | + | ||
| 1282 | +/************* | ||
| 1283 | + * | ||
| 1284 | + * 回复校验激活码已收到 | ||
| 1285 | + * | ||
| 1286 | + * **************/ | ||
| 1287 | +T_JZsdkReturnCode HalSend_type1Send_Reply_UpgradeHaveRecvCheckCode(int Uartport, int Mode) | ||
| 1288 | +{ | ||
| 1289 | + printf("回复校验激活码已收到\n"); | ||
| 1290 | + | ||
| 1291 | + unsigned char sendbuf[256]; | ||
| 1292 | + int send_buf_len; | ||
| 1293 | + | ||
| 1294 | + //1、获取帧样板 | ||
| 1295 | + JZsdk_GetFrameTemplate(JZ_INSCODE_5BFRAME_UPGRADE_SEND_CHECKCODE, sendbuf, &send_buf_len); | ||
| 1296 | + | ||
| 1297 | + sendbuf[9] = Mode; | ||
| 1298 | + | ||
| 1299 | + //2、发送帧 | ||
| 1300 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, SINGLE_THREAD_SEND); | ||
| 1301 | +} | ||
| 1302 | + | ||
| 1303 | +/************* | ||
| 1304 | + * | ||
| 1305 | + * 回复升级传输已开启 | ||
| 1306 | + * | ||
| 1307 | + * **************/ | ||
| 1308 | +T_JZsdkReturnCode HalSend_type1Send_Reply_UpgradeStart(int Uartport) | ||
| 1309 | +{ | ||
| 1310 | + printf("回复升级传输已开启\n"); | ||
| 1311 | + | ||
| 1312 | + unsigned char sendbuf[256]; | ||
| 1313 | + int send_buf_len; | ||
| 1314 | + | ||
| 1315 | + //1、获取帧样板 | ||
| 1316 | + JZsdk_GetFrameTemplate(JZ_INSCODE_5BFRAME_UPGRADE_STRAT, sendbuf, &send_buf_len); | ||
| 1317 | + | ||
| 1318 | + //2、发送帧 | ||
| 1319 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, SINGLE_THREAD_SEND); | ||
| 1320 | +} | ||
| 1321 | + | ||
| 1322 | +/************* | ||
| 1323 | + * | ||
| 1324 | + * 回复升级传输已结束 | ||
| 1325 | + * | ||
| 1326 | + * **************/ | ||
| 1327 | +T_JZsdkReturnCode HalSend_type1Send_Reply_UpgradeEnd(int Uartport) | ||
| 1328 | +{ | ||
| 1329 | + printf("回复升级传输已结束\n"); | ||
| 1330 | + | ||
| 1331 | + unsigned char sendbuf[256]; | ||
| 1332 | + int send_buf_len; | ||
| 1333 | + | ||
| 1334 | + //1、获取帧样板 | ||
| 1335 | + JZsdk_GetFrameTemplate(JZ_INSCODE_5BFRAME_UPGRADE_END, sendbuf, &send_buf_len); | ||
| 1336 | + | ||
| 1337 | + //2、发送帧 | ||
| 1338 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, SINGLE_THREAD_SEND); | ||
| 1339 | +} | ||
| 1340 | + | ||
| 1341 | +/************* | ||
| 1342 | + * | ||
| 1343 | + * 回复升级校验结果 | ||
| 1344 | + * | ||
| 1345 | + * **************/ | ||
| 1346 | +T_JZsdkReturnCode HalSend_type1Send_Reply_UpgradeCheckResult(int Uartport, int status) | ||
| 1347 | +{ | ||
| 1348 | + printf("回复升级校验结果\n"); | ||
| 1349 | + | ||
| 1350 | + unsigned char sendbuf[256]; | ||
| 1351 | + int send_buf_len; | ||
| 1352 | + | ||
| 1353 | + //1、获取帧样板 | ||
| 1354 | + JZsdk_GetFrameTemplate(JZ_INSCODE_5BFRAME_UPGRADE_CHECKRESULT, sendbuf, &send_buf_len); | ||
| 1355 | + | ||
| 1356 | + sendbuf[9] = status; | ||
| 1357 | + | ||
| 1358 | + //2、发送帧 | ||
| 1359 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, SINGLE_THREAD_SEND); | ||
| 1115 | } | 1360 | } |
| 1116 | 1361 | ||
| 1117 | /**************************************************************************************************************************************************** | 1362 | /**************************************************************************************************************************************************** |
| @@ -1139,7 +1384,7 @@ T_JZsdkReturnCode HalSend_type1Send_Set_WarningLight_Status(int Uartport,int sta | @@ -1139,7 +1384,7 @@ T_JZsdkReturnCode HalSend_type1Send_Set_WarningLight_Status(int Uartport,int sta | ||
| 1139 | sendbuf[10] = mode; | 1384 | sendbuf[10] = mode; |
| 1140 | 1385 | ||
| 1141 | //3、发送帧 | 1386 | //3、发送帧 |
| 1142 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1387 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1143 | } | 1388 | } |
| 1144 | 1389 | ||
| 1145 | /************* | 1390 | /************* |
| @@ -1162,7 +1407,7 @@ T_JZsdkReturnCode HalSend_type1Send_Set_WarningLight_Color(int Uartport,int colo | @@ -1162,7 +1407,7 @@ T_JZsdkReturnCode HalSend_type1Send_Set_WarningLight_Color(int Uartport,int colo | ||
| 1162 | sendbuf[10] = color2; | 1407 | sendbuf[10] = color2; |
| 1163 | 1408 | ||
| 1164 | //3、发送帧 | 1409 | //3、发送帧 |
| 1165 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1410 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1166 | } | 1411 | } |
| 1167 | 1412 | ||
| 1168 | //查询警灯状态 | 1413 | //查询警灯状态 |
| @@ -1177,7 +1422,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_WarningLightStatus(int Uartport) | @@ -1177,7 +1422,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_WarningLightStatus(int Uartport) | ||
| 1177 | JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_WARNINGLIGHT_STATUS, sendbuf, &send_buf_len); | 1422 | JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_WARNINGLIGHT_STATUS, sendbuf, &send_buf_len); |
| 1178 | 1423 | ||
| 1179 | //2、发送帧 | 1424 | //2、发送帧 |
| 1180 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1425 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1181 | } | 1426 | } |
| 1182 | 1427 | ||
| 1183 | //查询警灯颜色 | 1428 | //查询警灯颜色 |
| @@ -1192,7 +1437,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_WarningLightColor(int Uartport) | @@ -1192,7 +1437,7 @@ T_JZsdkReturnCode HalSend_type1Send_CheckStatus_WarningLightColor(int Uartport) | ||
| 1192 | JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_WARNINGLIGHT_COLOR, sendbuf, &send_buf_len); | 1437 | JZsdk_GetFrameTemplate(JZ_INSCODE_5AFRAME_CHECKSTATUS_WARNINGLIGHT_COLOR, sendbuf, &send_buf_len); |
| 1193 | 1438 | ||
| 1194 | //2、发送帧 | 1439 | //2、发送帧 |
| 1195 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1440 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1196 | } | 1441 | } |
| 1197 | 1442 | ||
| 1198 | /**************************************************************************************************************************************************** | 1443 | /**************************************************************************************************************************************************** |
| @@ -1220,7 +1465,7 @@ T_JZsdkReturnCode HalSend_type1Send_SearchLight_Frequency(int Uartport, int Freq | @@ -1220,7 +1465,7 @@ T_JZsdkReturnCode HalSend_type1Send_SearchLight_Frequency(int Uartport, int Freq | ||
| 1220 | sendbuf[10] = Frequency; | 1465 | sendbuf[10] = Frequency; |
| 1221 | 1466 | ||
| 1222 | //3、发送帧 | 1467 | //3、发送帧 |
| 1223 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1468 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1224 | } | 1469 | } |
| 1225 | 1470 | ||
| 1226 | /************* | 1471 | /************* |
| @@ -1242,7 +1487,7 @@ T_JZsdkReturnCode HalSend_type1Send_SearchLight_Mode(int Uartport, int mode) | @@ -1242,7 +1487,7 @@ T_JZsdkReturnCode HalSend_type1Send_SearchLight_Mode(int Uartport, int mode) | ||
| 1242 | sendbuf[10] = mode; | 1487 | sendbuf[10] = mode; |
| 1243 | 1488 | ||
| 1244 | //3、发送帧 | 1489 | //3、发送帧 |
| 1245 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1490 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1246 | } | 1491 | } |
| 1247 | 1492 | ||
| 1248 | /************* | 1493 | /************* |
| @@ -1265,7 +1510,7 @@ T_JZsdkReturnCode HalSend_type1Send_SearchLight_Lumen(int Uartport,int LeftLumen | @@ -1265,7 +1510,7 @@ T_JZsdkReturnCode HalSend_type1Send_SearchLight_Lumen(int Uartport,int LeftLumen | ||
| 1265 | sendbuf[10] = RightLumen; | 1510 | sendbuf[10] = RightLumen; |
| 1266 | 1511 | ||
| 1267 | //3、发送帧 | 1512 | //3、发送帧 |
| 1268 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1513 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1269 | } | 1514 | } |
| 1270 | 1515 | ||
| 1271 | /************* | 1516 | /************* |
| @@ -1288,7 +1533,7 @@ T_JZsdkReturnCode HalSend_type1Send_SearchLight_Temperature(int Uartport, int Le | @@ -1288,7 +1533,7 @@ T_JZsdkReturnCode HalSend_type1Send_SearchLight_Temperature(int Uartport, int Le | ||
| 1288 | sendbuf[10] = RightTemperature; | 1533 | sendbuf[10] = RightTemperature; |
| 1289 | 1534 | ||
| 1290 | //3、发送帧 | 1535 | //3、发送帧 |
| 1291 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1536 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1292 | } | 1537 | } |
| 1293 | 1538 | ||
| 1294 | 1539 | ||
| @@ -1312,7 +1557,7 @@ T_JZsdkReturnCode HalSend_type1Send_WarningLight_Status(int Uartport, int status | @@ -1312,7 +1557,7 @@ T_JZsdkReturnCode HalSend_type1Send_WarningLight_Status(int Uartport, int status | ||
| 1312 | sendbuf[10] = mode; | 1557 | sendbuf[10] = mode; |
| 1313 | 1558 | ||
| 1314 | //3、发送帧 | 1559 | //3、发送帧 |
| 1315 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1);} | 1560 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND);} |
| 1316 | 1561 | ||
| 1317 | /************* | 1562 | /************* |
| 1318 | * | 1563 | * |
| @@ -1334,7 +1579,7 @@ T_JZsdkReturnCode HalSend_type1Send_WarningLight_Color(int Uartport, int color1, | @@ -1334,7 +1579,7 @@ T_JZsdkReturnCode HalSend_type1Send_WarningLight_Color(int Uartport, int color1, | ||
| 1334 | sendbuf[10] = color2; | 1579 | sendbuf[10] = color2; |
| 1335 | 1580 | ||
| 1336 | //3、发送帧 | 1581 | //3、发送帧 |
| 1337 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1582 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1338 | } | 1583 | } |
| 1339 | 1584 | ||
| 1340 | /************* | 1585 | /************* |
| @@ -1356,7 +1601,7 @@ T_JZsdkReturnCode HalSend_type1Send_OutputPowerStatus(int Uartport, int FrameSeq | @@ -1356,7 +1601,7 @@ T_JZsdkReturnCode HalSend_type1Send_OutputPowerStatus(int Uartport, int FrameSeq | ||
| 1356 | sendbuf[9] = status; | 1601 | sendbuf[9] = status; |
| 1357 | 1602 | ||
| 1358 | //3、发送帧 | 1603 | //3、发送帧 |
| 1359 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1604 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1360 | } | 1605 | } |
| 1361 | 1606 | ||
| 1362 | /**************************************************************************************************************************************************** | 1607 | /**************************************************************************************************************************************************** |
| @@ -1380,5 +1625,5 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_CheckSpecialParameters(int Uartport,in | @@ -1380,5 +1625,5 @@ T_JZsdkReturnCode HalSend_type1Send_Reply_CheckSpecialParameters(int Uartport,in | ||
| 1380 | sendbuf[10] = value; | 1625 | sendbuf[10] = value; |
| 1381 | 1626 | ||
| 1382 | //3、发送帧 | 1627 | //3、发送帧 |
| 1383 | - HalSend_SendData(Uartport ,sendbuf, send_buf_len, 1); | 1628 | + HalSend_SendData(Uartport ,sendbuf, send_buf_len, MULTI_THREAD_SEND); |
| 1384 | } | 1629 | } |
-
请 注册 或 登录 后发表评论