正在显示
31 个修改的文件
包含
269 行增加
和
160 行删除
@@ -40,7 +40,9 @@ | @@ -40,7 +40,9 @@ | ||
40 | "paramterparsing.h": "c", | 40 | "paramterparsing.h": "c", |
41 | "megtempcontrol.h": "c", | 41 | "megtempcontrol.h": "c", |
42 | "jzsdk_uart_send.h": "c", | 42 | "jzsdk_uart_send.h": "c", |
43 | - "espeak_tts.h": "c" | 43 | + "espeak_tts.h": "c", |
44 | + "buffersrc.h": "c", | ||
45 | + "audiodeal.h": "c" | ||
44 | }, | 46 | }, |
45 | "Codegeex.GenerationPreference": "automatic" | 47 | "Codegeex.GenerationPreference": "automatic" |
46 | } | 48 | } |
1 | # 编译链的配置 | 1 | # 编译链的配置 |
2 | 2 | ||
3 | #1、编译链与设备类型的选择 | 3 | #1、编译链与设备类型的选择 |
4 | -set(DEVICE_NAME JZ_H1T) | 4 | +set(DEVICE_NAME JZ_H1E) |
5 | #上一行为禁止修改行 | 5 | #上一行为禁止修改行 |
6 | 6 | ||
7 | if("${DEVICE_NAME}" STREQUAL "JZ_H1E") | 7 | if("${DEVICE_NAME}" STREQUAL "JZ_H1E") |
@@ -31,6 +31,9 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U3S") | @@ -31,6 +31,9 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U3S") | ||
31 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U3D") | 31 | elseif("${DEVICE_NAME}" STREQUAL "JZ_U3D") |
32 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) | 32 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) |
33 | set(DEVICE_TYPE MEGAPHONE) | 33 | set(DEVICE_TYPE MEGAPHONE) |
34 | +elseif("${DEVICE_NAME}" STREQUAL "JZ_U30") | ||
35 | + set(MAKE_COMPILER ARM_CORTEXA9_LINUX) | ||
36 | + set(DEVICE_TYPE MEGAPHONE) | ||
34 | elseif("${DEVICE_NAME}" STREQUAL "TF_A1") | 37 | elseif("${DEVICE_NAME}" STREQUAL "TF_A1") |
35 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) | 38 | set(MAKE_COMPILER ARM_CORTEXA9_LINUX) |
36 | set(DEVICE_TYPE MEGAPHONE) | 39 | set(DEVICE_TYPE MEGAPHONE) |
@@ -146,6 +146,29 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U3D") | @@ -146,6 +146,29 @@ elseif("${DEVICE_NAME}" STREQUAL "JZ_U3D") | ||
146 | # 添加FFMPEG及其附属模块 | 146 | # 添加FFMPEG及其附属模块 |
147 | set(FFMPEG_MODULE VERSION_SWITCH_ON) | 147 | set(FFMPEG_MODULE VERSION_SWITCH_ON) |
148 | 148 | ||
149 | +elseif("${DEVICE_NAME}" STREQUAL "JZ_U30") | ||
150 | + | ||
151 | + # 添加AudioDeal 音频处理模块 | ||
152 | + set(AUDIODEAL_MODULE VERSION_SWITCH_ON) | ||
153 | + | ||
154 | + # 添加Gimbal 云台处理模块 | ||
155 | + set(GIMBAL_MODULE VERSION_SWITCH_ON) | ||
156 | + | ||
157 | + # 添加IRCUT 引脚处理模块 | ||
158 | + set(IRCUT_MODULE VERSION_SWITCH_ON) | ||
159 | + | ||
160 | + # 添加LIGHTING 光源处理模块 | ||
161 | + set(LIGHTING_MODULE VERSION_SWITCH_ON) | ||
162 | + | ||
163 | + # 添加喊话器模块 | ||
164 | + set(MEGAPHONE_MODULE VERSION_SWITCH_ON) | ||
165 | + | ||
166 | + # 添加电源管理模块 | ||
167 | + set(POWER_MANAGER_MODULE VERSION_SWITCH_ON) | ||
168 | + | ||
169 | + # 添加FFMPEG及其附属模块 | ||
170 | + set(FFMPEG_MODULE VERSION_SWITCH_ON) | ||
171 | + | ||
149 | elseif("${DEVICE_NAME}" STREQUAL "JZ_C1") | 172 | elseif("${DEVICE_NAME}" STREQUAL "JZ_C1") |
150 | 173 | ||
151 | # 添加Gimbal 云台处理模块 | 174 | # 添加Gimbal 云台处理模块 |
@@ -322,6 +322,29 @@ T_JZsdkReturnCode Main_APP_Psdk() | @@ -322,6 +322,29 @@ T_JZsdkReturnCode Main_APP_Psdk() | ||
322 | JZsdk_Uart_Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON); | 322 | JZsdk_Uart_Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON); |
323 | } | 323 | } |
324 | 324 | ||
325 | + else if (DEVICE_VERSION == JZ_U30) | ||
326 | + { | ||
327 | + //串口设备1初始化 | ||
328 | + //JZsdk_Uart_Init(UART_DEV_1); | ||
329 | + | ||
330 | + //串口设备2初始化 | ||
331 | + JZsdk_Uart_Init(UART_DEV_2); | ||
332 | + | ||
333 | + //喊话器初始化 | ||
334 | + Megaphone_Init(); | ||
335 | + | ||
336 | + //云台初始化 | ||
337 | + Gimbal_Init(); | ||
338 | + | ||
339 | + //灯类初始化 | ||
340 | + Lighting_Init(); | ||
341 | + | ||
342 | + delayMs(1000); | ||
343 | + | ||
344 | + //消息订阅初始化 | ||
345 | + JZsdk_Uart_Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON); | ||
346 | + } | ||
347 | + | ||
325 | else if (DEVICE_VERSION == JZ_C1) | 348 | else if (DEVICE_VERSION == JZ_C1) |
326 | { | 349 | { |
327 | //引脚初始化 | 350 | //引脚初始化 |
@@ -543,6 +566,28 @@ int Main_APP_Uart() | @@ -543,6 +566,28 @@ int Main_APP_Uart() | ||
543 | 566 | ||
544 | } | 567 | } |
545 | 568 | ||
569 | + else if (DEVICE_VERSION == JZ_U30) | ||
570 | + { | ||
571 | + //串口设备1初始化 | ||
572 | + JZsdk_Uart_Init(UART_DEV_1); | ||
573 | + | ||
574 | + //串口设备2初始化 | ||
575 | + JZsdk_Uart_Init(UART_DEV_2); | ||
576 | + | ||
577 | + //喊话器初始化 | ||
578 | + Megaphone_Init(); | ||
579 | + | ||
580 | + //云台初始化 | ||
581 | + Gimbal_Init(); | ||
582 | + | ||
583 | + //灯类初始化 | ||
584 | + Lighting_Init(); | ||
585 | + | ||
586 | + delayMs(1000); | ||
587 | + | ||
588 | + //消息订阅初始化 | ||
589 | + JZsdk_Uart_Send_MessageSubcription_Control(UART_DEV_2, JZ_FLAGCODE_ON); | ||
590 | + } | ||
546 | 591 | ||
547 | if (DEVICE_VERSION == TF_A1) | 592 | if (DEVICE_VERSION == TF_A1) |
548 | { | 593 | { |
@@ -178,6 +178,23 @@ extern "C" { | @@ -178,6 +178,23 @@ extern "C" { | ||
178 | #define NET_WORK_TARGET_IPADDR NULL | 178 | #define NET_WORK_TARGET_IPADDR NULL |
179 | #define NET_WORK_NETMASK NULL | 179 | #define NET_WORK_NETMASK NULL |
180 | 180 | ||
181 | +#elif DEVICE_VERSION == JZ_U30 | ||
182 | + #define UART_DEV1_NUM "/dev/ttyS1" | ||
183 | + #define UART_DEV1_BITRATE (115200) | ||
184 | + | ||
185 | + #define UART_DEV2_NUM "/dev/ttyS2" | ||
186 | + #define UART_DEV2_BITRATE (115200) | ||
187 | + | ||
188 | + #define COMM_4G_UART_NUM NULL | ||
189 | + #define COMM_4G_UART_BITRATE (0) | ||
190 | + | ||
191 | + #define GIMBAL_UART_NUM NULL | ||
192 | + #define GIMBAL_UART_BITRATE (0) | ||
193 | + | ||
194 | + #define NET_WORK_IPADDR NULL | ||
195 | + #define NET_WORK_TARGET_IPADDR NULL | ||
196 | + #define NET_WORK_NETMASK NULL | ||
197 | + | ||
181 | #elif DEVICE_VERSION == TF_A1 | 198 | #elif DEVICE_VERSION == TF_A1 |
182 | #define UART_DEV1_NUM "/dev/ttyS2" | 199 | #define UART_DEV1_NUM "/dev/ttyS2" |
183 | #define UART_DEV1_BITRATE (115200) | 200 | #define UART_DEV1_BITRATE (115200) |
@@ -41,6 +41,7 @@ | @@ -41,6 +41,7 @@ | ||
41 | #define JZ_U3 0x0017 | 41 | #define JZ_U3 0x0017 |
42 | #define JZ_U3S 0x0018 | 42 | #define JZ_U3S 0x0018 |
43 | #define JZ_U3D 0x0019 | 43 | #define JZ_U3D 0x0019 |
44 | +#define JZ_U30 0x001A | ||
44 | 45 | ||
45 | #define JZ_H150S 0x0013 | 46 | #define JZ_H150S 0x0013 |
46 | #define JZ_H150T 0x0015 | 47 | #define JZ_H150T 0x0015 |
@@ -7,7 +7,7 @@ | @@ -7,7 +7,7 @@ | ||
7 | #define VERSION_CHOOSE_H | 7 | #define VERSION_CHOOSE_H |
8 | #include "./ConfigParams.h" | 8 | #include "./ConfigParams.h" |
9 | //1~10行 除了D可以修改版本选择 禁止动任何东西 | 9 | //1~10行 除了D可以修改版本选择 禁止动任何东西 |
10 | -#define DEVICE_VERSION JZ_H1T | 10 | +#define DEVICE_VERSION JZ_H1E |
11 | 11 | ||
12 | //禁止修改行 选择是串口程序 还是 psdk程序 | 12 | //禁止修改行 选择是串口程序 还是 psdk程序 |
13 | #define APP_VERSION APP_PSDK | 13 | #define APP_VERSION APP_PSDK |
@@ -25,7 +25,7 @@ | @@ -25,7 +25,7 @@ | ||
25 | #define FILTERING_TYPE HIGH_PASS_FILTERING | 25 | #define FILTERING_TYPE HIGH_PASS_FILTERING |
26 | 26 | ||
27 | //禁止修改行固件属地 目前 国内版/海外版 | 27 | //禁止修改行固件属地 目前 国内版/海外版 |
28 | -#define FIRMWARE_ORIGIN DOMESTIC_VERSION | 28 | +#define FIRMWARE_ORIGIN OVERSEAS_VERSION |
29 | 29 | ||
30 | //禁止修改行指定特殊固件 | 30 | //禁止修改行指定特殊固件 |
31 | #define SPECIAL_VERSION SPECIAL_NORMAL | 31 | #define SPECIAL_VERSION SPECIAL_NORMAL |
@@ -284,6 +284,27 @@ T_JZsdkReturnCode Pcm_AlsaPlay(struct AudioDealInfo *IndexInfo, unsigned char *b | @@ -284,6 +284,27 @@ T_JZsdkReturnCode Pcm_AlsaPlay(struct AudioDealInfo *IndexInfo, unsigned char *b | ||
284 | //当输入的数据长度 》 每次写入音频设备时处理的帧数量384 | 284 | //当输入的数据长度 》 每次写入音频设备时处理的帧数量384 |
285 | int UnDeal_samples = num_samples; | 285 | int UnDeal_samples = num_samples; |
286 | 286 | ||
287 | + // 无论哪种都是暂时不行 | ||
288 | + // //加入一个降噪 | ||
289 | + // if (1) | ||
290 | + // { | ||
291 | + // //降噪处理 | ||
292 | + // //把数据组成一个数组 | ||
293 | + // short TempPcm; | ||
294 | + // for (int i = 0; i < num_samples; i+=2) | ||
295 | + // { | ||
296 | + // // TempPcm = (buf[i] & 0xFF) | ((short)buf[i+1] << 8); | ||
297 | + // // TempPcm = PcmNoiseReduction(TempPcm); | ||
298 | + // // buf[i] = TempPcm & 0xFF; | ||
299 | + // // buf[i+1] = (TempPcm >> 8) & 0xFF; | ||
300 | + | ||
301 | + // TempPcm = (buf[i+1] & 0xFF) | ((short)buf[i] << 8); | ||
302 | + // TempPcm = PcmNoiseReduction(TempPcm); | ||
303 | + // buf[i+1] = TempPcm & 0xFF; | ||
304 | + // buf[i] = (TempPcm >> 8) & 0xFF; | ||
305 | + // } | ||
306 | + // } | ||
307 | + | ||
287 | while(UnDeal_samples > 0 && IndexInfo->AudioDeal_Alsa_Execute_Flag != JZ_FLAGCODE_OFF) | 308 | while(UnDeal_samples > 0 && IndexInfo->AudioDeal_Alsa_Execute_Flag != JZ_FLAGCODE_OFF) |
288 | { | 309 | { |
289 | 310 |
@@ -22,69 +22,15 @@ | @@ -22,69 +22,15 @@ | ||
22 | 22 | ||
23 | #define NOISE_THRESHOLD 0.05 // 降噪阈值 | 23 | #define NOISE_THRESHOLD 0.05 // 降噪阈值 |
24 | 24 | ||
25 | -T_JZsdkReturnCode reduce_noise(float* samples, int num_samples) { | ||
26 | - for (int i = 0; i < num_samples; i++) { | ||
27 | - if (fabs(samples[i]) < NOISE_THRESHOLD) { | ||
28 | - samples[i] = 0.0f; // 如果样本小于阈值,则将其置为零 | ||
29 | - } | ||
30 | - } | ||
31 | -} | ||
32 | - | ||
33 | -T_JZsdkReturnCode PcmNoiseReduction(short *data, int len) | 25 | +short PcmNoiseReduction(short data) |
34 | { | 26 | { |
35 | - float float_buffer[len]; | ||
36 | - | ||
37 | // 转换为浮点数并进行降噪 | 27 | // 转换为浮点数并进行降噪 |
38 | - for (size_t i = 0; i < len; i++) { | ||
39 | - float_buffer[i] = data[i] / 32768.0f; // 从16-bit转换到 [-1.0, 1.0] | ||
40 | - } | ||
41 | - | ||
42 | - reduce_noise(float_buffer, len); | ||
43 | - | ||
44 | - // 转换回16-bit并写入输出文件 | ||
45 | - for (size_t i = 0; i < len; i++) | 28 | + short re_data; |
29 | + float float_buffer = data / 32768.0f; | ||
30 | + if (fabs(float_buffer) < NOISE_THRESHOLD) | ||
46 | { | 31 | { |
47 | - data[i] = (short)(float_buffer[i] * 32767.0f); // 溢出处理 | 32 | + float_buffer = 0.0f; // 如果样本小于阈值,则将其置为零 |
48 | } | 33 | } |
49 | - | ||
50 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 34 | + re_data = (short)(float_buffer * 32767.0f); // 溢出处理 |
35 | + return re_data; | ||
51 | } | 36 | } |
52 | - | ||
53 | -// #define NOISE_THRESHOLD 0.05 // 降噪阈值 | ||
54 | - | ||
55 | -// // 字节交换函数 | ||
56 | -// short swap_endian(short val) { | ||
57 | -// return (val >> 8) | (val << 8); | ||
58 | -// } | ||
59 | - | ||
60 | -// T_JZsdkReturnCode reduce_noise(float* samples, int num_samples) { | ||
61 | -// for (int i = 0; i < num_samples; i++) { | ||
62 | -// if (fabs(samples[i]) < NOISE_THRESHOLD) { | ||
63 | -// samples[i] = 0.0f; // 如果样本小于阈值,则将其置为零 | ||
64 | -// } | ||
65 | -// } | ||
66 | -// } | ||
67 | - | ||
68 | -// T_JZsdkReturnCode PcmNoiseReduction(U16_t *data, int len) | ||
69 | -// { | ||
70 | -// float float_buffer[len]; | ||
71 | - | ||
72 | -// // 将大端格式转换为浮点数 | ||
73 | -// for (size_t i = 0; i < len; i++) { | ||
74 | -// // 字节交换 | ||
75 | -// short sample = swap_endian(data[i]); | ||
76 | -// float_buffer[i] = sample / 32768.0f; // 从16-bit转换到 [-1.0, 1.0] | ||
77 | -// } | ||
78 | - | ||
79 | -// reduce_noise(float_buffer, len); | ||
80 | - | ||
81 | -// // 转换回16-bit并写入输出文件 | ||
82 | -// for (size_t i = 0; i < len; i++) | ||
83 | -// { | ||
84 | -// data[i] = (U16_t)(float_buffer[i] * 32767.0f); // 溢出处理 | ||
85 | - | ||
86 | -// data[i] = swap_endian(data[i]); | ||
87 | -// } | ||
88 | - | ||
89 | -// return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
90 | -// } |
1 | +/** | ||
2 | + ******************************************************************** | ||
3 | + * @file FF_FilterParam.h | ||
4 | + * FF_FilterParam.h | ||
5 | + * | ||
6 | + ********************************************************************* | ||
7 | + */ | ||
8 | + | ||
9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
10 | +#ifndef NOISE_REDUCTION_H | ||
11 | +#define NOISE_REDUCTION_H | ||
12 | + | ||
13 | +/* Includes ------------------------------------------------------------------*/ | ||
14 | +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | ||
15 | + | ||
16 | + | ||
17 | +#ifdef __cplusplus | ||
18 | +extern "C" { | ||
19 | +#endif | ||
20 | + | ||
21 | +/* Exported constants --------------------------------------------------------*/ | ||
22 | +/* 常亮定义*/ | ||
23 | + | ||
24 | + | ||
25 | +/* Exported types ------------------------------------------------------------*/ | ||
26 | + | ||
27 | +/* Exported functions --------------------------------------------------------*/ | ||
28 | +short PcmNoiseReduction(short data); | ||
29 | + | ||
30 | +#ifdef __cplusplus | ||
31 | +} | ||
32 | +#endif | ||
33 | + | ||
34 | +#endif |
@@ -190,7 +190,7 @@ static T_JZsdkReturnCode DeviceMessage_Enter_Default(unsigned char *message) | @@ -190,7 +190,7 @@ static T_JZsdkReturnCode DeviceMessage_Enter_Default(unsigned char *message) | ||
190 | #endif | 190 | #endif |
191 | 191 | ||
192 | //如果为组合版 | 192 | //如果为组合版 |
193 | -#if (DEVICE_VERSION == TF_A1 || DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S ||DEVICE_VERSION == JZ_U3D) | 193 | +#if (DEVICE_VERSION == TF_A1 || DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S ||DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) |
194 | 194 | ||
195 | // //组合板写入 | 195 | // //组合板写入 |
196 | // snprintf(new_message,128,"光斑y值%d\n",Widget_GetCenter_ValueY()); | 196 | // snprintf(new_message,128,"光斑y值%d\n",Widget_GetCenter_ValueY()); |
@@ -392,7 +392,7 @@ T_JZsdkReturnCode Gimbal_CheckStatus_Angle(int *PitchAngle, int *YawAngle, int * | @@ -392,7 +392,7 @@ T_JZsdkReturnCode Gimbal_CheckStatus_Angle(int *PitchAngle, int *YawAngle, int * | ||
392 | T_JZsdkReturnCode Gimbal_Obtain_Gimbal_Pitch(int Pitch) | 392 | T_JZsdkReturnCode Gimbal_Obtain_Gimbal_Pitch(int Pitch) |
393 | { | 393 | { |
394 | //目前 U3和 H1T会接受到云台返回值 | 394 | //目前 U3和 H1T会接受到云台返回值 |
395 | - if (DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D) | 395 | + if (DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) |
396 | { | 396 | { |
397 | //不做处理,避免出现什么问题 | 397 | //不做处理,避免出现什么问题 |
398 | } | 398 | } |
@@ -38,7 +38,7 @@ T_JZsdkReturnCode Gimbal_DataDeal_init() | @@ -38,7 +38,7 @@ T_JZsdkReturnCode Gimbal_DataDeal_init() | ||
38 | #elif DEVICE_VERSION == JZ_H1T || DEVICE_VERSION == JZ_C1 | 38 | #elif DEVICE_VERSION == JZ_H1T || DEVICE_VERSION == JZ_C1 |
39 | // 不用去特地初始化t60的云台 | 39 | // 不用去特地初始化t60的云台 |
40 | #elif DEVICE_VERSION == JZ_H10 || DEVICE_VERSION == JZ_H10T || DEVICE_VERSION == JZ_U3 \ | 40 | #elif DEVICE_VERSION == JZ_H10 || DEVICE_VERSION == JZ_H10T || DEVICE_VERSION == JZ_U3 \ |
41 | - || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == TF_A1 | 41 | + || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30 || DEVICE_VERSION == TF_A1 |
42 | //设置0度 | 42 | //设置0度 |
43 | 43 | ||
44 | #else | 44 | #else |
@@ -94,7 +94,7 @@ T_JZsdkReturnCode Gimbal_DataDeal_SetRealAngle(int angle) | @@ -94,7 +94,7 @@ T_JZsdkReturnCode Gimbal_DataDeal_SetRealAngle(int angle) | ||
94 | 94 | ||
95 | Ircut_PWM_control(PWM_num); | 95 | Ircut_PWM_control(PWM_num); |
96 | 96 | ||
97 | -#elif DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D \ | 97 | +#elif DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30 \ |
98 | || DEVICE_VERSION == TF_A1 | 98 | || DEVICE_VERSION == TF_A1 |
99 | 99 | ||
100 | //发送角度给串口2 | 100 | //发送角度给串口2 |
@@ -139,7 +139,7 @@ T_JZsdkReturnCode Gimbal_DataDeal_SetPitchRange(int Range) | @@ -139,7 +139,7 @@ T_JZsdkReturnCode Gimbal_DataDeal_SetPitchRange(int Range) | ||
139 | 139 | ||
140 | //还没想好怎么弄 | 140 | //还没想好怎么弄 |
141 | 141 | ||
142 | -#elif DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D \ | 142 | +#elif DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30 \ |
143 | || DEVICE_VERSION == TF_A1 | 143 | || DEVICE_VERSION == TF_A1 |
144 | 144 | ||
145 | if (Range == 0xFF) | 145 | if (Range == 0xFF) |
@@ -52,7 +52,7 @@ extern "C" { | @@ -52,7 +52,7 @@ extern "C" { | ||
52 | #define MAX_PITCH 0 | 52 | #define MAX_PITCH 0 |
53 | #define MIN_PITCH -600 | 53 | #define MIN_PITCH -600 |
54 | 54 | ||
55 | -#elif DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D \ | 55 | +#elif DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30 \ |
56 | || DEVICE_VERSION == TF_A1 | 56 | || DEVICE_VERSION == TF_A1 |
57 | 57 | ||
58 | #define PITCH_PWM_MAX 0 | 58 | #define PITCH_PWM_MAX 0 |
@@ -12,7 +12,7 @@ static int OutPutPower = JZ_FLAGCODE_OFF; | @@ -12,7 +12,7 @@ static int OutPutPower = JZ_FLAGCODE_OFF; | ||
12 | void Ircut_Init()//引脚初始化 | 12 | void Ircut_Init()//引脚初始化 |
13 | { | 13 | { |
14 | if (DEVICE_VERSION == JZ_H1E || DEVICE_VERSION == JZ_H1T || DEVICE_VERSION == JZ_H10T || | 14 | if (DEVICE_VERSION == JZ_H1E || DEVICE_VERSION == JZ_H1T || DEVICE_VERSION == JZ_H10T || |
15 | - DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || | 15 | + DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30|| |
16 | DEVICE_VERSION == TF_A1) | 16 | DEVICE_VERSION == TF_A1) |
17 | { | 17 | { |
18 | V3s_Ircut_Init(); | 18 | V3s_Ircut_Init(); |
@@ -53,7 +53,7 @@ int Ircut_uInit() | @@ -53,7 +53,7 @@ int Ircut_uInit() | ||
53 | void set_amplifier(int amplifier_mode) | 53 | void set_amplifier(int amplifier_mode) |
54 | { | 54 | { |
55 | if (DEVICE_VERSION == JZ_H1E || DEVICE_VERSION == JZ_H1T || DEVICE_VERSION == JZ_H10T || | 55 | if (DEVICE_VERSION == JZ_H1E || DEVICE_VERSION == JZ_H1T || DEVICE_VERSION == JZ_H10T || |
56 | - DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || | 56 | + DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30 || |
57 | DEVICE_VERSION == TF_A1) | 57 | DEVICE_VERSION == TF_A1) |
58 | { | 58 | { |
59 | V3s_set_amplifier(amplifier_mode); | 59 | V3s_set_amplifier(amplifier_mode); |
@@ -119,7 +119,7 @@ T_JZsdkReturnCode Ircut_CheckStatus_OutPutPower(int *value) | @@ -119,7 +119,7 @@ T_JZsdkReturnCode Ircut_CheckStatus_OutPutPower(int *value) | ||
119 | T_JZsdkReturnCode Ircut_PinControl(int port, int num, int status) | 119 | T_JZsdkReturnCode Ircut_PinControl(int port, int num, int status) |
120 | { | 120 | { |
121 | if (DEVICE_VERSION == JZ_H1E || DEVICE_VERSION == JZ_H1T || DEVICE_VERSION == JZ_H10T || | 121 | if (DEVICE_VERSION == JZ_H1E || DEVICE_VERSION == JZ_H1T || DEVICE_VERSION == JZ_H10T || |
122 | - DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || | 122 | + DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30 || |
123 | DEVICE_VERSION == TF_A1) | 123 | DEVICE_VERSION == TF_A1) |
124 | { | 124 | { |
125 | V3s_PinControl(port, num, status); | 125 | V3s_PinControl(port, num, status); |
@@ -69,7 +69,7 @@ T_JZsdkReturnCode Lighting_SearchLightControl(int mode) | @@ -69,7 +69,7 @@ T_JZsdkReturnCode Lighting_SearchLightControl(int mode) | ||
69 | 69 | ||
70 | SearchLight_Mode = mode; | 70 | SearchLight_Mode = mode; |
71 | 71 | ||
72 | - if (DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D) | 72 | + if (DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) |
73 | { | 73 | { |
74 | return SearchLight_V3S_U3_SearchLightControl(mode); | 74 | return SearchLight_V3S_U3_SearchLightControl(mode); |
75 | } | 75 | } |
@@ -122,7 +122,7 @@ T_JZsdkReturnCode Lighting_Set_SearchLightLumen(int LeftLumen, int RightLumen) | @@ -122,7 +122,7 @@ T_JZsdkReturnCode Lighting_Set_SearchLightLumen(int LeftLumen, int RightLumen) | ||
122 | { | 122 | { |
123 | printf("设置%x探照灯灯光亮度\n",DEVICE_VERSION); | 123 | printf("设置%x探照灯灯光亮度\n",DEVICE_VERSION); |
124 | 124 | ||
125 | - if (DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D) | 125 | + if (DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) |
126 | { | 126 | { |
127 | SearchLight_RightLumen = RightLumen; | 127 | SearchLight_RightLumen = RightLumen; |
128 | SearchLight_LeftLumen = LeftLumen; | 128 | SearchLight_LeftLumen = LeftLumen; |
@@ -148,7 +148,7 @@ T_JZsdkReturnCode Lighting_Obtain_SearchLightLumen(int LeftLumen, int RightLumen | @@ -148,7 +148,7 @@ T_JZsdkReturnCode Lighting_Obtain_SearchLightLumen(int LeftLumen, int RightLumen | ||
148 | printf("接收到%x探照灯灯光亮度 左灯%d 右灯%d\n",DEVICE_VERSION, LeftLumen, RightLumen); | 148 | printf("接收到%x探照灯灯光亮度 左灯%d 右灯%d\n",DEVICE_VERSION, LeftLumen, RightLumen); |
149 | 149 | ||
150 | //如果是主喊话器副灯的单一设备 | 150 | //如果是主喊话器副灯的单一设备 |
151 | - if (DEVICE_VERSION == TF_A1 || DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D) | 151 | + if (DEVICE_VERSION == TF_A1 || DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) |
152 | { | 152 | { |
153 | 153 | ||
154 | } | 154 | } |
@@ -190,7 +190,7 @@ T_JZsdkReturnCode Lighting_Set_SearchLightFrequency(int value) | @@ -190,7 +190,7 @@ T_JZsdkReturnCode Lighting_Set_SearchLightFrequency(int value) | ||
190 | { | 190 | { |
191 | printf("设置0x%x:探照灯爆闪频率\n",DEVICE_VERSION); | 191 | printf("设置0x%x:探照灯爆闪频率\n",DEVICE_VERSION); |
192 | 192 | ||
193 | - if (DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D) | 193 | + if (DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) |
194 | { | 194 | { |
195 | return SearchLight_V3S_U3_Set_SearchLightFrequency(value); | 195 | return SearchLight_V3S_U3_Set_SearchLightFrequency(value); |
196 | } | 196 | } |
@@ -248,7 +248,7 @@ T_JZsdkReturnCode Lighting_Obtain_SearchLightTemperature(int LeftTemperature, in | @@ -248,7 +248,7 @@ T_JZsdkReturnCode Lighting_Obtain_SearchLightTemperature(int LeftTemperature, in | ||
248 | } | 248 | } |
249 | 249 | ||
250 | //如果是JZ u3 | 250 | //如果是JZ u3 |
251 | - if (DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D) | 251 | + if (DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) |
252 | { | 252 | { |
253 | //输入温度进温度控制线程 | 253 | //输入温度进温度控制线程 |
254 | SearchLightTemControl_Set_g_InputTemp(Max_tmeperature); | 254 | SearchLightTemControl_Set_g_InputTemp(Max_tmeperature); |
@@ -302,7 +302,7 @@ T_JZsdkReturnCode Lighting_Set_WarningLight_Status(int status, int mode) | @@ -302,7 +302,7 @@ T_JZsdkReturnCode Lighting_Set_WarningLight_Status(int status, int mode) | ||
302 | 302 | ||
303 | #elif DEVICE_VERSION == TF_A1 | 303 | #elif DEVICE_VERSION == TF_A1 |
304 | return WarningLight_V3S_TFA1_Set_WarningLight_Status(status, mode); | 304 | return WarningLight_V3S_TFA1_Set_WarningLight_Status(status, mode); |
305 | -#elif DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D | 305 | +#elif DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30 |
306 | return JZsdk_Uart_Send_Set_WarningLight_Status(UART_DEV_2, status, mode); | 306 | return JZsdk_Uart_Send_Set_WarningLight_Status(UART_DEV_2, status, mode); |
307 | #else | 307 | #else |
308 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 308 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
@@ -363,7 +363,7 @@ T_JZsdkReturnCode Lighting_Set_WarningLight_Color(int color1, int color2) | @@ -363,7 +363,7 @@ T_JZsdkReturnCode Lighting_Set_WarningLight_Color(int color1, int color2) | ||
363 | 363 | ||
364 | #elif DEVICE_VERSION == TF_A1 | 364 | #elif DEVICE_VERSION == TF_A1 |
365 | return WarningLight_V3S_TFA1_Set_WarningLight_Color(color1, color2); | 365 | return WarningLight_V3S_TFA1_Set_WarningLight_Color(color1, color2); |
366 | -#elif DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D | 366 | +#elif DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30 |
367 | JZsdk_Uart_Send_Set_WarningLight_Color(UART_DEV_2, color1, color2); | 367 | JZsdk_Uart_Send_Set_WarningLight_Color(UART_DEV_2, color1, color2); |
368 | #else | 368 | #else |
369 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 369 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
@@ -85,6 +85,10 @@ static int JZsdk_SearchLightGetLimitTemp(int DeviceMode) | @@ -85,6 +85,10 @@ static int JZsdk_SearchLightGetLimitTemp(int DeviceMode) | ||
85 | return 70; | 85 | return 70; |
86 | break; | 86 | break; |
87 | 87 | ||
88 | + case JZ_U30: | ||
89 | + return 70; | ||
90 | + break; | ||
91 | + | ||
88 | case TF_A1: | 92 | case TF_A1: |
89 | return 70; | 93 | return 70; |
90 | break; | 94 | break; |
@@ -35,6 +35,7 @@ T_JZsdkReturnCode AudioFile_StartPlay_Interface(unsigned char* FilePath) | @@ -35,6 +35,7 @@ T_JZsdkReturnCode AudioFile_StartPlay_Interface(unsigned char* FilePath) | ||
35 | AVCodecContext *codec_ctx = NULL; | 35 | AVCodecContext *codec_ctx = NULL; |
36 | 36 | ||
37 | double total_duration = 0; // 累计播放时间(秒) | 37 | double total_duration = 0; // 累计播放时间(秒) |
38 | + int last_printed_second = -1; // 上次打印的秒数,初始化为-1表示还没有打印过 | ||
38 | 39 | ||
39 | //3、创建一个音频上下文 | 40 | //3、创建一个音频上下文 |
40 | AVFormatContext *fmt_ctx = avformat_alloc_context(); | 41 | AVFormatContext *fmt_ctx = avformat_alloc_context(); |
@@ -157,9 +158,14 @@ T_JZsdkReturnCode AudioFile_StartPlay_Interface(unsigned char* FilePath) | @@ -157,9 +158,14 @@ T_JZsdkReturnCode AudioFile_StartPlay_Interface(unsigned char* FilePath) | ||
157 | // 累计总持续时间 | 158 | // 累计总持续时间 |
158 | total_duration += frame_duration; | 159 | total_duration += frame_duration; |
159 | //JZSDK_LOG_INFO("当前播放时间%f",total_duration); | 160 | //JZSDK_LOG_INFO("当前播放时间%f",total_duration); |
160 | - if (Last_duration != (int)total_duration) | 161 | + |
162 | + | ||
163 | + // 检查是否需要打印 | ||
164 | + int current_second = (int)floor(total_duration); // 获取当前总时间的整数秒部分 | ||
165 | + if (current_second > last_printed_second) | ||
161 | { | 166 | { |
162 | - printf("nb:%d rate:%d duration:%f total_duration:%f\n", frame->nb_samples, codec_ctx->sample_rate, frame_duration, total_duration); | 167 | + printf("nb:%d rate:%d duration:%f total_duration:%f\n", frame->nb_samples, codec_ctx->sample_rate, frame_duration, current_second); |
168 | + last_printed_second = current_second; // 更新上次打印的秒数 | ||
163 | } | 169 | } |
164 | 170 | ||
165 | AudioFile_Stream_DataInput(frame); | 171 | AudioFile_Stream_DataInput(frame); |
@@ -872,7 +872,7 @@ T_JZsdkReturnCode Megaphone_Init() | @@ -872,7 +872,7 @@ T_JZsdkReturnCode Megaphone_Init() | ||
872 | int language = 0x01; | 872 | int language = 0x01; |
873 | Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language); | 873 | Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language); |
874 | } | 874 | } |
875 | - else if (OriginValue == ORIGIN_EN) | 875 | + else |
876 | { | 876 | { |
877 | int language = 0x11; | 877 | int language = 0x11; |
878 | Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language); | 878 | Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language); |
@@ -1317,7 +1317,7 @@ T_JZsdkReturnCode Meg_SetVolumeFun(int volume) | @@ -1317,7 +1317,7 @@ T_JZsdkReturnCode Meg_SetVolumeFun(int volume) | ||
1317 | { | 1317 | { |
1318 | snprintf(cmdBuffer,128, "amixer set -c 0 Master %d",volume); | 1318 | snprintf(cmdBuffer,128, "amixer set -c 0 Master %d",volume); |
1319 | } | 1319 | } |
1320 | - else if (DEVICE_VERSION == JZ_H10T || DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D) | 1320 | + else if (DEVICE_VERSION == JZ_H10T || DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) |
1321 | { | 1321 | { |
1322 | snprintf(cmdBuffer,128, "amixer sset -c 0 'Headphone' %d unmute",volume); | 1322 | snprintf(cmdBuffer,128, "amixer sset -c 0 'Headphone' %d unmute",volume); |
1323 | } | 1323 | } |
@@ -26,7 +26,7 @@ T_JZsdkReturnCode Start_voice() | @@ -26,7 +26,7 @@ T_JZsdkReturnCode Start_voice() | ||
26 | //播放喊话器启动中 | 26 | //播放喊话器启动中 |
27 | Megaphone_TTS_Play("喊话器直连模式启动中", strlen("喊话器直连模式启动中"), JZ_FLAGCODE_OFF); | 27 | Megaphone_TTS_Play("喊话器直连模式启动中", strlen("喊话器直连模式启动中"), JZ_FLAGCODE_OFF); |
28 | } | 28 | } |
29 | - else if (OriginValue == ORIGIN_EN) | 29 | + else |
30 | { | 30 | { |
31 | int language = 0x11; | 31 | int language = 0x11; |
32 | Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language); | 32 | Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language); |
@@ -56,7 +56,7 @@ T_JZsdkReturnCode Start_up_and_broadcast_voice() | @@ -56,7 +56,7 @@ T_JZsdkReturnCode Start_up_and_broadcast_voice() | ||
56 | //播放喊话器启动中 | 56 | //播放喊话器启动中 |
57 | Megaphone_TTS_Play("喊话器准备就绪", strlen("喊话器准备就绪"), JZ_FLAGCODE_OFF); | 57 | Megaphone_TTS_Play("喊话器准备就绪", strlen("喊话器准备就绪"), JZ_FLAGCODE_OFF); |
58 | } | 58 | } |
59 | - else if (OriginValue == ORIGIN_EN) | 59 | + else |
60 | { | 60 | { |
61 | int language = 0x11; | 61 | int language = 0x11; |
62 | Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language); | 62 | Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language); |
@@ -96,7 +96,7 @@ T_JZsdkReturnCode Start_up_and_broadcast_voice() | @@ -96,7 +96,7 @@ T_JZsdkReturnCode Start_up_and_broadcast_voice() | ||
96 | //播放喊话器启动中 | 96 | //播放喊话器启动中 |
97 | Megaphone_TTS_Play("喊话器直连模式准备就绪", strlen("喊话器直连模式准备就绪"), JZ_FLAGCODE_OFF); | 97 | Megaphone_TTS_Play("喊话器直连模式准备就绪", strlen("喊话器直连模式准备就绪"), JZ_FLAGCODE_OFF); |
98 | } | 98 | } |
99 | - else if (OriginValue == ORIGIN_EN) | 99 | + else |
100 | { | 100 | { |
101 | int language = 0x11; | 101 | int language = 0x11; |
102 | Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language); | 102 | Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language); |
@@ -56,7 +56,8 @@ static T_JZsdkReturnCode TTS_Synthesis(const char* src_text, const char* params) | @@ -56,7 +56,8 @@ static T_JZsdkReturnCode TTS_Synthesis(const char* src_text, const char* params) | ||
56 | while (Megaphone_MegDataGenFlag(JZ_FLAGCODE_GET, 0) == JZ_FLAGCODE_ON) | 56 | while (Megaphone_MegDataGenFlag(JZ_FLAGCODE_GET, 0) == JZ_FLAGCODE_ON) |
57 | { | 57 | { |
58 | /* 获取合成音频 */ | 58 | /* 获取合成音频 */ |
59 | - const void* data = QTTSAudioGet(sessionID, &audio_len, &synth_status, &ret); | 59 | + //const void* data = QTTSAudioGet(sessionID, &audio_len, &synth_status, &ret); |
60 | + unsigned char *data = QTTSAudioGet(sessionID, &audio_len, &synth_status, &ret); | ||
60 | if (ret != MSP_SUCCESS) | 61 | if (ret != MSP_SUCCESS) |
61 | { | 62 | { |
62 | break; | 63 | break; |
@@ -68,6 +69,26 @@ static T_JZsdkReturnCode TTS_Synthesis(const char* src_text, const char* params) | @@ -68,6 +69,26 @@ static T_JZsdkReturnCode TTS_Synthesis(const char* src_text, const char* params) | ||
68 | #if TTS_SAVE | 69 | #if TTS_SAVE |
69 | fwrite((unsigned char *)data, sizeof(unsigned char), audio_len, fp); // 写入数据 | 70 | fwrite((unsigned char *)data, sizeof(unsigned char), audio_len, fp); // 写入数据 |
70 | #endif | 71 | #endif |
72 | + // //降噪 | ||
73 | + // if (1) | ||
74 | + // { | ||
75 | + // //降噪处理 | ||
76 | + // //把数据组成一个数组 | ||
77 | + // short TempPcm; | ||
78 | + // for (int i = 0; i < audio_len; i+=2) | ||
79 | + // { | ||
80 | + // TempPcm = ( data[i] & 0xFF) | ((short)data[i+1] << 8); | ||
81 | + // TempPcm = PcmNoiseReduction(TempPcm); | ||
82 | + // data[i] = TempPcm & 0xFF; | ||
83 | + // data[i+1] = (TempPcm >> 8) & 0xFF; | ||
84 | + | ||
85 | + // // TempPcm = (data[i+1] & 0xFF) | ((short)data[i] << 8); | ||
86 | + // // TempPcm = PcmNoiseReduction(TempPcm); | ||
87 | + // // data[i+1] = TempPcm & 0xFF; | ||
88 | + // // data[i] = (TempPcm >> 8) & 0xFF; | ||
89 | + // } | ||
90 | + // } | ||
91 | + | ||
71 | //没将数据放入PCM通道 | 92 | //没将数据放入PCM通道 |
72 | //printf("产生了%d 的数据\n",audio_len); | 93 | //printf("产生了%d 的数据\n",audio_len); |
73 | AudioDeal_PcmDataInput(16000, (unsigned char *)data, audio_len); | 94 | AudioDeal_PcmDataInput(16000, (unsigned char *)data, audio_len); |
@@ -58,6 +58,9 @@ extern "C" { | @@ -58,6 +58,9 @@ extern "C" { | ||
58 | #elif DEVICE_VERSION == JZ_U3D | 58 | #elif DEVICE_VERSION == JZ_U3D |
59 | #define MAX_VOLUME (80) | 59 | #define MAX_VOLUME (80) |
60 | #define MAX_TTS_VOLUME (90) | 60 | #define MAX_TTS_VOLUME (90) |
61 | +#elif DEVICE_VERSION == JZ_U30 | ||
62 | + #define MAX_VOLUME (80) | ||
63 | + #define MAX_TTS_VOLUME (90) | ||
61 | #elif DEVICE_VERSION == JZ_U3S | 64 | #elif DEVICE_VERSION == JZ_U3S |
62 | #define MAX_VOLUME (74) | 65 | #define MAX_VOLUME (74) |
63 | #define MAX_TTS_VOLUME (82) | 66 | #define MAX_TTS_VOLUME (82) |
@@ -170,9 +170,15 @@ static T_JZsdkReturnCode Opus_RealTimeVoice_PlayData(unsigned char *data,int len | @@ -170,9 +170,15 @@ static T_JZsdkReturnCode Opus_RealTimeVoice_PlayData(unsigned char *data,int len | ||
170 | } | 170 | } |
171 | 171 | ||
172 | //转换 | 172 | //转换 |
173 | - for (i = 0; i < WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS * frame_size; i++) { | ||
174 | - pcm_bytes[2 * i] = out[i] & 0xFF; | ||
175 | - pcm_bytes[2 * i + 1] = (out[i] >> 8) & 0xFF; | 173 | + opus_int16 TempPcm[WIDGET_SPEAKER_AUDIO_OPUS_MAX_FRAME_SIZE * WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS]; |
174 | + | ||
175 | + for (i = 0; i < WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS * frame_size; i++) | ||
176 | + { | ||
177 | + TempPcm [i] = out[i] & 0xFF | (out[i] >> 8) << 8; | ||
178 | + TempPcm[i] = PcmNoiseReduction(TempPcm[i]); | ||
179 | + | ||
180 | + pcm_bytes[2 * i] = TempPcm[i] & 0xFF; | ||
181 | + pcm_bytes[2 * i + 1] = (TempPcm[i] >> 8) & 0xFF; | ||
176 | } | 182 | } |
177 | 183 | ||
178 | AudioDeal_PcmDataInput(RealTimeDecodeRate, pcm_bytes, frame_size*2); | 184 | AudioDeal_PcmDataInput(RealTimeDecodeRate, pcm_bytes, frame_size*2); |
@@ -391,7 +391,8 @@ static T_JZsdkReturnCode Opus_Decode() | @@ -391,7 +391,8 @@ static T_JZsdkReturnCode Opus_Decode() | ||
391 | while (1) | 391 | while (1) |
392 | { | 392 | { |
393 | int i; | 393 | int i; |
394 | - unsigned char pcm_bytes[OPUS_MAX_FRAME_SIZE * OPUS_CHANNELS * 2]; | 394 | + opus_int16 TempPcm[OPUS_MAX_FRAME_SIZE * OPUS_CHANNELS]; |
395 | + | ||
395 | frame_size = 0; | 396 | frame_size = 0; |
396 | 397 | ||
397 | //读取opus内容 | 398 | //读取opus内容 |
@@ -419,17 +420,14 @@ static T_JZsdkReturnCode Opus_Decode() | @@ -419,17 +420,14 @@ static T_JZsdkReturnCode Opus_Decode() | ||
419 | //解码完成 | 420 | //解码完成 |
420 | printf("decode data to file: %d\r\n", frame_size * OPUS_CHANNELS); | 421 | printf("decode data to file: %d\r\n", frame_size * OPUS_CHANNELS); |
421 | /* Convert to little-endian ordering. */ | 422 | /* Convert to little-endian ordering. */ |
422 | - for (i = 0; i < OPUS_CHANNELS * frame_size; i++) | ||
423 | - { | ||
424 | - pcm_bytes[2 * i] = out[i] & 0xFF; | ||
425 | - pcm_bytes[2 * i + 1] = (out[i] >> 8) & 0xFF; | ||
426 | - } | ||
427 | 423 | ||
428 | - //PcmNoiseReduction(pcm_bytes, frame_size*2 , 1) ; | 424 | + for (i = 0; i < OPUS_CHANNELS * frame_size; i++) { |
425 | + TempPcm [i] = out[i] & 0xFF | (out[i] >> 8) << 8; | ||
426 | + TempPcm[i] = PcmNoiseReduction(TempPcm[i]); | ||
427 | + } | ||
429 | 428 | ||
429 | + fwrite(TempPcm, sizeof(short), frame_size * OPUS_CHANNELS, fout); | ||
430 | 430 | ||
431 | - //保存解码内容 | ||
432 | - fwrite(pcm_bytes, sizeof(short), frame_size * OPUS_CHANNELS, fout); | ||
433 | } | 431 | } |
434 | 432 | ||
435 | DecodeFinsh: | 433 | DecodeFinsh: |
@@ -469,7 +469,7 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_LumenAndVolume_PowerLimitation(int flag, int | @@ -469,7 +469,7 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_LumenAndVolume_PowerLimitation(int flag, int | ||
469 | //输入亮度 | 469 | //输入亮度 |
470 | if (flag == 0) | 470 | if (flag == 0) |
471 | { | 471 | { |
472 | - if (DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D) | 472 | + if (DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) |
473 | { | 473 | { |
474 | if (value + widget_volume > 150) | 474 | if (value + widget_volume > 150) |
475 | { | 475 | { |
@@ -480,7 +480,7 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_LumenAndVolume_PowerLimitation(int flag, int | @@ -480,7 +480,7 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_LumenAndVolume_PowerLimitation(int flag, int | ||
480 | //输入音量 | 480 | //输入音量 |
481 | else if (flag == 1) | 481 | else if (flag == 1) |
482 | { | 482 | { |
483 | - if (DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D) | 483 | + if (DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) |
484 | { | 484 | { |
485 | if (value + widget_lumen > 150 ) | 485 | if (value + widget_lumen > 150 ) |
486 | { | 486 | { |
@@ -617,7 +617,7 @@ int JZsdk_Psdk_UI_io_GetTTSTone_ByValue(int value) | @@ -617,7 +617,7 @@ int JZsdk_Psdk_UI_io_GetTTSTone_ByValue(int value) | ||
617 | 617 | ||
618 | } | 618 | } |
619 | 619 | ||
620 | - if (OriginValue == ORIGIN_EN) | 620 | + else |
621 | { | 621 | { |
622 | switch (value) | 622 | switch (value) |
623 | { | 623 | { |
@@ -1007,7 +1007,7 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_Set_SearchLightLumen(int wheather_control,int | @@ -1007,7 +1007,7 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_Set_SearchLightLumen(int wheather_control,int | ||
1007 | if (wheather_control == AUTO_CONTROL) | 1007 | if (wheather_control == AUTO_CONTROL) |
1008 | { | 1008 | { |
1009 | //u3比较特殊,单片机拉亮度,u3会亮,所以关闭灯的情况下,不准发给处理模块 | 1009 | //u3比较特殊,单片机拉亮度,u3会亮,所以关闭灯的情况下,不准发给处理模块 |
1010 | - if ((DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D)&& SearchLightMode == JZ_FLAGCODE_OFF) | 1010 | + if ((DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30)&& SearchLightMode == JZ_FLAGCODE_OFF) |
1011 | { | 1011 | { |
1012 | Lumen_sync_flag = JZ_FLAGCODE_ON; //打开u3的同步flag | 1012 | Lumen_sync_flag = JZ_FLAGCODE_ON; //打开u3的同步flag |
1013 | ret = JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 1013 | ret = JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
@@ -239,15 +239,15 @@ T_DjiReturnCode DjiTest_WidgetStartService(void) | @@ -239,15 +239,15 @@ T_DjiReturnCode DjiTest_WidgetStartService(void) | ||
239 | { | 239 | { |
240 | snprintf(curFileDirPath, WIDGET_DIR_PATH_LEN_MAX, "%s/cn",WIDGET_FILE_DIR); | 240 | snprintf(curFileDirPath, WIDGET_DIR_PATH_LEN_MAX, "%s/cn",WIDGET_FILE_DIR); |
241 | } | 241 | } |
242 | - else if (originValue == ORIGIN_EN) | ||
243 | - { | ||
244 | - snprintf(curFileDirPath, WIDGET_DIR_PATH_LEN_MAX, "%s/en",WIDGET_FILE_DIR); | ||
245 | - } | ||
246 | else | 242 | else |
247 | { | 243 | { |
248 | - JZSDK_LOG_ERROR("控件加载错误"); | ||
249 | - snprintf(curFileDirPath, WIDGET_DIR_PATH_LEN_MAX, "%s/cn",WIDGET_FILE_DIR); | 244 | + snprintf(curFileDirPath, WIDGET_DIR_PATH_LEN_MAX, "%s/en",WIDGET_FILE_DIR); |
250 | } | 245 | } |
246 | + // else | ||
247 | + // { | ||
248 | + // JZSDK_LOG_ERROR("控件加载错误"); | ||
249 | + // snprintf(curFileDirPath, WIDGET_DIR_PATH_LEN_MAX, "%s/cn",WIDGET_FILE_DIR); | ||
250 | + // } | ||
251 | 251 | ||
252 | //检查是否存在开启测试的文件 | 252 | //检查是否存在开启测试的文件 |
253 | if (JZsdk_check_file_exists("/root/ShakedownTest") == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | 253 | if (JZsdk_check_file_exists("/root/ShakedownTest") == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) |
@@ -257,7 +257,8 @@ static void *DecodeAudioData_task(void *arg) | @@ -257,7 +257,8 @@ static void *DecodeAudioData_task(void *arg) | ||
257 | 257 | ||
258 | while (1) { | 258 | while (1) { |
259 | int i; | 259 | int i; |
260 | - unsigned char pcm_bytes[WIDGET_SPEAKER_AUDIO_OPUS_MAX_FRAME_SIZE * WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS * 2]; | 260 | + //unsigned char pcm_bytes[WIDGET_SPEAKER_AUDIO_OPUS_MAX_FRAME_SIZE * WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS * 2]; |
261 | + opus_int16 TempPcm[WIDGET_SPEAKER_AUDIO_OPUS_MAX_FRAME_SIZE * WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS]; | ||
261 | int frame_size; | 262 | int frame_size; |
262 | 263 | ||
263 | /* Read a 16 bits/sample audio frame. 16000/8000*2 */ | 264 | /* Read a 16 bits/sample audio frame. 16000/8000*2 */ |
@@ -284,36 +285,13 @@ static void *DecodeAudioData_task(void *arg) | @@ -284,36 +285,13 @@ static void *DecodeAudioData_task(void *arg) | ||
284 | USER_LOG_INFO("decode data to file: %d\r\n", frame_size * WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS); | 285 | USER_LOG_INFO("decode data to file: %d\r\n", frame_size * WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS); |
285 | /* Convert to little-endian ordering. */ | 286 | /* Convert to little-endian ordering. */ |
286 | 287 | ||
287 | - opus_int16 TempPcm[WIDGET_SPEAKER_AUDIO_OPUS_MAX_FRAME_SIZE * WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS]; | ||
288 | - | ||
289 | for (i = 0; i < WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS * frame_size; i++) { | 288 | for (i = 0; i < WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS * frame_size; i++) { |
290 | - // if (out[i] == 0xFFFF) | ||
291 | - // { | ||
292 | - // pcm_bytes[2 * i] = 0x00; | ||
293 | - // pcm_bytes[2 * i + 1] = 0x00; | ||
294 | - // continue; | ||
295 | - // } | ||
296 | - | ||
297 | - //方案一 | ||
298 | TempPcm [i] = out[i] & 0xFF | (out[i] >> 8) << 8; | 289 | TempPcm [i] = out[i] & 0xFF | (out[i] >> 8) << 8; |
299 | - PcmNoiseReduction(TempPcm, 1); | ||
300 | - | ||
301 | - //方案二 | ||
302 | - // TempPcm [i] = ((out[i] & 0xFF) << 8) | (out [i] >> 8); | ||
303 | - // PcmNoiseReduction(TempPcm, 1); | ||
304 | - // TempPcm [i] = TempPcm[i] & 0xFF | (TempPcm[i] >> 8) << 8; | ||
305 | - | ||
306 | - // pcm_bytes[2 * i] = out[i] & 0xFF; | ||
307 | - // pcm_bytes[2 * i + 1] = (out[i] >> 8) & 0xFF; | ||
308 | - | 290 | + TempPcm[i] = PcmNoiseReduction(TempPcm[i]); |
309 | } | 291 | } |
310 | 292 | ||
311 | fwrite(TempPcm, sizeof(short), frame_size * WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS, fout); | 293 | fwrite(TempPcm, sizeof(short), frame_size * WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS, fout); |
312 | 294 | ||
313 | - | ||
314 | - //PcmNoiseReduction(pcm_bytes, frame_size * WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS * 2); | ||
315 | - | ||
316 | - | ||
317 | /* Write the decoded audio to file. */ | 295 | /* Write the decoded audio to file. */ |
318 | //fwrite(pcm_bytes, sizeof(short), frame_size * WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS, fout); | 296 | //fwrite(pcm_bytes, sizeof(short), frame_size * WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS, fout); |
319 | } | 297 | } |
1 | # cmake 最低版本要求 第三行名字不能动 | 1 | # cmake 最低版本要求 第三行名字不能动 |
2 | cmake_minimum_required(VERSION 2.8) | 2 | cmake_minimum_required(VERSION 2.8) |
3 | -project(JZ_H1T) | 3 | +project(JZ-H1E) |
4 | 4 | ||
5 | set(CMAKE_C_FLAGS "-pthread -std=gnu99 -lm -ldl -lstdc++") | 5 | set(CMAKE_C_FLAGS "-pthread -std=gnu99 -lm -ldl -lstdc++") |
6 | #"-pthread":指定在编译时链接POSIX线程库,以支持多线程程序。 | 6 | #"-pthread":指定在编译时链接POSIX线程库,以支持多线程程序。 |
@@ -52,7 +52,7 @@ extern "C" { | @@ -52,7 +52,7 @@ extern "C" { | ||
52 | #define USER_APP_LICENSE "qHRtELC2A04PRBt1xOJ1pqkowJ2OZqwdAUPqOVc7WcWwVIR3Fnadjakhl0i7F1wnFNUKELlDLaDsCYLIhkzOd0kDPQcCksVk3Dla498xLD3Z1b5BcI+hlZXETwTmi+7Td0k1E3Rnt9OPGdqrA8W9mBg333EGGjARFGDfaK2BHhDexUE8yLoVhwkqk3t/0wV8kbyrlZzKsvo0kMUifbALCoLPoCO622Rdu056z+opYUX1OlXCGhDxVSDD43Oaab5bupcC4CGrmkpfiCvS78H7Uinc9b9Xf5Ocy373Cpoet7blux66DOiH5muSQVcrY3gnVKQVk7GRnO6piQh9mKHDdQ==" | 52 | #define USER_APP_LICENSE "qHRtELC2A04PRBt1xOJ1pqkowJ2OZqwdAUPqOVc7WcWwVIR3Fnadjakhl0i7F1wnFNUKELlDLaDsCYLIhkzOd0kDPQcCksVk3Dla498xLD3Z1b5BcI+hlZXETwTmi+7Td0k1E3Rnt9OPGdqrA8W9mBg333EGGjARFGDfaK2BHhDexUE8yLoVhwkqk3t/0wV8kbyrlZzKsvo0kMUifbALCoLPoCO622Rdu056z+opYUX1OlXCGhDxVSDD43Oaab5bupcC4CGrmkpfiCvS78H7Uinc9b9Xf5Ocy373Cpoet7blux66DOiH5muSQVcrY3gnVKQVk7GRnO6piQh9mKHDdQ==" |
53 | #define USER_DEVELOPER_ACCOUNT "jizhisdk@163.com" | 53 | #define USER_DEVELOPER_ACCOUNT "jizhisdk@163.com" |
54 | 54 | ||
55 | - #if (DEVICE_VERSION == JZ_H1T || DEVICE_VERSION == JZ_H1E || DEVICE_VERSION == JZ_U3|| DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D) | 55 | + #if (DEVICE_VERSION == JZ_H1T || DEVICE_VERSION == JZ_H1E || DEVICE_VERSION == JZ_U3|| DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) |
56 | #define USER_BAUD_RATE "921600" | 56 | #define USER_BAUD_RATE "921600" |
57 | #elif (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T || DEVICE_VERSION == JZ_H10 || DEVICE_VERSION == JZ_C1) | 57 | #elif (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T || DEVICE_VERSION == JZ_H10 || DEVICE_VERSION == JZ_C1) |
58 | #define USER_BAUD_RATE "230400" | 58 | #define USER_BAUD_RATE "230400" |
@@ -222,10 +222,6 @@ int main(int argc, char *argv[]) | @@ -222,10 +222,6 @@ int main(int argc, char *argv[]) | ||
222 | { | 222 | { |
223 | memcpy(psdk_name, "JZ_H1T", sizeof("JZ_H1T")); | 223 | memcpy(psdk_name, "JZ_H1T", sizeof("JZ_H1T")); |
224 | } | 224 | } |
225 | - else if (originValue == ORIGIN_EN) | ||
226 | - { | ||
227 | - memcpy(psdk_name, "JZ-H1T", sizeof("JZ-H1T")); | ||
228 | - } | ||
229 | else | 225 | else |
230 | { | 226 | { |
231 | memcpy(psdk_name, "JZ_H1T", sizeof("JZ_H1T")); | 227 | memcpy(psdk_name, "JZ_H1T", sizeof("JZ_H1T")); |
@@ -244,29 +240,16 @@ int main(int argc, char *argv[]) | @@ -244,29 +240,16 @@ int main(int argc, char *argv[]) | ||
244 | } | 240 | } |
245 | else if (DEVICE_VERSION == JZ_U3S) | 241 | else if (DEVICE_VERSION == JZ_U3S) |
246 | { | 242 | { |
247 | - if (originValue == ORIGIN_DEFAULT || originValue == ORIGIN_CN) | ||
248 | - { | ||
249 | - memcpy(psdk_name, "JZ_U3S", sizeof("JZ_U3S")); | ||
250 | - } | ||
251 | - else if (originValue == ORIGIN_EN) | ||
252 | - { | ||
253 | - memcpy(psdk_name, "JZ-U3S", sizeof("JZ-U3S")); | ||
254 | - } | ||
255 | - else | ||
256 | - { | ||
257 | memcpy(psdk_name, "JZ_U3S", sizeof("JZ_U3S")); | 243 | memcpy(psdk_name, "JZ_U3S", sizeof("JZ_U3S")); |
258 | - } | 244 | + |
259 | } | 245 | } |
260 | else if (DEVICE_VERSION == JZ_U3D) | 246 | else if (DEVICE_VERSION == JZ_U3D) |
261 | { | 247 | { |
262 | - if (FIRMWARE_ORIGIN == OVERSEAS_VERSION) | ||
263 | - { | ||
264 | - memcpy(psdk_name, "JZ-U3D", sizeof("JZ-U3D")); | ||
265 | - } | ||
266 | - else if (FIRMWARE_ORIGIN == DOMESTIC_VERSION) | ||
267 | - { | ||
268 | memcpy(psdk_name, "JZ_U3D", sizeof("JZ_U3D")); | 248 | memcpy(psdk_name, "JZ_U3D", sizeof("JZ_U3D")); |
269 | } | 249 | } |
250 | + else if (DEVICE_VERSION == JZ_U30) | ||
251 | + { | ||
252 | + memcpy(psdk_name, "JZ_U30", sizeof("JZ_U30")); | ||
270 | } | 253 | } |
271 | 254 | ||
272 | 255 |
-
请 注册 或 登录 后发表评论