作者 ookk303

2.08更新

@@ -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;
1 -#更新日志 1 +功能表
  2 +
  3 +U3: 云台+喊话器+探照灯
  4 +U3S: 云台+喊话器+探照灯+激光+爆闪灯
  5 +U3D:云台+喊话器+探照灯+爆闪灯
  6 +U30:云台+喊话器+探照灯+爆闪灯
  7 +
  8 +H10:云台+喊话器
  9 +H10T:云台+喊话器+4G+对外供电
  10 +
  11 +H150S:云台+喊话器+摄像头
  12 +H150T:云台+喊话器+4G+摄像头
  13 +
  14 +H1E:喊话器
  15 +H1T:喊话器+4G
  16 +
  17 +A1:喊话器+探照灯
  18 +
  19 +C1:红外相机+摄像头
@@ -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