合并分支 '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 | } |
-
请 注册 或 登录 后发表评论