作者 ookk303

2.14 更新,其实是2.13

正在显示 73 个修改的文件 包含 1907 行增加452 行删除
@@ -128,7 +128,9 @@ @@ -128,7 +128,9 @@
128 "cameradef.h": "c", 128 "cameradef.h": "c",
129 "cam_zoom.h": "c", 129 "cam_zoom.h": "c",
130 "videodev2.h": "c", 130 "videodev2.h": "c",
131 - "jzsdk_widget.h": "c" 131 + "jzsdk_widget.h": "c",
  132 + "dji_sdk_config.h": "c",
  133 + "hal_uart.h": "c"
132 }, 134 },
133 "Codegeex.GenerationPreference": "automatic", 135 "Codegeex.GenerationPreference": "automatic",
134 "C_Cpp.dimInactiveRegions": false 136 "C_Cpp.dimInactiveRegions": false
@@ -104,7 +104,16 @@ if(${MEDIA_PROC_MODULE} STREQUAL "VERSION_SWITCH_ON") @@ -104,7 +104,16 @@ if(${MEDIA_PROC_MODULE} STREQUAL "VERSION_SWITCH_ON")
104 104
105 endif() 105 endif()
106 106
  107 +#如果要加载音频库模块,需要加载以下附属内容
  108 +if(${AUDIODEAL_MODULE} STREQUAL "VERSION_SWITCH_ON")
  109 + message("\n音频库模块加载中")
107 110
  111 + message("加载音频库")
  112 + add_definitions(-DMACRO_AUDIODEAL_MODULE)
  113 + file(GLOB_RECURSE AUDIODEAL_SRC ${ROOT_DIRS}Module/AudioDeal/*.c)
  114 + list(APPEND ALL_SRC_FILES ${AUDIODEAL_SRC})
  115 +
  116 +endif()
108 117
109 #如果要加载喊话器模块,需要加载以下附属内容 118 #如果要加载喊话器模块,需要加载以下附属内容
110 if(${MEGAPHONE_MODULE} STREQUAL "VERSION_SWITCH_ON") 119 if(${MEGAPHONE_MODULE} STREQUAL "VERSION_SWITCH_ON")
@@ -115,10 +124,6 @@ if(${MEGAPHONE_MODULE} STREQUAL "VERSION_SWITCH_ON") @@ -115,10 +124,6 @@ if(${MEGAPHONE_MODULE} STREQUAL "VERSION_SWITCH_ON")
115 file(GLOB_RECURSE MEGAPHONE_SRC ${ROOT_DIRS}Module/Megaphone/*.c) 124 file(GLOB_RECURSE MEGAPHONE_SRC ${ROOT_DIRS}Module/Megaphone/*.c)
116 list(APPEND ALL_SRC_FILES ${MEGAPHONE_SRC}) 125 list(APPEND ALL_SRC_FILES ${MEGAPHONE_SRC})
117 126
118 - message("加载音频库")  
119 - file(GLOB_RECURSE AUDIODEAL_SRC ${ROOT_DIRS}Module/AudioDeal/*.c)  
120 - list(APPEND ALL_SRC_FILES ${AUDIODEAL_SRC})  
121 -  
122 message("加载讯飞TTS模块") 127 message("加载讯飞TTS模块")
123 set(IFLAY_TTS_MODULE VERSION_SWITCH_ON) 128 set(IFLAY_TTS_MODULE VERSION_SWITCH_ON)
124 129
@@ -21,6 +21,10 @@ unsigned char * JZsdk_DefineCode_GetPortName(int Port) @@ -21,6 +21,10 @@ unsigned char * JZsdk_DefineCode_GetPortName(int Port)
21 return "HAL数据"; 21 return "HAL数据";
22 break; 22 break;
23 23
  24 + case NET_DEV_1:
  25 + return "设备NET1";
  26 + break;
  27 +
24 case NO_SPECIFIED: 28 case NO_SPECIFIED:
25 return "无指定设备"; 29 return "无指定设备";
26 break; 30 break;
@@ -9,6 +9,7 @@ @@ -9,6 +9,7 @@
9 //特殊版本号 9 //特殊版本号
10 #define SPECIAL_NORMAL 0x01 //普通版本 10 #define SPECIAL_NORMAL 0x01 //普通版本
11 #define SPECIAL_DAOTONG 0x02 //道通版本 11 #define SPECIAL_DAOTONG 0x02 //道通版本
  12 +#define SPECIAL_H10_M300 0x03 //h10 m300版本
12 13
13 //软件模式 14 //软件模式
14 #define APP_PSDK 0x01 15 #define APP_PSDK 0x01
@@ -161,6 +161,22 @@ typedef enum { @@ -161,6 +161,22 @@ typedef enum {
161 JZ_INSCODE_5AFRAME_UPGRADE_TRANS = 0x10001103, //升级传输数据 161 JZ_INSCODE_5AFRAME_UPGRADE_TRANS = 0x10001103, //升级传输数据
162 JZ_INSCODE_5AFRAME_UPGRADE_END = 0x10001104, //升级传输结束 162 JZ_INSCODE_5AFRAME_UPGRADE_END = 0x10001104, //升级传输结束
163 163
  164 +
  165 + JZ_INSCODE_5AFRAME_CAMERA_VIDEO_PUSH_INDEX = 0x10001200, //设置视频推送索引
  166 + JZ_INSOCDE_5AFRAME_CAMERA_TAKE_PHOTO = 0x10001201, //拍照
  167 + JZ_INSCODE_5AFRAME_CAMERA_VIDEO_RECORD_START = 0x10001202, //录像开始
  168 + JZ_INSCODE_5AFRAME_CAMERA_VIDEO_RECORD_STOP = 0x10001203, //录像结束
  169 + JZ_INSCODE_5AFRAME_CAMERA_SHUTTER_CONTROL = 0x10001204, //快门控制
  170 + JZ_INSCODE_5AFRAME_CAMERA_FREEZE_CONTROL = 0x10001205, //冻结控制
  171 +
  172 + JZ_INSOCDE_5AFRAME_IRC_CORRECT_WAY = 0x10001300, //红外校准方式
  173 + JZ_INSCODE_5AFRAME_IRC_SPC_PARAM = 0x10001301, //单点参数
  174 + JZ_INSCODE_5AFRAME_IRC_TPC_PARAM = 0x10001302, //两点参数
  175 +
  176 + JZ_INSOCDE_5AFRAME_IRC_OUTPUT_COLOR_MODE = 0x10001400, //红外输出颜色模式
  177 + JZ_INSCODE_5AFRAME_IRC_PSEUDO_COLOR_PARAM = 0x10001401, //红外伪彩色
  178 + JZ_INSCODE_5AFRAME_IRC_GAS_ENHANCE_PARAM = 0x10001402, //红外气体增强
  179 +
164 //5B类帧 180 //5B类帧
165 JZ_INSCODE_5BFRAME_FRAME = 0x10004000, //发送帧 181 JZ_INSCODE_5BFRAME_FRAME = 0x10004000, //发送帧
166 182
@@ -48,9 +48,10 @@ typedef enum JZsdk_Widget_Control @@ -48,9 +48,10 @@ typedef enum JZsdk_Widget_Control
48 48
49 49
50 JZSDK_WIDGET_GAS_ENHANCEMENT_CORRECT = 0x0036, //气体增强纠正 50 JZSDK_WIDGET_GAS_ENHANCEMENT_CORRECT = 0x0036, //气体增强纠正
  51 + JZSDK_WIDGET_IRC_MARK_LOW_AND_HIGH_DATA = 0x0037, //红外标记高低数据
51 52
52 - JZSDK_WIDGET_GAS_ENHANCEMENT_CORRECT_HIGH_CALIBRATION = 0x0037, //气体增强纠正高温校准  
53 - JZSDK_WIDGET_GAS_ENHANCEMENT_CORRECT_LOW_CALIBRATION = 0x0038, //气体增强纠正低温校准 53 + JZSDK_WIDGET_GAS_ENHANCEMENT_CORRECT_HIGH_CALIBRATION = 0x0038, //气体增强纠正高温校准
  54 + JZSDK_WIDGET_GAS_ENHANCEMENT_CORRECT_LOW_CALIBRATION = 0x0039, //气体增强纠正低温校准
54 55
55 56
56 57
@@ -672,6 +672,85 @@ static int Comparison_5AFRAME_FirstLevelCode_0xA1(char *getdata) @@ -672,6 +672,85 @@ static int Comparison_5AFRAME_FirstLevelCode_0xA1(char *getdata)
672 } 672 }
673 673
674 674
  675 +static int Comparison_5AFRAME_FirstLevelCode_0x90(char *getdata)
  676 +{
  677 + switch (getdata[8])
  678 + {
  679 + case 0x00:
  680 + return JZ_INSCODE_5AFRAME_CAMERA_VIDEO_PUSH_INDEX;
  681 + break;
  682 +
  683 + case 0x01:
  684 + return JZ_INSOCDE_5AFRAME_CAMERA_TAKE_PHOTO;
  685 + break;
  686 +
  687 + case 0x02:
  688 + return JZ_INSCODE_5AFRAME_CAMERA_VIDEO_RECORD_START;
  689 + break;
  690 +
  691 + case 0x03:
  692 + return JZ_INSCODE_5AFRAME_CAMERA_VIDEO_RECORD_STOP;
  693 + break;
  694 +
  695 + case 0x04:
  696 + return JZ_INSCODE_5AFRAME_CAMERA_SHUTTER_CONTROL;
  697 + break;
  698 +
  699 + case 0x05:
  700 + return JZ_INSCODE_5AFRAME_CAMERA_FREEZE_CONTROL;
  701 + break;
  702 +
  703 + default:
  704 + return JZ_ERROR_SYSTEM_FRAME_ERROR;
  705 + break;
  706 + }
  707 +}
  708 +
  709 +static int Comparison_5AFRAME_FirstLevelCode_0x93(char *getdata)
  710 +{
  711 + switch (getdata[8])
  712 + {
  713 + case 0x00:
  714 + return JZ_INSOCDE_5AFRAME_IRC_CORRECT_WAY;
  715 + break;
  716 +
  717 + case 0x10:
  718 + return JZ_INSCODE_5AFRAME_IRC_SPC_PARAM;
  719 + break;
  720 +
  721 + case 0x11:
  722 + return JZ_INSCODE_5AFRAME_IRC_TPC_PARAM;
  723 + break;
  724 +
  725 + default:
  726 + return JZ_ERROR_SYSTEM_FRAME_ERROR;
  727 + break;
  728 + }
  729 +}
  730 +
  731 +static int Comparison_5AFRAME_FirstLevelCode_0x94(char *getdata)
  732 +{
  733 + switch (getdata[8])
  734 + {
  735 + case 0x00:
  736 + return JZ_INSOCDE_5AFRAME_IRC_OUTPUT_COLOR_MODE;
  737 + break;
  738 +
  739 + case 0x10:
  740 + return JZ_INSCODE_5AFRAME_IRC_PSEUDO_COLOR_PARAM;
  741 + break;
  742 +
  743 + case 0x11:
  744 + return JZ_INSCODE_5AFRAME_IRC_GAS_ENHANCE_PARAM;
  745 + break;
  746 +
  747 + default:
  748 + return JZ_ERROR_SYSTEM_FRAME_ERROR;
  749 + break;
  750 + }
  751 +}
  752 +
  753 +
675 /****************************************************************** 754 /******************************************************************
676 755
677 回复帧对比 756 回复帧对比
@@ -813,6 +892,21 @@ int JZsdk_5AFrameComparsion(char *getdata, int len) @@ -813,6 +892,21 @@ int JZsdk_5AFrameComparsion(char *getdata, int len)
813 return Comparison_5AFRAME_FirstLevelCode_0x6F(getdata); 892 return Comparison_5AFRAME_FirstLevelCode_0x6F(getdata);
814 break; 893 break;
815 894
  895 + //一级功能码 90
  896 + case 0x90:
  897 + return Comparison_5AFRAME_FirstLevelCode_0x90(getdata);
  898 + break;
  899 +
  900 + //一级功能码 93
  901 + case 0x93:
  902 + return Comparison_5AFRAME_FirstLevelCode_0x93(getdata);
  903 + break;
  904 +
  905 + //一级功能码 92
  906 + case 0x94:
  907 + return Comparison_5AFRAME_FirstLevelCode_0x94(getdata);
  908 + break;
  909 +
816 //一级功能码 升级功能 910 //一级功能码 升级功能
817 case 0xA1: 911 case 0xA1:
818 return Comparison_5AFRAME_FirstLevelCode_0xA1(getdata); 912 return Comparison_5AFRAME_FirstLevelCode_0xA1(getdata);
@@ -820,6 +914,7 @@ int JZsdk_5AFrameComparsion(char *getdata, int len) @@ -820,6 +914,7 @@ int JZsdk_5AFrameComparsion(char *getdata, int len)
820 914
821 //一级功能码 915 //一级功能码
822 916
  917 +
823 /********************************************************************************************************************************************************* 918 /*********************************************************************************************************************************************************
824 * 919 *
825 * 920 *
@@ -474,9 +474,9 @@ int JZsdk_GetFrameTemplate(int InsCode ,char *str, int *str_len) @@ -474,9 +474,9 @@ int JZsdk_GetFrameTemplate(int InsCode ,char *str, int *str_len)
474 474
475 case JZ_INSCODE_5BFRAME_OPUS_DECODE_STATUS: 475 case JZ_INSCODE_5BFRAME_OPUS_DECODE_STATUS:
476 { 476 {
477 - char sendbuf[13] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0x59, 0xf2, 0x00, 0x00, 0x00, 0x23};  
478 - memcpy(str, sendbuf, 13);  
479 - *str_len = 13; 477 + char sendbuf[12] = { 0x5b, 0x5b, 0x77, 0x00, 0x0D, 0x00, 0x00, 0x59, 0xf2, 0x00, 0x00, 0x23};
  478 + memcpy(str, sendbuf, 12);
  479 + *str_len = 12;
480 } 480 }
481 break; 481 break;
482 482
@@ -420,11 +420,18 @@ T_JZsdkReturnCode JZsdk_Osal_Rename(const char *oldFilePath, const char *newFile @@ -420,11 +420,18 @@ T_JZsdkReturnCode JZsdk_Osal_Rename(const char *oldFilePath, const char *newFile
420 return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; 420 return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER;
421 } 421 }
422 422
423 - ret = rename(oldFilePath, newFilePath); 423 + unsigned char cmd[256] = {0};
  424 + sprintf((char *)cmd, "mv %s %s", oldFilePath, newFilePath);
  425 + ret = system((char *)cmd);
424 if (ret < 0) { 426 if (ret < 0) {
425 return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; 427 return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
426 } 428 }
427 429
  430 + // ret = rename(oldFilePath, newFilePath);
  431 + // if (ret < 0) {
  432 + // return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
  433 + // }
  434 +
428 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; 435 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
429 } 436 }
430 437
1 -#include <stdio.h>  
2 -#include <stdlib.h>  
3 #include <pthread.h> 1 #include <pthread.h>
4 -#include <string.h>  
5 -  
6 #include "JZsdkLib.h" 2 #include "JZsdkLib.h"
7 3
8 -#include "Hal_Send/HalSend.h"  
9 -  
10 #include "BaseConfig.h" 4 #include "BaseConfig.h"
11 5
12 -#include "ircut.h"  
13 -#include "Gimbal/Gimbal.h" 6 +#include "Hal_Send/HalSend.h"
  7 +#include "JZsdk_Hal.h"
14 8
  9 +#include "ircut.h"
15 #include "Psdk_UI_io.h" 10 #include "Psdk_UI_io.h"
16 -  
17 -#include "Lighting_InAndOut.h"  
18 -#include "JZsdk_network/JZsdk_network.h"  
19 -  
20 #include "JZsdk_haldata_deal/JZsdk_data_transmisson.h" 11 #include "JZsdk_haldata_deal/JZsdk_data_transmisson.h"
21 -#include "MediaProc/MediaProc.h"  
22 #include "UI_control/WidegMgmt/JZsdk_Widget.h" 12 #include "UI_control/WidegMgmt/JZsdk_Widget.h"
23 #include "DeviceSample/DeviceSample.h" 13 #include "DeviceSample/DeviceSample.h"
24 #include "CommonMod/CommonMod.h" 14 #include "CommonMod/CommonMod.h"
25 15
26 -#include "JZsdk_Hal.h"  
27 -  
28 #if APP_VERSION == APP_PSDK 16 #if APP_VERSION == APP_PSDK
29 -  
30 -#include "fc_subscription/test_fc_subscription.h"  
31 - 17 + #include "fc_subscription/test_fc_subscription.h"
32 #endif 18 #endif
33 19
34 #include "DeviceInfo/DeviceInfo.h" 20 #include "DeviceInfo/DeviceInfo.h"
35 21
36 #ifdef MEGAPHONE_CONFIG_STATUS_ON 22 #ifdef MEGAPHONE_CONFIG_STATUS_ON
37 - #include "AudioDeal/AudioDeal.h"  
38 #include "Megaphone/Megaphone.h" 23 #include "Megaphone/Megaphone.h"
39 extern int MegaphoneStatusFlag; 24 extern int MegaphoneStatusFlag;
40 #endif 25 #endif
41 26
42 -#ifdef SIDE_LASER_STATUS_ON  
43 - #include "SideLaser/SideLaser.h"  
44 -#endif  
45 -  
46 static int Main_WorkMode(); 27 static int Main_WorkMode();
47 static void *Main_WorkModeTask(void *arg); 28 static void *Main_WorkModeTask(void *arg);
48 static int WorkMode = JZ_FLAGCODE_OFF; 29 static int WorkMode = JZ_FLAGCODE_OFF;
49 30
50 31
51 -static int g_All_filter_Mode = JZ_FLAGCODE_OFF; //用于m30的滤波开关  
52 static int StartupPriorityNum = JZ_FLAGCODE_OFF; //优先启动项值 32 static int StartupPriorityNum = JZ_FLAGCODE_OFF; //优先启动项值
53 33
54 static int g_device_InitFlag = JZ_FLAGCODE_OFF; //基础配置初始化标志位,该标志位用于判断设备是否已经完成准备就绪,目前主要影响的是预设任务 34 static int g_device_InitFlag = JZ_FLAGCODE_OFF; //基础配置初始化标志位,该标志位用于判断设备是否已经完成准备就绪,目前主要影响的是预设任务
55 static int g_baseconfig_InitFlag = JZ_FLAGCODE_OFF; //基础配置初始化标志位,该标志位用于判断设备是否已经完成baseconfig 目前用处影响g_device_InitFlag 35 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 36 static int g_Main_WorkMode_InitFlag = JZ_FLAGCODE_OFF; //基础配置初始化标志位,该标志位用于判断设备是否已经完成连接与启动播放 目前用处影响g_device_InitFlag
57 37
58 -/*******************  
59 - *  
60 - * mode get 是未获取 m30滤波开关  
61 - * 其他值为set+get  
62 - *  
63 - * ********************/  
64 -T_JZsdkReturnCode Main_M30_all_filter_mode(int *mode)  
65 -{  
66 -  
67 -//喊话器功能被打开时  
68 -#ifdef MEGAPHONE_CONFIG_STATUS_ON  
69 - if (*mode == JZ_FLAGCODE_GET)  
70 - {  
71 - *mode = g_All_filter_Mode;  
72 - printf("滤波模式获取%d\n",*mode);  
73 - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;  
74 - }  
75 - else if ( (*mode != JZ_FLAGCODE_ON) && (*mode != JZ_FLAGCODE_OFF) )  
76 - {  
77 - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;  
78 - }  
79 - else  
80 - {  
81 - printf("滤波模式设置%d\n",*mode);  
82 - g_All_filter_Mode = *mode;  
83 - if (*mode == JZ_FLAGCODE_ON)  
84 - {  
85 - //先关闭播放  
86 - //Megaphone_StopPlay(JZ_FLAGCODE_OFF);  
87 -  
88 - //修改滤波  
89 - AudioDeal_SetFilterMode(0x01);  
90 - }  
91 - else  
92 - {  
93 - //先关闭播放  
94 - //Megaphone_StopPlay(JZ_FLAGCODE_OFF);  
95 -  
96 - //修改滤波  
97 - AudioDeal_SetFilterMode(0x00);  
98 - }  
99 -  
100 - }  
101 -#endif  
102 - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;  
103 -}  
104 38
105 /*** ************************* ************************* 39 /*** ************************* *************************
106 * 40 *
@@ -136,201 +70,6 @@ int Main_Device_Wheather_Use() @@ -136,201 +70,6 @@ int Main_Device_Wheather_Use()
136 } 70 }
137 71
138 72
139 -T_JZsdkReturnCode Main_APP_Psdk()  
140 -{  
141 - int value[5] = {0, 0, 0, 0, 0};  
142 -  
143 - //sdklib加载  
144 - JZsdk_LibInit();  
145 -  
146 - //hal加载  
147 - JZsdk_Hal_Init();  
148 -  
149 - JZSDK_LOG_INFO("%x,PsdkVersion%x.%x.%x.%x\n",DEVICE_VERSION,MAJOR_VERSION, MINOR_VERSION, MODIFY_VERSION, DEBUG_VERSION);  
150 -  
151 - //通用模块初始化  
152 - CommonMod_Init();  
153 -  
154 - //引脚初始化  
155 - Ircut_Init();  
156 -  
157 - //设备信息初始化  
158 - DeviceInfo_Init();  
159 -  
160 - //工作模式设置函数,用于超时,及播放启动语音等  
161 - Main_WorkMode();  
162 -  
163 - //外接传输模块  
164 - JZsdk_data_transmisson_Receive_Init();  
165 -  
166 -//a1加载  
167 -#if DEVICE_VERSION == JZ_A1  
168 - JZ_a1_init(APP_PSDK);  
169 -#endif  
170 -  
171 -//h1e加载  
172 -#if DEVICE_VERSION == JZ_H1E  
173 - JZ_h1e_init(APP_PSDK);  
174 -#endif  
175 -  
176 -//h1t加载  
177 -#if DEVICE_VERSION == JZ_H1T  
178 - JZ_h1t_init(APP_PSDK);  
179 -#endif  
180 -  
181 -//h10加载  
182 -#if DEVICE_VERSION == JZ_H10  
183 - JZ_h10_init(APP_PSDK);  
184 -#endif  
185 -  
186 -//h10t加载  
187 -#if DEVICE_VERSION == JZ_H10T  
188 - JZ_h10t_init(APP_PSDK);  
189 -#endif  
190 -  
191 -//h150s h150t加载  
192 -#if DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T  
193 - JZ_h150s_h150t_init(APP_PSDK);  
194 -#endif  
195 -  
196 -//u3加载  
197 -#if DEVICE_VERSION == JZ_U3  
198 - JZ_u3_init(APP_PSDK);  
199 -#endif  
200 -  
201 -//u3s加载  
202 -#if DEVICE_VERSION == JZ_U3S  
203 - JZ_u3s_init(APP_PSDK);  
204 -#endif  
205 -  
206 -//u3d加载  
207 -#if DEVICE_VERSION == JZ_U3D  
208 - JZ_u3d_init(APP_PSDK);  
209 -#endif  
210 -  
211 -//u30加载  
212 -#if DEVICE_VERSION == JZ_U30  
213 - JZ_u30_init(APP_PSDK);  
214 -#endif  
215 -  
216 -//c1加载  
217 -#if DEVICE_VERSION == JZ_C1  
218 - JZC1_Init();  
219 -#endif  
220 -  
221 - //初始化控件  
222 - JZSDK_WidgetMgMT_Init();  
223 -  
224 - //初始化app模式  
225 - JZsdk_HalPort_SetUseFlag(DEVICE_PSDK ,JZ_FLAGCODE_ON);  
226 -  
227 - Main_WorkModeSet(JZ_FLAGCODE_ON);  
228 -  
229 - g_baseconfig_InitFlag = JZ_FLAGCODE_ON;  
230 -}  
231 -  
232 -  
233 -  
234 -int Main_APP_Uart()  
235 -{  
236 - int value[5] = {0, 0, 0, 0, 0};  
237 -  
238 - //lib库初始化  
239 - JZsdk_LibInit();  
240 -  
241 - JZsdk_Hal_Init();  
242 -  
243 - JZSDK_LOG_INFO("0x%x,UartVersion%x.%x.%x.%x\n",DEVICE_VERSION,MAJOR_VERSION, MINOR_VERSION, MODIFY_VERSION, DEBUG_VERSION);  
244 -  
245 - //通用模块  
246 - CommonMod_Init();  
247 -  
248 - //引脚初始化  
249 - Ircut_Init();  
250 -  
251 - //设备信息初始化  
252 - DeviceInfo_Init();  
253 -  
254 - //工作模式设置函数,用于超时,及播放启动语音等  
255 - Main_WorkMode();  
256 -  
257 -  
258 -//a1加载  
259 -#if DEVICE_VERSION == JZ_A1  
260 - JZ_a1_init(APP_UART);  
261 -#endif  
262 -  
263 -//h1e加载  
264 -#if DEVICE_VERSION == JZ_H1E  
265 - JZ_h1e_init(APP_UART);  
266 -#endif  
267 -  
268 -//h1t加载  
269 -#if DEVICE_VERSION == JZ_H1T  
270 - JZ_h1t_init(APP_UART);  
271 -#endif  
272 -  
273 -//h10加载  
274 -#if DEVICE_VERSION == JZ_H10  
275 - JZ_h10_init(APP_UART);  
276 -#endif  
277 -  
278 -//h10t加载  
279 -#if DEVICE_VERSION == JZ_H10T  
280 - JZ_h10t_init(APP_UART);  
281 -#endif  
282 -  
283 -//h150s h150t加载  
284 -#if DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T  
285 - JZ_h150s_h150t_init(APP_UART);  
286 -#endif  
287 -  
288 -//u3加载  
289 -#if DEVICE_VERSION == JZ_U3  
290 - JZ_u3_init(APP_UART);  
291 -#endif  
292 -  
293 -//u3s加载  
294 -#if DEVICE_VERSION == JZ_U3S  
295 - JZ_u3s_init(APP_UART);  
296 -#endif  
297 -  
298 -//u3d加载  
299 -#if DEVICE_VERSION == JZ_U3D  
300 - JZ_u3d_init(APP_UART);  
301 -#endif  
302 -  
303 -//u30加载  
304 -#if DEVICE_VERSION == JZ_U30  
305 - JZ_u30_init(APP_UART);  
306 -#endif  
307 -  
308 -//c1加载  
309 -#if DEVICE_VERSION == JZ_C1  
310 - JZC1_Init();  
311 -#endif  
312 -  
313 -  
314 - g_baseconfig_InitFlag = JZ_FLAGCODE_ON;  
315 -  
316 - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;  
317 -}  
318 -  
319 -int Main_TestAPP()  
320 -{  
321 - int value[5] = {0, 0, 0, 0, 0};  
322 -  
323 - JZsdk_LibInit();  
324 -  
325 - JZsdk_Hal_Init();  
326 -  
327 - CommonMod_Init();  
328 -  
329 - //串口设备1初始化  
330 - value[0] = UART_DEV1_BITRATE;  
331 - JZsdk_HalPort_Init(UART_DEV_1, value);  
332 -}  
333 -  
334 //JZ_FLAGCODE_GET为返回工作值,其他值为设置 73 //JZ_FLAGCODE_GET为返回工作值,其他值为设置
335 int Main_WorkModeSet(int mode) 74 int Main_WorkModeSet(int mode)
336 { 75 {
@@ -504,6 +243,171 @@ static void *Main_WorkModeTask(void *arg) @@ -504,6 +243,171 @@ static void *Main_WorkModeTask(void *arg)
504 } 243 }
505 244
506 245
  246 +
  247 +
  248 +
  249 +/************************************************************************************************************************************************
  250 + *
  251 + *
  252 + *
  253 + *
  254 + *
  255 + * 初始化
  256 + *
  257 + *
  258 + *
  259 + *
  260 +************************************************************************************************************************************************/
  261 +static T_JZsdkReturnCode DeviceSample_init(int mode)
  262 +{
  263 + //a1加载
  264 + #if DEVICE_VERSION == JZ_A1
  265 + TF_a1_init(mode);
  266 + #endif
  267 +
  268 + //h1e加载
  269 + #if DEVICE_VERSION == JZ_H1E
  270 + JZ_h1e_init(mode);
  271 + #endif
  272 +
  273 + //h1t加载
  274 + #if DEVICE_VERSION == JZ_H1T
  275 + JZ_h1t_init(mode);
  276 + #endif
  277 +
  278 + //h10加载
  279 + #if DEVICE_VERSION == JZ_H10
  280 + JZ_h10_init(mode);
  281 + #endif
  282 +
  283 + //h10t加载
  284 + #if DEVICE_VERSION == JZ_H10T
  285 + JZ_h10t_init(mode);
  286 + #endif
  287 +
  288 + //h150s h150t加载
  289 + #if DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T
  290 + JZ_h150s_h150t_init(mode);
  291 + #endif
  292 +
  293 + //u3加载
  294 + #if DEVICE_VERSION == JZ_U3
  295 + JZ_u3_init(mode);
  296 + #endif
  297 +
  298 + //u3s加载
  299 + #if DEVICE_VERSION == JZ_U3S
  300 + JZ_u3s_init(mode);
  301 + #endif
  302 +
  303 + //u3d加载
  304 + #if DEVICE_VERSION == JZ_U3D
  305 + JZ_u3d_init(mode);
  306 + #endif
  307 +
  308 + //u30加载
  309 + #if DEVICE_VERSION == JZ_U30
  310 + JZ_u30_init(mode);
  311 + #endif
  312 +
  313 + //c1加载
  314 + #if DEVICE_VERSION == JZ_C1
  315 + JZC1_Init(mode);
  316 + #endif
  317 +
  318 +}
  319 +
  320 +
  321 +T_JZsdkReturnCode Main_APP_Psdk()
  322 +{
  323 + int value[5] = {0, 0, 0, 0, 0};
  324 +
  325 + //sdklib加载
  326 + JZsdk_LibInit();
  327 +
  328 + //hal加载
  329 + JZsdk_Hal_Init();
  330 +
  331 + JZSDK_LOG_INFO("%x,PsdkVersion%x.%x.%x.%x\n",DEVICE_VERSION,MAJOR_VERSION, MINOR_VERSION, MODIFY_VERSION, DEBUG_VERSION);
  332 +
  333 + //通用模块初始化
  334 + CommonMod_Init();
  335 +
  336 + //引脚初始化
  337 + Ircut_Init();
  338 +
  339 + //设备信息初始化
  340 + DeviceInfo_Init();
  341 +
  342 + //工作模式设置函数,用于超时,及播放启动语音等
  343 + Main_WorkMode();
  344 +
  345 + //外接传输模块
  346 + JZsdk_data_transmisson_Receive_Init();
  347 +
  348 + //设备例程初始化
  349 + DeviceSample_init(APP_PSDK);
  350 +
  351 + //初始化控件
  352 + JZSDK_WidgetMgMT_Init();
  353 +
  354 + //初始化app模式
  355 + JZsdk_HalPort_SetUseFlag(DEVICE_PSDK ,JZ_FLAGCODE_ON);
  356 +
  357 + Main_WorkModeSet(JZ_FLAGCODE_ON);
  358 +
  359 + g_baseconfig_InitFlag = JZ_FLAGCODE_ON;
  360 +}
  361 +
  362 +
  363 +
  364 +int Main_APP_Uart()
  365 +{
  366 + int value[5] = {0, 0, 0, 0, 0};
  367 +
  368 + //lib库初始化
  369 + JZsdk_LibInit();
  370 +
  371 + JZsdk_Hal_Init();
  372 +
  373 + JZSDK_LOG_INFO("0x%x,UartVersion%x.%x.%x.%x\n",DEVICE_VERSION,MAJOR_VERSION, MINOR_VERSION, MODIFY_VERSION, DEBUG_VERSION);
  374 +
  375 + //通用模块
  376 + CommonMod_Init();
  377 +
  378 + //引脚初始化
  379 + Ircut_Init();
  380 +
  381 + //设备信息初始化
  382 + DeviceInfo_Init();
  383 +
  384 + //工作模式设置函数,用于超时,及播放启动语音等
  385 + Main_WorkMode();
  386 +
  387 + //设备例程初始化
  388 + DeviceSample_init(APP_UART);
  389 +
  390 + g_baseconfig_InitFlag = JZ_FLAGCODE_ON;
  391 +
  392 + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
  393 +}
  394 +
  395 +int Main_TestAPP()
  396 +{
  397 + int value[5] = {0, 0, 0, 0, 0};
  398 +
  399 + JZsdk_LibInit();
  400 +
  401 + JZsdk_Hal_Init();
  402 +
  403 + CommonMod_Init();
  404 +
  405 + //串口设备1初始化
  406 + value[0] = UART_DEV1_BITRATE;
  407 + JZsdk_HalPort_Init(UART_DEV_1, value);
  408 +}
  409 +
  410 +
507 /********************************** 411 /**********************************
508 * 412 *
509 * 获取设备初始化标志 413 * 获取设备初始化标志
@@ -207,9 +207,10 @@ extern "C" { @@ -207,9 +207,10 @@ extern "C" {
207 #define GIMBAL_UART_NUM NULL 207 #define GIMBAL_UART_NUM NULL
208 #define GIMBAL_UART_BITRATE (0) 208 #define GIMBAL_UART_BITRATE (0)
209 209
210 - #define NET_WORK_IPADDR NULL  
211 - #define NET_WORK_TARGET_IPADDR NULL  
212 - #define NET_WORK_NETMASK NULL 210 + #define NET_WORK_IPADDR "192.168.5.3"
  211 + #define NET_WORK_TARGET_IPADDR "192.168.5.10"
  212 + #define NET_WORK_NETMASK "255.255.255.0"
  213 +
213 214
214 #else 215 #else
215 #define UART_DEV1_NUM NULL 216 #define UART_DEV1_NUM NULL
@@ -239,7 +240,6 @@ int Main_APP_Uart(); @@ -239,7 +240,6 @@ int Main_APP_Uart();
239 T_JZsdkReturnCode Main_APP_Psdk(); 240 T_JZsdkReturnCode Main_APP_Psdk();
240 int Main_TestAPP(); 241 int Main_TestAPP();
241 int Main_Device_Wheather_Use(); 242 int Main_Device_Wheather_Use();
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 int BaseConfig_GetDeviceInitFlag();
@@ -12,8 +12,22 @@ @@ -12,8 +12,22 @@
12 12
13 #include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" 13 #include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
14 14
  15 +#include "DeviceSample/JZ_H1_series/JZ_H1E/JZ_h1e.h"
  16 +#include "DeviceSample/JZ_H1_series/JZ_H1T/JZ_h1t.h"
  17 +
  18 +#include "DeviceSample/JZ_H10_series/JZ_H10/JZ_h10.h"
  19 +#include "DeviceSample/JZ_H10_series/JZ_H10T/JZ_h10t.h"
  20 +
  21 +#include "DeviceSample/JZ_H150S_H150T/JZ_h150s_h150t.h"
  22 +
  23 +#include "DeviceSample/JZ_U3_series/JZ_U3/JZ_u3.h"
  24 +#include "DeviceSample/JZ_U3_series/JZ_U3S/JZ_u3s.h"
  25 +#include "DeviceSample/JZ_U3_series/JZ_U3D/JZ_u3d.h"
  26 +#include "DeviceSample/JZ_U3_series/JZ_U30/JZ_u30.h"
  27 +
15 #include "DeviceSample/JZC1/JZC1.h" 28 #include "DeviceSample/JZC1/JZC1.h"
16 29
  30 +#include "TF_A1/TF_a1.h"
17 31
18 /* Includes ------------------------------------------------------------------*/ 32 /* Includes ------------------------------------------------------------------*/
19 #ifdef __cplusplus 33 #ifdef __cplusplus
1 #include "JZsdkLib.h" 1 #include "JZsdkLib.h"
2 #include "BaseConfig.h" 2 #include "BaseConfig.h"
3 #include <pthread.h> 3 #include <pthread.h>
4 - 4 +#include <stdatomic.h>
5 #include "JZsdk_usb_bulk/JZsdk_usb_bulk.h" 5 #include "JZsdk_usb_bulk/JZsdk_usb_bulk.h"
6 6
7 #include "IRCUT/ircut.h" 7 #include "IRCUT/ircut.h"
@@ -20,7 +20,8 @@ @@ -20,7 +20,8 @@
20 20
21 21
22 #include "MediaProc/MediaProc.h" 22 #include "MediaProc/MediaProc.h"
23 - 23 +#include "UI_control/UI_control.h"
  24 +#include "CommonMod/PowerManger/PowerManger.h"
24 25
25 typedef struct C1_RgaInfo 26 typedef struct C1_RgaInfo
26 { 27 {
@@ -367,11 +368,13 @@ static void *JZC1_IrcDataBuffer_Thread(void *args) @@ -367,11 +368,13 @@ static void *JZC1_IrcDataBuffer_Thread(void *args)
367 long long prev_time = start_time.tv_sec * NSEC_PER_SEC + start_time.tv_nsec; 368 long long prev_time = start_time.tv_sec * NSEC_PER_SEC + start_time.tv_nsec;
368 369
369 //设置间隔时间 370 //设置间隔时间
370 - long long period = NSEC_PER_SEC / TARGET_FPS; 371 + long long period = NSEC_PER_SEC / JZ_C1_IRC_FRAMERATE;
371 372
372 unsigned char *TempBuffer = (unsigned char *)malloc(163840); 373 unsigned char *TempBuffer = (unsigned char *)malloc(163840);
373 unsigned int TempBufferLen = 0; 374 unsigned int TempBufferLen = 0;
374 375
  376 + int num = 0;
  377 +
375 while (1) 378 while (1)
376 { 379 {
377 //获取当前时间 380 //获取当前时间
@@ -401,15 +404,47 @@ static void *JZC1_IrcDataBuffer_Thread(void *args) @@ -401,15 +404,47 @@ static void *JZC1_IrcDataBuffer_Thread(void *args)
401 JZC1_IrcDeal(TempBuffer, TempBufferLen); 404 JZC1_IrcDeal(TempBuffer, TempBufferLen);
402 405
403 prev_time = current_time; 406 prev_time = current_time;
  407 +
404 } 408 }
405 409
406 - // 为了防止过于频繁地调用 clock_gettime,可以添加一个小的睡眠时间  
407 - // 例如,休眠1毫秒(100000000纳秒),以减少CPU占用  
408 - struct timespec req = { .tv_sec = 0, .tv_nsec = 1000000 };  
409 - nanosleep(&req, NULL); 410 + // // 为了防止过于频繁地调用 clock_gettime,可以添加一个小的睡眠时间
  411 + // // 例如,休眠1毫秒(100000000纳秒),以减少CPU占用
  412 + // struct timespec req = { .tv_sec = 0, .tv_nsec = 1000000 };
  413 + // nanosleep(&req, NULL);
410 } 414 }
411 } 415 }
412 416
  417 +// static void *JZC1_IrcDataBuffer_Thread(void *args)
  418 +// {
  419 +// unsigned char *TempBuffer = (unsigned char *)malloc(163840);
  420 +// unsigned int TempBufferLen = 0;
  421 +
  422 +// const long long period = NSEC_PER_SEC / TARGET_FPS; // 33,333,333 ns
  423 +// struct timespec next;
  424 +// clock_gettime(CLOCK_MONOTONIC, &next);
  425 +
  426 +// while(1) {
  427 +// // 精确周期控制
  428 +// next.tv_nsec += period;
  429 +// if (next.tv_nsec >= NSEC_PER_SEC) {
  430 +// next.tv_sec++;
  431 +// next.tv_nsec -= NSEC_PER_SEC;
  432 +// }
  433 +
  434 +// // 无锁化改造
  435 +// if(atomic_exchange(&FrameBuffer_UseFlag, JZ_FLAGCODE_ON) == JZ_FLAGCODE_OFF) {
  436 +// memcpy(TempBuffer, FrameBuffer, FrameBufferLen); // 零拷贝优化见方案2
  437 +// atomic_store(&FrameBuffer_UseFlag, JZ_FLAGCODE_OFF);
  438 +
  439 +// JZC1_IrcDeal(TempBuffer, FrameBufferLen);
  440 +
  441 +// JZSDK_LOG_INFO("deal");
  442 +// }
  443 +
  444 +// // 高精度休眠
  445 +// clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME, &next, NULL);
  446 +// }
  447 +// }
413 448
414 static T_JZsdkReturnCode JZC1_IrcDataSave(unsigned char *data, unsigned int data_len) 449 static T_JZsdkReturnCode JZC1_IrcDataSave(unsigned char *data, unsigned int data_len)
415 { 450 {
@@ -567,7 +602,7 @@ static T_JZsdkReturnCode JZsdk_JZC1_Irc_Data_Init() @@ -567,7 +602,7 @@ static T_JZsdkReturnCode JZsdk_JZC1_Irc_Data_Init()
567 T_JZsdkReturnCode ret; 602 T_JZsdkReturnCode ret;
568 603
569 //初始化接收的usb口 604 //初始化接收的usb口
570 - ret = JZsdk_HalUsbBulk_Init(&g_usb_index, 0, 0, LINUX_USB_PID, LINUX_USB_VID, USB_IN_POINT, USB_OUT_POINT); 605 + ret = JZsdk_HalUsbBulk_Init(&g_usb_index, 0, 0, JZSDK_USB_PID, JZSDK_USB_VID, USB_IN_POINT, USB_OUT_POINT);
571 if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) 606 if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
572 { 607 {
573 return ret; 608 return ret;
@@ -1010,9 +1045,107 @@ T_JZsdkReturnCode JZC1_SetNextFrame_IDR(unsigned int index) @@ -1010,9 +1045,107 @@ T_JZsdkReturnCode JZC1_SetNextFrame_IDR(unsigned int index)
1010 1045
1011 #endif 1046 #endif
1012 1047
  1048 +
  1049 +static int save_int_to_file(const char* filename, int value)
  1050 +{
  1051 + FILE* file = fopen(filename, "wb");
  1052 + if (!file) {
  1053 + perror("fopen failed");
  1054 + return -1;
  1055 + }
  1056 +
  1057 + size_t written = fwrite(&value, sizeof(int), 1, file);
  1058 + fclose(file);
  1059 +
  1060 + if (written != 1) {
  1061 + fprintf(stderr, "Failed to write integer\n");
  1062 + return -1;
  1063 + }
  1064 + return 0;
  1065 +}
  1066 +
  1067 +static int read_int_from_file(const char* filename) {
  1068 + FILE* file = fopen(filename, "rb");
  1069 + if (!file) {
  1070 + perror("fopen failed");
  1071 + return 0;
  1072 + }
  1073 +
  1074 + int value = 0;
  1075 + size_t read = fread(&value, sizeof(int), 1, file);
  1076 + fclose(file);
  1077 +
  1078 + if (read != 1) {
  1079 + fprintf(stderr, "Failed to read integer\n");
  1080 + return 0;
  1081 + }
  1082 + return value;
  1083 +}
  1084 +
  1085 +
  1086 +
  1087 +T_JZsdkReturnCode JZC1_PowerOff_Save()
  1088 +{
  1089 +
  1090 + JZSDK_LOG_INFO("开始关机保存");
  1091 +
  1092 + JZsdk_Osal_Mkdir("/root/ValueSave");
  1093 +
  1094 + //获取校正类型
  1095 + int correction_type;
  1096 + Camera_param(JZ_FLAGCODE_GET, CAMERA_CORRCTION_MODE, &correction_type);
  1097 + //保存
  1098 + save_int_to_file("/root/ValueSave/correction_type", correction_type);
  1099 + JZSDK_LOG_INFO("已存储校正类型:%d", correction_type);
  1100 +
  1101 + //保存单点校正模式
  1102 + int single_point_correction_mode;
  1103 + Proc_IRC_param(JZ_FLAGCODE_GET, JZSDK_WIDGET_SPC_MODE, &single_point_correction_mode);
  1104 + //保存
  1105 + save_int_to_file("/root/ValueSave/single_point_correction_mode", single_point_correction_mode);
  1106 + JZSDK_LOG_INFO("已存储单点校正模式:%d", single_point_correction_mode);
  1107 +
  1108 + //保存两点校正模式
  1109 + int double_point_correction_mode;
  1110 + Proc_IRC_param(JZ_FLAGCODE_GET, JZSDK_WIDGET_TPC_MODE, &double_point_correction_mode);
  1111 + //保存
  1112 + save_int_to_file("/root/ValueSave/double_point_correction_mode", double_point_correction_mode);
  1113 + JZSDK_LOG_INFO("已存储两点校正模式:%d", double_point_correction_mode);
  1114 +
  1115 + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
  1116 +}
  1117 +
  1118 +static T_JZsdkReturnCode JZC1_PowerOn_Read()
  1119 +{
  1120 + //读取校正类型
  1121 + int correction_type = read_int_from_file("/root/ValueSave/correction_type");
  1122 + //设置校正类型
  1123 + UIcontrol_CameraCorrectionMode(NO_SPECIFIED ,correction_type);
  1124 +
  1125 + //读取单点校正模式
  1126 + int single_point_correction_mode = read_int_from_file("/root/ValueSave/single_point_correction_mode");
  1127 + //设置单点校正模式
  1128 + UIcontrol_Set_SPCmode(NO_SPECIFIED, single_point_correction_mode);
  1129 +
  1130 + //读取两点校正模式
  1131 + int double_point_correction_mode = read_int_from_file("/root/ValueSave/double_point_correction_mode");
  1132 + //设置两点校正模式
  1133 + UIcontrol_Set_TpcMode(NO_SPECIFIED, double_point_correction_mode);
  1134 +
  1135 + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
  1136 +}
  1137 +
1013 //c1的实际初始化函数 1138 //c1的实际初始化函数
1014 -T_JZsdkReturnCode JZC1_Init() 1139 +T_JZsdkReturnCode JZC1_Init(int mode)
1015 { 1140 {
  1141 + //网口初始化
  1142 + if (mode == APP_UART)
  1143 + {
  1144 + //网口初始化
  1145 + JZsdk_NetWork_Init();
  1146 + }
  1147 +
  1148 +
1016 #ifdef RTK_MPP_STATUS_ON 1149 #ifdef RTK_MPP_STATUS_ON
1017 1150
1018 T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; 1151 T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
@@ -1113,7 +1246,8 @@ T_JZsdkReturnCode JZC1_Init() @@ -1113,7 +1246,8 @@ T_JZsdkReturnCode JZC1_Init()
1113 memcpy(g_JZC1_info.Opt_Camera_info->CmeraDevPath, JZ_C1_OPT_DEV_PATH, strlen(JZ_C1_OPT_DEV_PATH)); 1246 memcpy(g_JZC1_info.Opt_Camera_info->CmeraDevPath, JZ_C1_OPT_DEV_PATH, strlen(JZ_C1_OPT_DEV_PATH));
1114 g_JZC1_info.Opt_Camera_info->SingleDataOutput = JZC1_OptDeal; 1247 g_JZC1_info.Opt_Camera_info->SingleDataOutput = JZC1_OptDeal;
1115 1248
1116 - ret = Camera_Init_2(g_JZC1_info.Opt_Camera_info); 1249 +
  1250 + ret = Camera_Init(g_JZC1_info.Opt_Camera_info);
1117 if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) 1251 if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
1118 { 1252 {
1119 JZSDK_LOG_ERROR("光学相机启动失败"); 1253 JZSDK_LOG_ERROR("光学相机启动失败");
@@ -1182,6 +1316,12 @@ T_JZsdkReturnCode JZC1_Init() @@ -1182,6 +1316,12 @@ T_JZsdkReturnCode JZC1_Init()
1182 1316
1183 #endif 1317 #endif
1184 1318
  1319 + //注册保存的回调函数
  1320 + PowerManager_RegisterPowerOffCallback(JZC1_PowerOff_Save);
  1321 +
  1322 + //注册读取保存的回调函数
  1323 + PowerManager_RegisterPowerOnCallback(JZC1_PowerOn_Read);
  1324 +
1185 JZSDK_LOG_INFO("JZC1_Init success"); 1325 JZSDK_LOG_INFO("JZC1_Init success");
1186 1326
1187 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; 1327 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
@@ -25,7 +25,7 @@ extern "C" { @@ -25,7 +25,7 @@ extern "C" {
25 25
26 /* Exported types ------------------------------------------------------------*/ 26 /* Exported types ------------------------------------------------------------*/
27 27
28 -T_JZsdkReturnCode JZC1_Init(); 28 +T_JZsdkReturnCode JZC1_Init(int mode);
29 29
30 30
31 #ifdef __cplusplus 31 #ifdef __cplusplus
@@ -2,6 +2,11 @@ @@ -2,6 +2,11 @@
2 #include "BaseConfig.h" 2 #include "BaseConfig.h"
3 #include <pthread.h> 3 #include <pthread.h>
4 4
  5 +#include "JZsdk_Hal.h"
  6 +#include "Megaphone/Megaphone.h"
  7 +#include "AudioDeal/AudioDeal.h"
  8 +#include "Gimbal/Gimbal.h"
  9 +
5 /**************************** 10 /****************************
6 * 11 *
7 * h10 h10t 初始化 12 * h10 h10t 初始化
  1 +/**
  2 + ********************************************************************
  3 + * @file JZ_h10.h
  4 + * JZ_h10.h的头文件
  5 + *
  6 + *********************************************************************
  7 + */
  8 +
  9 +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
  10 +#ifndef JZ_h10_H
  11 +#define JZ_h10_H
  12 +
  13 +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
  14 +
  15 +
  16 +/* Includes ------------------------------------------------------------------*/
  17 +#ifdef __cplusplus
  18 +extern "C" {
  19 +#endif
  20 +
  21 +
  22 +
  23 +/* Exported constants --------------------------------------------------------*/
  24 +/* 常亮定义*/
  25 +
  26 +/* Exported types ------------------------------------------------------------*/
  27 +
  28 +T_JZsdkReturnCode JZ_h10_init(int mode);
  29 +
  30 +
  31 +#ifdef __cplusplus
  32 +}
  33 +#endif
  34 +
  35 +#endif
@@ -2,6 +2,12 @@ @@ -2,6 +2,12 @@
2 #include "BaseConfig.h" 2 #include "BaseConfig.h"
3 #include <pthread.h> 3 #include <pthread.h>
4 4
  5 +
  6 +#include "JZsdk_Hal.h"
  7 +#include "Megaphone/Megaphone.h"
  8 +#include "AudioDeal/AudioDeal.h"
  9 +#include "Gimbal/Gimbal.h"
  10 +
5 /**************************** 11 /****************************
6 * 12 *
7 * h10 h10t 初始化 13 * h10 h10t 初始化
  1 +/**
  2 + ********************************************************************
  3 + * @file JZ_h10.h
  4 + * JZ_h10.h的头文件
  5 + *
  6 + *********************************************************************
  7 + */
  8 +
  9 +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
  10 +#ifndef JZ_h10_H
  11 +#define JZ_h10_H
  12 +
  13 +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
  14 +
  15 +
  16 +/* Includes ------------------------------------------------------------------*/
  17 +#ifdef __cplusplus
  18 +extern "C" {
  19 +#endif
  20 +
  21 +
  22 +
  23 +/* Exported constants --------------------------------------------------------*/
  24 +/* 常亮定义*/
  25 +
  26 +/* Exported types ------------------------------------------------------------*/
  27 +
  28 +T_JZsdkReturnCode JZ_h10_init(int mode);
  29 +
  30 +
  31 +#ifdef __cplusplus
  32 +}
  33 +#endif
  34 +
  35 +#endif
@@ -2,6 +2,60 @@ @@ -2,6 +2,60 @@
2 #include "BaseConfig.h" 2 #include "BaseConfig.h"
3 #include <pthread.h> 3 #include <pthread.h>
4 4
  5 +
  6 +#include "JZsdk_Hal.h"
  7 +#include "Megaphone/Megaphone.h"
  8 +#include "AudioDeal/AudioDeal.h"
  9 +#include "Gimbal/Gimbal.h"
  10 +#include "MediaProc/MediaProc.h"
  11 +
  12 +
  13 +
  14 +
  15 +typedef struct T_H150S_Info
  16 +{
  17 + JZsdk_CameraInfo *CamereInfo;
  18 +}T_H150S_Info;
  19 +
  20 +static T_H150S_Info g_H150S_Info;
  21 +
  22 +#define JZ_H150S_OPT_WIDTH 1920
  23 +#define JZ_H150S_OPT_HEIGHT 1080
  24 +#define JZ_H150S_OPT_FRAMERATE 25
  25 +#define JZ_H150S_OPT_INDEX VIDEOMGMT_STREAMING_FLOW_INDEX_FIRST
  26 +#define JZ_H150S_OPT_DEV_PATH ("/dev/video0")
  27 +#define JZ_H150S_OPT_PIXEL V4L2_PIX_FMT_H264
  28 +
  29 +#define JZ_H150S_OPT_BRIGHTNESS (80) //亮度,该摄像头亮度范围为 1-255 默认128
  30 +#define JZ_H150S_OPT_CONTRAST (155) //对比度,摄像头对比度范围为 1-255 默认128
  31 +#define JZ_H150S_OPT_SATURATION (128) //饱和度 摄像头饱和度范围为 1-255 默认128
  32 +
  33 +static T_JZsdkReturnCode JZ_h150s_h150t_PushFrame(int CameraIndex,unsigned char *data, int data_len)
  34 +{
  35 + int currentIndex = VideoMgmt_GetVideoStreamFlowIndexNum(); //获取当前视频流索引
  36 + //无视频流
  37 + if (currentIndex == 0)
  38 + {
  39 + //不推送视频
  40 + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
  41 + }
  42 +
  43 + //相机
  44 + if (currentIndex == JZ_H150S_OPT_INDEX && CameraIndex == JZ_H150S_OPT_INDEX)
  45 + {
  46 + //推送数据到流转模块
  47 + VideoMgmt_Single_FrameIn(data, data_len);
  48 + }
  49 +
  50 +}
  51 +
  52 +static T_JZsdkReturnCode JZ_h150s_h150t_Opt_deal(unsigned char *buf, int len)
  53 +{
  54 + JZ_h150s_h150t_PushFrame(VIDEOMGMT_STREAMING_FLOW_INDEX_FIRST, buf, len);
  55 + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
  56 +}
  57 +
  58 +
5 /**************************** 59 /****************************
6 * 60 *
7 * h150s h150t 初始化 61 * h150s h150t 初始化
@@ -11,10 +65,12 @@ @@ -11,10 +65,12 @@
11 * ****************************/ 65 * ****************************/
12 T_JZsdkReturnCode JZ_h150s_h150t_init(int mode) 66 T_JZsdkReturnCode JZ_h150s_h150t_init(int mode)
13 { 67 {
  68 + T_JZsdkReturnCode ret;
  69 +
14 //音频库初始化 70 //音频库初始化
15 AudioDeal_Init(); 71 AudioDeal_Init();
16 72
17 - if (mode == APP_PSDK) 73 + if (mode == APP_UART)
18 { 74 {
19 //串口设备1初始化 75 //串口设备1初始化
20 int value[1]; 76 int value[1];
@@ -31,12 +87,51 @@ T_JZsdkReturnCode JZ_h150s_h150t_init(int mode) @@ -31,12 +87,51 @@ T_JZsdkReturnCode JZ_h150s_h150t_init(int mode)
31 JZsdk_HalPort_Init(UART_4G, value); 87 JZsdk_HalPort_Init(UART_4G, value);
32 } 88 }
33 89
  90 + if (mode == APP_UART)
  91 + {
  92 + //网口初始化
  93 + JZsdk_NetWork_Init();
  94 + }
  95 +
34 //喊话器初始化 96 //喊话器初始化
35 Megaphone_Init(); 97 Megaphone_Init();
36 98
37 //云台初始化 99 //云台初始化
38 Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT); 100 Gimbal_Init(JZ_MODULE_CONTROL_WAY_INDEPENDENT);
39 101
  102 + //视频流模块初始化
  103 + T_JZsdkVideoMgmtHandler VideoMgmtHandler = {
  104 + .SetNextFrame_IDR = NULL,
  105 + };
  106 + VideoMgmt_Init(VideoMgmtHandler);
  107 +
40 //相机初始化 108 //相机初始化
41 - MediaProc_Init(); 109 + g_H150S_Info.CamereInfo = (JZsdk_CameraInfo *)malloc(sizeof(JZsdk_CameraInfo));
  110 + if (g_H150S_Info.CamereInfo == NULL)
  111 + {
  112 + JZSDK_LOG_ERROR("malloc error");
  113 + }
  114 +
  115 + memset(g_H150S_Info.CamereInfo, 0, sizeof(JZsdk_CameraInfo));
  116 + g_H150S_Info.CamereInfo->width = JZ_H150S_OPT_WIDTH;
  117 + g_H150S_Info.CamereInfo->height = JZ_H150S_OPT_HEIGHT;
  118 + g_H150S_Info.CamereInfo->FrameNum = JZ_H150S_OPT_FRAMERATE;
  119 + g_H150S_Info.CamereInfo->CameraFormat = JZ_H150S_OPT_PIXEL;
  120 + memcpy(g_H150S_Info.CamereInfo->CmeraDevPath, JZ_H150S_OPT_DEV_PATH, strlen(JZ_H150S_OPT_DEV_PATH));
  121 + g_H150S_Info.CamereInfo->ThreadMode = JZSDK_SINGLE_THREAD;
  122 + g_H150S_Info.CamereInfo->SingleDataOutput = JZ_h150s_h150t_Opt_deal;
  123 + g_H150S_Info.CamereInfo->CameraParam.Brightness = JZ_H150S_OPT_BRIGHTNESS;
  124 + g_H150S_Info.CamereInfo->CameraParam.Contrast = JZ_H150S_OPT_CONTRAST;
  125 + g_H150S_Info.CamereInfo->CameraParam.Saturation = JZ_H150S_OPT_SATURATION;
  126 +
  127 + ret = Camera_Init(g_H150S_Info.CamereInfo);
  128 + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
  129 + {
  130 + JZSDK_LOG_ERROR("光学相机启动失败");
  131 + }
  132 +
  133 + VideoMgmt_VideoStreamFlowIndex(JZ_H150S_OPT_INDEX);
  134 +
  135 + JZSDK_LOG_INFO("Module Init success");
  136 +
42 } 137 }
  1 +/**
  2 + ********************************************************************
  3 + * @file JZ_h150s_h150t.h
  4 + * JZ_h150s_h150t.h的头文件
  5 + *
  6 + *********************************************************************
  7 + */
  8 +
  9 +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
  10 +#ifndef JZ_H150S_H150T_H
  11 +#define JZ_H150S_H150T_H
  12 +
  13 +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
  14 +
  15 +
  16 +/* Includes ------------------------------------------------------------------*/
  17 +#ifdef __cplusplus
  18 +extern "C" {
  19 +#endif
  20 +
  21 +
  22 +
  23 +/* Exported constants --------------------------------------------------------*/
  24 +/* 常亮定义*/
  25 +
  26 +/* Exported types ------------------------------------------------------------*/
  27 +
  28 +T_JZsdkReturnCode JZ_h150s_h150t_init(int mode);
  29 +
  30 +
  31 +#ifdef __cplusplus
  32 +}
  33 +#endif
  34 +
  35 +#endif
@@ -2,6 +2,10 @@ @@ -2,6 +2,10 @@
2 #include "BaseConfig.h" 2 #include "BaseConfig.h"
3 #include <pthread.h> 3 #include <pthread.h>
4 4
  5 +#include "JZsdk_Hal.h"
  6 +#include "Megaphone/Megaphone.h"
  7 +#include "AudioDeal/AudioDeal.h"
  8 +
5 /**************************** 9 /****************************
6 * 10 *
7 * h1e 初始化 11 * h1e 初始化
@@ -11,26 +15,19 @@ @@ -11,26 +15,19 @@
11 * ****************************/ 15 * ****************************/
12 T_JZsdkReturnCode JZ_h1e_init(int mode) 16 T_JZsdkReturnCode JZ_h1e_init(int mode)
13 { 17 {
  18 + int value[5] = {0};
14 //音频库初始化 19 //音频库初始化
15 AudioDeal_Init(); 20 AudioDeal_Init();
16 21
17 if (mode == APP_UART) 22 if (mode == APP_UART)
18 { 23 {
19 //串口设备1初始化 24 //串口设备1初始化
20 - int value[1] = {0};  
21 value[0] = UART_DEV1_BITRATE; 25 value[0] = UART_DEV1_BITRATE;
22 JZsdk_HalPort_Init(UART_DEV_1, value); 26 JZsdk_HalPort_Init(UART_DEV_1, value);
23 } 27 }
24 28
25 - //4g设备初始化  
26 - value[0] = COMM_4G_UART_BITRATE;  
27 - JZsdk_HalPort_Init(UART_4G, value);  
28 -  
29 //喊话器初始化 29 //喊话器初始化
30 Megaphone_Init(); 30 Megaphone_Init();
31 31
32 - //云台初始化  
33 - Gimbal_Init(JZ_MODULE_CONTROL_WAY_TRANSPARENT);  
34 -  
35 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; 32 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
36 } 33 }
  1 +/**
  2 + ********************************************************************
  3 + * @file JZ_h1e.h
  4 + * JZ_h1e.h的头文件
  5 + *
  6 + *********************************************************************
  7 + */
  8 +
  9 +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
  10 +#ifndef JZ_H1E_H
  11 +#define JZ_H1E_H
  12 +
  13 +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
  14 +
  15 +
  16 +/* Includes ------------------------------------------------------------------*/
  17 +#ifdef __cplusplus
  18 +extern "C" {
  19 +#endif
  20 +
  21 +
  22 +
  23 +/* Exported constants --------------------------------------------------------*/
  24 +/* 常亮定义*/
  25 +
  26 +/* Exported types ------------------------------------------------------------*/
  27 +
  28 +T_JZsdkReturnCode JZ_h1e_init(int mode);
  29 +
  30 +
  31 +#ifdef __cplusplus
  32 +}
  33 +#endif
  34 +
  35 +#endif
@@ -2,6 +2,11 @@ @@ -2,6 +2,11 @@
2 #include "BaseConfig.h" 2 #include "BaseConfig.h"
3 #include <pthread.h> 3 #include <pthread.h>
4 4
  5 +#include "JZsdk_Hal.h"
  6 +#include "Megaphone/Megaphone.h"
  7 +#include "AudioDeal/AudioDeal.h"
  8 +#include "Gimbal/Gimbal.h"
  9 +
5 /**************************** 10 /****************************
6 * 11 *
7 * h15tt 初始化 12 * h15tt 初始化
@@ -11,7 +16,7 @@ @@ -11,7 +16,7 @@
11 * ****************************/ 16 * ****************************/
12 T_JZsdkReturnCode JZ_h1t_init(int mode) 17 T_JZsdkReturnCode JZ_h1t_init(int mode)
13 { 18 {
14 - int value[1] = {0}; 19 + int value[5] = {0};
15 20
16 //音频库初始化 21 //音频库初始化
17 AudioDeal_Init(); 22 AudioDeal_Init();
  1 +/**
  2 + ********************************************************************
  3 + * @file JZ_h1t.h
  4 + * JZ_h1t.h的头文件
  5 + *
  6 + *********************************************************************
  7 + */
  8 +
  9 +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
  10 +#ifndef JZ_H1T_H
  11 +#define JZ_H1T_H
  12 +
  13 +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
  14 +
  15 +
  16 +/* Includes ------------------------------------------------------------------*/
  17 +#ifdef __cplusplus
  18 +extern "C" {
  19 +#endif
  20 +
  21 +
  22 +
  23 +/* Exported constants --------------------------------------------------------*/
  24 +/* 常亮定义*/
  25 +
  26 +/* Exported types ------------------------------------------------------------*/
  27 +
  28 +T_JZsdkReturnCode JZ_h1t_init(int mode);
  29 +
  30 +
  31 +#ifdef __cplusplus
  32 +}
  33 +#endif
  34 +
  35 +#endif
@@ -2,6 +2,12 @@ @@ -2,6 +2,12 @@
2 #include "BaseConfig.h" 2 #include "BaseConfig.h"
3 #include <pthread.h> 3 #include <pthread.h>
4 4
  5 +
  6 +#include "JZsdk_Hal.h"
  7 +#include "Megaphone/Megaphone.h"
  8 +#include "AudioDeal/AudioDeal.h"
  9 +#include "Gimbal/Gimbal.h"
  10 +
5 /**************************** 11 /****************************
6 * 12 *
7 * u3 初始化 13 * u3 初始化
  1 +/**
  2 + ********************************************************************
  3 + * @file JZ_u3.h
  4 + * JZ_u3.h的头文件
  5 + *
  6 + *********************************************************************
  7 + */
  8 +
  9 +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
  10 +#ifndef JZ_u3_H
  11 +#define JZ_u3_H
  12 +
  13 +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
  14 +
  15 +
  16 +/* Includes ------------------------------------------------------------------*/
  17 +#ifdef __cplusplus
  18 +extern "C" {
  19 +#endif
  20 +
  21 +
  22 +
  23 +/* Exported constants --------------------------------------------------------*/
  24 +/* 常亮定义*/
  25 +
  26 +/* Exported types ------------------------------------------------------------*/
  27 +
  28 +T_JZsdkReturnCode JZ_u3_init(int mode);
  29 +
  30 +
  31 +#ifdef __cplusplus
  32 +}
  33 +#endif
  34 +
  35 +#endif
@@ -2,6 +2,12 @@ @@ -2,6 +2,12 @@
2 #include "BaseConfig.h" 2 #include "BaseConfig.h"
3 #include <pthread.h> 3 #include <pthread.h>
4 4
  5 +
  6 +#include "JZsdk_Hal.h"
  7 +#include "Megaphone/Megaphone.h"
  8 +#include "AudioDeal/AudioDeal.h"
  9 +#include "Gimbal/Gimbal.h"
  10 +
5 /**************************** 11 /****************************
6 * 12 *
7 * u30 初始化 13 * u30 初始化
  1 +/**
  2 + ********************************************************************
  3 + * @file JZ_u30.h
  4 + * JZ_u30.h的头文件
  5 + *
  6 + *********************************************************************
  7 + */
  8 +
  9 +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
  10 +#ifndef JZ_u30_H
  11 +#define JZ_u30_H
  12 +
  13 +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
  14 +
  15 +
  16 +/* Includes ------------------------------------------------------------------*/
  17 +#ifdef __cplusplus
  18 +extern "C" {
  19 +#endif
  20 +
  21 +
  22 +
  23 +/* Exported constants --------------------------------------------------------*/
  24 +/* 常亮定义*/
  25 +
  26 +/* Exported types ------------------------------------------------------------*/
  27 +
  28 +T_JZsdkReturnCode JZ_u30_init(int mode);
  29 +
  30 +
  31 +#ifdef __cplusplus
  32 +}
  33 +#endif
  34 +
  35 +#endif
@@ -2,6 +2,12 @@ @@ -2,6 +2,12 @@
2 #include "BaseConfig.h" 2 #include "BaseConfig.h"
3 #include <pthread.h> 3 #include <pthread.h>
4 4
  5 +
  6 +#include "JZsdk_Hal.h"
  7 +#include "Megaphone/Megaphone.h"
  8 +#include "AudioDeal/AudioDeal.h"
  9 +#include "Gimbal/Gimbal.h"
  10 +
5 /**************************** 11 /****************************
6 * 12 *
7 * u3d 初始化 13 * u3d 初始化
  1 +/**
  2 + ********************************************************************
  3 + * @file JZ_u3d.h
  4 + * JZ_u3d.h的头文件
  5 + *
  6 + *********************************************************************
  7 + */
  8 +
  9 +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
  10 +#ifndef JZ_u3d_H
  11 +#define JZ_u3d_H
  12 +
  13 +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
  14 +
  15 +
  16 +/* Includes ------------------------------------------------------------------*/
  17 +#ifdef __cplusplus
  18 +extern "C" {
  19 +#endif
  20 +
  21 +
  22 +
  23 +/* Exported constants --------------------------------------------------------*/
  24 +/* 常亮定义*/
  25 +
  26 +/* Exported types ------------------------------------------------------------*/
  27 +
  28 +T_JZsdkReturnCode JZ_u3d_init(int mode);
  29 +
  30 +
  31 +#ifdef __cplusplus
  32 +}
  33 +#endif
  34 +
  35 +#endif
@@ -2,6 +2,12 @@ @@ -2,6 +2,12 @@
2 #include "BaseConfig.h" 2 #include "BaseConfig.h"
3 #include <pthread.h> 3 #include <pthread.h>
4 4
  5 +#include "JZsdk_Hal.h"
  6 +#include "Megaphone/Megaphone.h"
  7 +#include "AudioDeal/AudioDeal.h"
  8 +#include "Gimbal/Gimbal.h"
  9 +#include "SideLaser/SideLaser.h"
  10 +
5 /**************************** 11 /****************************
6 * 12 *
7 * u3s 初始化 13 * u3s 初始化
  1 +/**
  2 + ********************************************************************
  3 + * @file JZ_u3s.h
  4 + * JZ_u3s.h的头文件
  5 + *
  6 + *********************************************************************
  7 + */
  8 +
  9 +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
  10 +#ifndef JZ_u3s_H
  11 +#define JZ_u3s_H
  12 +
  13 +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
  14 +
  15 +
  16 +/* Includes ------------------------------------------------------------------*/
  17 +#ifdef __cplusplus
  18 +extern "C" {
  19 +#endif
  20 +
  21 +
  22 +
  23 +/* Exported constants --------------------------------------------------------*/
  24 +/* 常亮定义*/
  25 +
  26 +/* Exported types ------------------------------------------------------------*/
  27 +
  28 +T_JZsdkReturnCode JZ_u3s_init(int mode);
  29 +
  30 +
  31 +#ifdef __cplusplus
  32 +}
  33 +#endif
  34 +
  35 +#endif
@@ -2,6 +2,12 @@ @@ -2,6 +2,12 @@
2 #include "BaseConfig.h" 2 #include "BaseConfig.h"
3 #include <pthread.h> 3 #include <pthread.h>
4 4
  5 +
  6 +#include "JZsdk_Hal.h"
  7 +#include "Megaphone/Megaphone.h"
  8 +#include "AudioDeal/AudioDeal.h"
  9 +#include "Gimbal/Gimbal.h"
  10 +
5 /**************************** 11 /****************************
6 * 12 *
7 * a1 初始化 13 * a1 初始化
@@ -9,7 +15,7 @@ @@ -9,7 +15,7 @@
9 * mode psdk为psdk模式 uart为串口模式 15 * mode psdk为psdk模式 uart为串口模式
10 * 16 *
11 * ****************************/ 17 * ****************************/
12 -T_JZsdkReturnCode JZ_a1_init(int mode) 18 +T_JZsdkReturnCode TF_a1_init(int mode)
13 { 19 {
14 //音频库初始化 20 //音频库初始化
15 AudioDeal_Init(); 21 AudioDeal_Init();
  1 +/**
  2 + ********************************************************************
  3 + * @file tf_a1.h
  4 + * tf_a1.h的头文件
  5 + *
  6 + *********************************************************************
  7 + */
  8 +
  9 +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
  10 +#ifndef TF_A1_H
  11 +#define TF_A1_H
  12 +
  13 +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
  14 +
  15 +
  16 +/* Includes ------------------------------------------------------------------*/
  17 +#ifdef __cplusplus
  18 +extern "C" {
  19 +#endif
  20 +
  21 +
  22 +
  23 +/* Exported constants --------------------------------------------------------*/
  24 +/* 常亮定义*/
  25 +
  26 +/* Exported types ------------------------------------------------------------*/
  27 +
  28 +T_JZsdkReturnCode TF_a1_init(int mode);
  29 +
  30 +
  31 +#ifdef __cplusplus
  32 +}
  33 +#endif
  34 +
  35 +#endif
@@ -19,7 +19,7 @@ @@ -19,7 +19,7 @@
19 #define MAJOR_VERSION 0x01 19 #define MAJOR_VERSION 0x01
20 #define MINOR_VERSION 0x03 20 #define MINOR_VERSION 0x03
21 #define MODIFY_VERSION 0x10 21 #define MODIFY_VERSION 0x10
22 -#define DEBUG_VERSION 0x01 22 +#define DEBUG_VERSION 0x04
23 23
24 //禁止修改行 滤波方式 24 //禁止修改行 滤波方式
25 #define FILTERING_TYPE HIGH_PASS_FILTERING 25 #define FILTERING_TYPE HIGH_PASS_FILTERING
@@ -38,6 +38,11 @@ @@ -38,6 +38,11 @@
38 38
39 //这个开关可以方便日常代码编写的跳转功能 39 //这个开关可以方便日常代码编写的跳转功能
40 #ifdef COMPILE_MODE_MODULE 40 #ifdef COMPILE_MODE_MODULE
  41 + //是否开启音频库功能
  42 + #ifdef MACRO_AUDIODEAL_MODULE
  43 + #define AUDIODEAL_CONFIG_STATUS_ON
  44 + #endif
  45 +
41 //是否开启喊话器功能 46 //是否开启喊话器功能
42 #ifdef MACRO_MEGAPHONE_MODULE 47 #ifdef MACRO_MEGAPHONE_MODULE
43 #define MEGAPHONE_CONFIG_STATUS_ON 48 #define MEGAPHONE_CONFIG_STATUS_ON
@@ -89,6 +94,10 @@ @@ -89,6 +94,10 @@
89 #endif 94 #endif
90 95
91 #else //这里用于方便调试使用,不是实际加载的模组 96 #else //这里用于方便调试使用,不是实际加载的模组
  97 +
  98 + //是否开启音频库功能
  99 + #define AUDIODEAL_CONFIG_STATUS_ON
  100 +
92 //是否开启喊话器功能 101 //是否开启喊话器功能
93 #define MEGAPHONE_CONFIG_STATUS_ON 102 #define MEGAPHONE_CONFIG_STATUS_ON
94 103
@@ -60,6 +60,10 @@ int HalRecv_type1_PreliminaryScreeningOfData(unsigned char *Data, int DataLen, i @@ -60,6 +60,10 @@ int HalRecv_type1_PreliminaryScreeningOfData(unsigned char *Data, int DataLen, i
60 //JZSDK_LOG_INFO("hal-数据传输,接受到数据+未处理数据的长度len: %d", DataLen); 60 //JZSDK_LOG_INFO("hal-数据传输,接受到数据+未处理数据的长度len: %d", DataLen);
61 break; 61 break;
62 62
  63 + case NET_DEV_1:
  64 + //JZSDK_LOG_INFO("网络-设备1号,接受到数据+未处理数据的长度len: %d", DataLen);
  65 + break;
  66 +
63 /********** 未报备的接口 ************/ 67 /********** 未报备的接口 ************/
64 default: 68 default:
65 ResidualLength = 0; 69 ResidualLength = 0;
@@ -25,9 +25,13 @@ @@ -25,9 +25,13 @@
25 #include "Megaphone/Music/AudioFile/Megaphone_AudioFile.h" 25 #include "Megaphone/Music/AudioFile/Megaphone_AudioFile.h"
26 #include "Megaphone/Opus/Megaphone_Opus.h" 26 #include "Megaphone/Opus/Megaphone_Opus.h"
27 #include "Megaphone/PcmAudio/PcmAudioFile.h" 27 #include "Megaphone/PcmAudio/PcmAudioFile.h"
  28 +#endif
28 29
  30 +#ifdef AUDIODEAL_CONFIG_STATUS_ON
  31 + #include "AudioDeal/AudioDeal.h"
29 #endif 32 #endif
30 33
  34 +
31 static int HalRecvMode = JZ_FLAGCODE_OFF; //接收模式,主要是为了限制不同设备同时要求hal层做出 同一个数据接收相关功能 ,目前做法是只限定一个hal设备使用一种数据接收模式 35 static int HalRecvMode = JZ_FLAGCODE_OFF; //接收模式,主要是为了限制不同设备同时要求hal层做出 同一个数据接收相关功能 ,目前做法是只限定一个hal设备使用一种数据接收模式
32 static int HalRecvDataLen = 0; //用于计算接收数据长度 36 static int HalRecvDataLen = 0; //用于计算接收数据长度
33 37
@@ -895,12 +899,12 @@ static T_JZsdkReturnCode RecvDeal_audio_GetMusicList(int Port, char *getbuf) @@ -895,12 +899,12 @@ static T_JZsdkReturnCode RecvDeal_audio_GetMusicList(int Port, char *getbuf)
895 #ifdef MEGAPHONE_CONFIG_STATUS_ON 899 #ifdef MEGAPHONE_CONFIG_STATUS_ON
896 900
897 //刷新歌曲列表 901 //刷新歌曲列表
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 - } 902 + // ret = Megaphone_Flush_MusicList();
  903 + // if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
  904 + // {
  905 + // HalSend_type1Send_Reply_Failure(Port, FrameSequence);
  906 + // return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
  907 + // }
904 908
905 //解析获取的类型 909 //解析获取的类型
906 int type = getbuf[9]; 910 int type = getbuf[9];
@@ -1640,6 +1644,8 @@ static T_JZsdkReturnCode RecvDeal_Delete_Audio(int Port, char *getbuf) @@ -1640,6 +1644,8 @@ static T_JZsdkReturnCode RecvDeal_Delete_Audio(int Port, char *getbuf)
1640 memcpy(FileName, &getbuf[9], FileName_Length); 1644 memcpy(FileName, &getbuf[9], FileName_Length);
1641 FileName[FileName_Length] = '\0'; // 确保文件名以null结尾 1645 FileName[FileName_Length] = '\0'; // 确保文件名以null结尾
1642 1646
  1647 + JZSDK_LOG_INFO("删除音频:%s", FileName);
  1648 +
1643 //3、拼接指令 1649 //3、拼接指令
1644 char FilePath[512]; 1650 char FilePath[512];
1645 snprintf(FilePath, 512 ,"/root/sdcard/audio/%s", FileName); 1651 snprintf(FilePath, 512 ,"/root/sdcard/audio/%s", FileName);
@@ -3063,6 +3069,8 @@ static T_JZsdkReturnCode RecvDeal_SearchLight_SubscriptionControl(int Port, char @@ -3063,6 +3069,8 @@ static T_JZsdkReturnCode RecvDeal_SearchLight_SubscriptionControl(int Port, char
3063 HalSend_type1Send_Reply_Failure(Port, FrameSequence); 3069 HalSend_type1Send_Reply_Failure(Port, FrameSequence);
3064 } 3070 }
3065 3071
  3072 + UIcontrol_Set_SearchLight_MessageSubscribe(Port, value);
  3073 +
3066 //回复操作成功 3074 //回复操作成功
3067 HalSend_type1Send_Reply_Success(Port, FrameSequence); 3075 HalSend_type1Send_Reply_Success(Port, FrameSequence);
3068 3076
@@ -3332,8 +3340,305 @@ static T_JZsdkReturnCode RecvDeal_Upgrade_End(int Port, char *getbuf) @@ -3332,8 +3340,305 @@ static T_JZsdkReturnCode RecvDeal_Upgrade_End(int Port, char *getbuf)
3332 return ret; 3340 return ret;
3333 } 3341 }
3334 3342
  3343 +/*******************************************************************************************************************************
  3344 + *
  3345 + * 视频流部分
  3346 + *
  3347 + * *******************************************************************************************************************************/
  3348 +T_JZsdkReturnCode RecvDeal_Set_VideoPushIndex(int Port, char *getbuf)
  3349 +{
  3350 + JZSDK_LOG_INFO("%s,视频推送索引",JZsdk_DefineCode_GetPortName(Port));
  3351 +
  3352 + //获取帧的序列号
  3353 + int FrameSequence = JZsdk_Get_FrameSequence(getbuf);
  3354 +
  3355 + //1、通过数据帧,获取控制值
  3356 + int value = getbuf[9];
  3357 +
  3358 + T_JZsdkReturnCode ret = UIcontrol_Set_VideoMgmtPushIndex(Port, value);
  3359 + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
  3360 + {
  3361 + //回复操作成功
  3362 + HalSend_type1Send_Reply_Success(Port, FrameSequence);
  3363 + }
  3364 + else
  3365 + {
  3366 + //回复操作失败
  3367 + HalSend_type1Send_Reply_Failure(Port, FrameSequence);
  3368 + }
  3369 +
  3370 + return ret;
  3371 +}
  3372 +
  3373 +T_JZsdkReturnCode RecvDeal_Set_ShutterControl(int Port, char *getbuf)
  3374 +{
  3375 + JZSDK_LOG_INFO("%s,快门控制",JZsdk_DefineCode_GetPortName(Port));
  3376 +
  3377 + //获取帧的序列号
  3378 + int FrameSequence = JZsdk_Get_FrameSequence(getbuf);
  3379 +
  3380 + //1、通过数据帧,获取控制值
  3381 + int value = getbuf[9];
  3382 +
  3383 + T_JZsdkReturnCode ret = UIcontrol_Set_ShutterSwitch(Port, value);
  3384 + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
  3385 + {
  3386 + //回复操作成功
  3387 + HalSend_type1Send_Reply_Success(Port, FrameSequence);
  3388 + }
  3389 + else
  3390 + {
  3391 + //回复操作失败
  3392 + HalSend_type1Send_Reply_Failure(Port, FrameSequence);
  3393 + }
  3394 +
  3395 + return ret;
  3396 +}
  3397 +
  3398 +T_JZsdkReturnCode RecvDeal_Set_FreezeControl(int Port, char *getbuf)
  3399 +{
  3400 + JZSDK_LOG_INFO("%s,冻结控制",JZsdk_DefineCode_GetPortName(Port));
  3401 +
  3402 + //获取帧的序列号
  3403 + int FrameSequence = JZsdk_Get_FrameSequence(getbuf);
  3404 +
  3405 + //1、通过数据帧,获取控制值
  3406 + int value = getbuf[9];
  3407 +
  3408 + T_JZsdkReturnCode ret = UIcontrol_FreezeVideo(Port, value);
  3409 + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
  3410 + {
  3411 + //回复操作成功
  3412 + HalSend_type1Send_Reply_Success(Port, FrameSequence);
  3413 + }
  3414 + else
  3415 + {
  3416 + //回复操作失败
  3417 + HalSend_type1Send_Reply_Failure(Port, FrameSequence);
  3418 + }
  3419 +
  3420 + return ret;
  3421 +}
  3422 +
  3423 +T_JZsdkReturnCode RecvDeal_Set_IRCCorrectWay(int Port, char *getbuf)
  3424 +{
  3425 + JZSDK_LOG_INFO("%s,红外校正方式",JZsdk_DefineCode_GetPortName(Port));
  3426 +
  3427 + //获取帧的序列号
  3428 + int FrameSequence = JZsdk_Get_FrameSequence(getbuf);
  3429 +
  3430 + //1、通过数据帧,获取控制值
  3431 + int value = getbuf[10];
  3432 +
  3433 + T_JZsdkReturnCode ret = UIcontrol_CameraCorrectionMode(Port, value);
  3434 + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
  3435 + {
  3436 + //回复操作成功
  3437 + HalSend_type1Send_Reply_Success(Port, FrameSequence);
  3438 + }
  3439 + else
  3440 + {
  3441 + //回复操作失败
  3442 + HalSend_type1Send_Reply_Failure(Port, FrameSequence);
  3443 + }
  3444 +
  3445 + return ret;
  3446 +}
  3447 +
  3448 +T_JZsdkReturnCode RecvDeal_Set_IRCCorrectSPCParam(int Port, char *getbuf)
  3449 +{
  3450 + JZSDK_LOG_INFO("%s,红外spc控制",JZsdk_DefineCode_GetPortName(Port));
  3451 +
  3452 + T_JZsdkReturnCode ret;
  3453 +
  3454 + //获取帧的序列号
  3455 + int FrameSequence = JZsdk_Get_FrameSequence(getbuf);
  3456 +
  3457 + //1、通过数据帧,获取控制值
  3458 + int mode = getbuf[9];
  3459 + int value = getbuf[10];
  3460 +
  3461 + //单点档位
  3462 + if (mode == 0x00)
  3463 + {
  3464 + ret = UIcontrol_Set_SPCmode(Port, value);
  3465 + }
  3466 + //单点校正模式
  3467 + else if (mode == 0x01)
  3468 + {
  3469 + ret = UIcontrol_Camera_SPC_ResetSwitch(Port, value);
  3470 + }
  3471 + //修改自动校正时间
  3472 + else if (mode == 0x02)
  3473 + {
  3474 + ret = UIcontrol_Set_SpcAutoTime(Port, value);
  3475 + }
  3476 + else
  3477 + {
  3478 + ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
  3479 + }
  3480 +
  3481 + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
  3482 + {
  3483 + //回复操作成功
  3484 + HalSend_type1Send_Reply_Success(Port, FrameSequence);
  3485 + }
  3486 + else
  3487 + {
  3488 + //回复操作失败
  3489 + HalSend_type1Send_Reply_Failure(Port, FrameSequence);
  3490 + }
  3491 +
  3492 + return ret;
  3493 +}
  3494 +
  3495 +
  3496 +T_JZsdkReturnCode RecvDeal_Set_IRCCorrectTPCParam(int Port, char *getbuf)
  3497 +{
  3498 + JZSDK_LOG_INFO("%s,红外tpc控制",JZsdk_DefineCode_GetPortName(Port));
3335 3499
  3500 + T_JZsdkReturnCode ret;
3336 3501
  3502 + //获取帧的序列号
  3503 + int FrameSequence = JZsdk_Get_FrameSequence(getbuf);
  3504 +
  3505 + //1、通过数据帧,获取控制值
  3506 + int mode = getbuf[9];
  3507 + int value = getbuf[10];
  3508 +
  3509 + //单点档位
  3510 + if (mode == 0x00)
  3511 + {
  3512 + ret = UIcontrol_Set_TpcMode(Port, value);
  3513 + }
  3514 + //修改两点校正数据组
  3515 + else if (mode == 0x01)
  3516 + {
  3517 + ret = UI_control_IrcMarkLowAndHighTemp(Port, value);
  3518 + }
  3519 + else
  3520 + {
  3521 + ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
  3522 + }
  3523 +
  3524 + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
  3525 + {
  3526 + //回复操作成功
  3527 + HalSend_type1Send_Reply_Success(Port, FrameSequence);
  3528 + }
  3529 + else
  3530 + {
  3531 + //回复操作失败
  3532 + HalSend_type1Send_Reply_Failure(Port, FrameSequence);
  3533 + }
  3534 +
  3535 + return ret;
  3536 +}
  3537 +
  3538 +T_JZsdkReturnCode RecvDeal_Set_IRCCorrectColorOutputMode(int Port, char *getbuf)
  3539 +{
  3540 + JZSDK_LOG_INFO("%s,红外校正颜色输出模式",JZsdk_DefineCode_GetPortName(Port));
  3541 +
  3542 + //获取帧的序列号
  3543 + int FrameSequence = JZsdk_Get_FrameSequence(getbuf);
  3544 +
  3545 + //1、通过数据帧,获取控制值
  3546 + int value = getbuf[10];
  3547 +
  3548 + T_JZsdkReturnCode ret = UIcontrol_Set_PixelColorMode(Port, value);
  3549 + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
  3550 + {
  3551 + //回复操作成功
  3552 + HalSend_type1Send_Reply_Success(Port, FrameSequence);
  3553 + }
  3554 + else
  3555 + {
  3556 + //回复操作失败
  3557 + HalSend_type1Send_Reply_Failure(Port, FrameSequence);
  3558 + }
  3559 +
  3560 + return ret;
  3561 +}
  3562 +
  3563 +T_JZsdkReturnCode RecvDeal_Set_IRCCorrectPseudoColorParam(int Port, char *getbuf)
  3564 +{
  3565 + JZSDK_LOG_INFO("%s,红外伪彩参数",JZsdk_DefineCode_GetPortName(Port));
  3566 +
  3567 + T_JZsdkReturnCode ret;
  3568 +
  3569 + //获取帧的序列号
  3570 + int FrameSequence = JZsdk_Get_FrameSequence(getbuf);
  3571 +
  3572 + //1、通过数据帧,获取控制值
  3573 + int mode = getbuf[9];
  3574 + int value = getbuf[10];
  3575 +
  3576 + //修改伪彩颜色
  3577 + if(mode == 0x00)
  3578 + {
  3579 + ret = UIcontrol_Set_PseudoColor(Port, value);
  3580 + }
  3581 + else
  3582 + {
  3583 + ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
  3584 + }
  3585 +
  3586 + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
  3587 + {
  3588 + //回复操作成功
  3589 + HalSend_type1Send_Reply_Success(Port, FrameSequence);
  3590 + }
  3591 + else
  3592 + {
  3593 + //回复操作失败
  3594 + HalSend_type1Send_Reply_Failure(Port, FrameSequence);
  3595 + }
  3596 +
  3597 + return ret;
  3598 +}
  3599 +
  3600 +
  3601 +
  3602 +T_JZsdkReturnCode RecvDeal_Set_IRCCorrectGasEnhanceParam(int Port, char *getbuf)
  3603 +{
  3604 + JZSDK_LOG_INFO("%s,红外气体增强参数",JZsdk_DefineCode_GetPortName(Port));
  3605 +
  3606 + T_JZsdkReturnCode ret;
  3607 +
  3608 + //获取帧的序列号
  3609 + int FrameSequence = JZsdk_Get_FrameSequence(getbuf);
  3610 +
  3611 + //1、通过数据帧,获取控制值
  3612 + int mode = getbuf[9];
  3613 + int value = getbuf[10];
  3614 +
  3615 + //修改气体增强颜色
  3616 + if(mode == 0x00)
  3617 + {
  3618 + ret = UIcontrol_Set_GasEnhancementColor(Port, value);
  3619 + }
  3620 + else if (mode == 0x01)
  3621 + {
  3622 + ret = UIcontrol_GasEnhancementCorrect(Port, value);
  3623 + }
  3624 + else
  3625 + {
  3626 + ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
  3627 + }
  3628 +
  3629 + if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
  3630 + {
  3631 + //回复操作成功
  3632 + HalSend_type1Send_Reply_Success(Port, FrameSequence);
  3633 + }
  3634 + else
  3635 + {
  3636 + //回复操作失败
  3637 + HalSend_type1Send_Reply_Failure(Port, FrameSequence);
  3638 + }
  3639 +
  3640 + return ret;
  3641 +}
3337 3642
3338 /******************************************************************************************************************************* 3643 /*******************************************************************************************************************************
3339 * 3644 *
@@ -4152,11 +4457,15 @@ static T_JZsdkReturnCode RecvDeal_SetSpecialParameters(int Port, char *getbuf) @@ -4152,11 +4457,15 @@ static T_JZsdkReturnCode RecvDeal_SetSpecialParameters(int Port, char *getbuf)
4152 //0x01设置滤波 4457 //0x01设置滤波
4153 case 0x01: 4458 case 0x01:
4154 { 4459 {
4155 - ret = Main_M30_all_filter_mode(&value); 4460 +#ifdef MEGAPHONE_CONFIG_STATUS_ON
  4461 +
  4462 + ret = AudioDeal_SetFilterMode(value);
4156 if(ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) 4463 if(ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
4157 { 4464 {
4158 JZSDK_LOG_ERROR("特参一失败"); 4465 JZSDK_LOG_ERROR("特参一失败");
4159 } 4466 }
  4467 +
  4468 +#endif
4160 } 4469 }
4161 break; 4470 break;
4162 4471
@@ -4209,11 +4518,11 @@ static T_JZsdkReturnCode RecvDeal_CheckSpecialParameters(int Port, char *getbuf) @@ -4209,11 +4518,11 @@ static T_JZsdkReturnCode RecvDeal_CheckSpecialParameters(int Port, char *getbuf)
4209 //0x01设置滤波 4518 //0x01设置滤波
4210 case 0x01: 4519 case 0x01:
4211 { 4520 {
4212 - ret = Main_M30_all_filter_mode(&value);  
4213 - if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)  
4214 - {  
4215 - JZSDK_LOG_ERROR("特参一获取失败");  
4216 - } 4521 +#ifdef MEGAPHONE_CONFIG_STATUS_ON
  4522 +
  4523 + value = AudioDeal_GetFilterMode();
  4524 + ret = JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
  4525 +#endif
4217 } 4526 }
4218 break; 4527 break;
4219 4528
@@ -4853,6 +5162,50 @@ static T_JZsdkReturnCode RecvDeal_InstructInput(int Port, int Receive_mode, unsi @@ -4853,6 +5162,50 @@ static T_JZsdkReturnCode RecvDeal_InstructInput(int Port, int Receive_mode, unsi
4853 RecvDeal_Upgrade_End(Port,getbuf); 5162 RecvDeal_Upgrade_End(Port,getbuf);
4854 break; 5163 break;
4855 5164
  5165 + //设置推流索引值
  5166 + case JZ_INSCODE_5AFRAME_CAMERA_VIDEO_PUSH_INDEX:
  5167 + RecvDeal_Set_VideoPushIndex(Port,getbuf);
  5168 + break;
  5169 +
  5170 + //设置快门控制
  5171 + case JZ_INSCODE_5AFRAME_CAMERA_SHUTTER_CONTROL:
  5172 + RecvDeal_Set_ShutterControl(Port,getbuf);
  5173 + break;
  5174 +
  5175 + //冻结控制
  5176 + case JZ_INSCODE_5AFRAME_CAMERA_FREEZE_CONTROL:
  5177 + RecvDeal_Set_FreezeControl(Port,getbuf);
  5178 + break;
  5179 +
  5180 + //红外校正方式
  5181 + case JZ_INSOCDE_5AFRAME_IRC_CORRECT_WAY:
  5182 + RecvDeal_Set_IRCCorrectWay(Port,getbuf);
  5183 + break;
  5184 +
  5185 + //红外单点参数
  5186 + case JZ_INSCODE_5AFRAME_IRC_SPC_PARAM:
  5187 + RecvDeal_Set_IRCCorrectSPCParam(Port,getbuf);
  5188 + break;
  5189 +
  5190 + //红外两点参数
  5191 + case JZ_INSCODE_5AFRAME_IRC_TPC_PARAM:
  5192 + RecvDeal_Set_IRCCorrectTPCParam(Port,getbuf);
  5193 + break;
  5194 +
  5195 + //红外色彩输出模式
  5196 + case JZ_INSOCDE_5AFRAME_IRC_OUTPUT_COLOR_MODE:
  5197 + RecvDeal_Set_IRCCorrectColorOutputMode(Port,getbuf);
  5198 + break;
  5199 +
  5200 + //红外伪彩输出控制
  5201 + case JZ_INSCODE_5AFRAME_IRC_PSEUDO_COLOR_PARAM:
  5202 + RecvDeal_Set_IRCCorrectPseudoColorParam(Port,getbuf);
  5203 + break;
  5204 +
  5205 + //红外气体增强控制
  5206 + case JZ_INSCODE_5AFRAME_IRC_GAS_ENHANCE_PARAM:
  5207 + RecvDeal_Set_IRCCorrectGasEnhanceParam(Port,getbuf);
  5208 + break;
4856 5209
4857 /******************************************************************************************************************************* 5210 /*******************************************************************************************************************************
4858 * 5211 *
1 #include <stdio.h> 1 #include <stdio.h>
2 #include <string.h> 2 #include <string.h>
3 #include <stdlib.h> 3 #include <stdlib.h>
4 -#include <termios.h> 4 +#include <unistd.h>
  5 +
5 #include <sys/socket.h> 6 #include <sys/socket.h>
6 #include <netinet/in.h> 7 #include <netinet/in.h>
7 #include <arpa/inet.h> 8 #include <arpa/inet.h>
8 9
  10 +#include <termios.h>
  11 +
9 #include "BaseConfig.h" 12 #include "BaseConfig.h"
10 #include "version_choose.h" 13 #include "version_choose.h"
11 14
12 #include "JZsdkLib.h" 15 #include "JZsdkLib.h"
13 #include "./JZsdk_network.h" 16 #include "./JZsdk_network.h"
14 17
  18 +#include "../Hal_Recv/HalRecv.h"
  19 +
15 #define LINUX_CMD_STR_MAX_SIZE (128) 20 #define LINUX_CMD_STR_MAX_SIZE (128)
16 #define LINUX_NETWORK_DEV "eth0" 21 #define LINUX_NETWORK_DEV "eth0"
  22 +
17 #define UDP_SERVER_PORT (23003) 23 #define UDP_SERVER_PORT (23003)
  24 +#define TCP_SERVER_PORT (23004)
  25 +#define MAX_LISTEN_NUM (5)
18 26
19 #define MAX_SEND_FRAME_LENTH (60000) 27 #define MAX_SEND_FRAME_LENTH (60000)
20 28
21 #define JZSDK_UTIL_MIN(a, b) (((a) < (b)) ? (a) : (b)) 29 #define JZSDK_UTIL_MIN(a, b) (((a) < (b)) ? (a) : (b))
22 30
23 -static int udp_socket = 0;  
24 -static struct sockaddr_in udp_server_addr; 31 +typedef struct T_JZsdk_network_Info
  32 +{
  33 + //udp套接字
  34 + int udp_socket;
  35 +
  36 + //udp服务器地址
  37 + struct sockaddr_in udp_server_addr;
  38 +
  39 + //udp端口
  40 + int udp_port;
  41 +
  42 + //tcp套接字
  43 + int tcp_socket;
  44 +
  45 + //tcp服务器地址
  46 + struct sockaddr_in tcp_server_addr;
  47 +
  48 + //tcp端口
  49 + int tcp_port;
  50 +}T_JZsdk_network_Info;
  51 +
  52 +T_JZsdk_network_Info g_JZsdk_network_Info;
  53 +
  54 +
25 static int NetworkMode = JZ_FLAGCODE_OFF; //网络模式 55 static int NetworkMode = JZ_FLAGCODE_OFF; //网络模式
26 56
  57 +static T_JZsdkReturnCode JZsdk_NetWork_UdpInit()
  58 +{
  59 + //创建UDP socket 套接字
  60 + g_JZsdk_network_Info.udp_socket = socket(AF_INET, SOCK_DGRAM, 0);
  61 + if (g_JZsdk_network_Info.udp_socket == -1) {
  62 + JZSDK_LOG_ERROR("网口套接字注册失败");
  63 + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
  64 + }
  65 +
  66 + //配置udp服务器地址
  67 + memset(&g_JZsdk_network_Info.udp_server_addr, 0, sizeof(g_JZsdk_network_Info.udp_server_addr));
  68 + g_JZsdk_network_Info.udp_server_addr.sin_family = AF_INET;
  69 + g_JZsdk_network_Info.udp_server_addr.sin_port = htons(g_JZsdk_network_Info.udp_port);
  70 + if(inet_aton(NET_WORK_TARGET_IPADDR, &g_JZsdk_network_Info.udp_server_addr.sin_addr) == 0)
  71 + {
  72 + JZSDK_LOG_ERROR("udp服务器配置失败");
  73 + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
  74 + }
  75 +}
  76 +
  77 +static T_JZsdkReturnCode handle_client(int client_socket, int port)
  78 +{
  79 + char buffer[4096] = {0}; // 初始化接收缓冲区
  80 + ssize_t bytes_read;
  81 +
  82 + // 读取客户端发送的数据
  83 + bytes_read = read(client_socket, buffer, 4096 - 1);
  84 + if (bytes_read > 0)
  85 + {
  86 + //printf("%s\n", buffer);
  87 +
  88 + // 检查是否是 OPTIONS 请求
  89 + if (strstr(buffer, "OPTIONS / HTTP/1.1") != NULL) {
  90 + // 返回允许跨域的响应头
  91 + const char *options_response =
  92 + "HTTP/1.1 200 OK\r\n"
  93 + "Access-Control-Allow-Origin: *\r\n"
  94 + "Access-Control-Allow-Methods: POST, OPTIONS\r\n"
  95 + "Access-Control-Allow-Headers: Content-Type\r\n"
  96 + "Content-Length: 0\r\n"
  97 + "\r\n";
  98 + write(client_socket, options_response, strlen(options_response));
  99 + close(client_socket);
  100 + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
  101 + }
  102 +
  103 + // 解析 HTTP 请求头中的 Content-Length
  104 + char *content_length = strstr(buffer, "Content-Length: ");
  105 + if (content_length) {
  106 + int len = atoi(content_length + 16); // 跳过 "Content-Length: " 的16个字符
  107 + unsigned char *body = strstr(buffer, "\r\n\r\n") + 4; // 定位消息体起始位置
  108 + //JZSDK_LOG_INFO("[Port %d] Received: %d%s\n", port, len, body); // 打印消息体内容
  109 +
  110 + HalRecv_type1_PreliminaryScreeningOfData(body, len, NET_DEV_1);
  111 + }
  112 + }
  113 +
  114 + // 发送固定 HTTP 响应
  115 + const char *response =
  116 + "HTTP/1.1 200 OK\r\n"
  117 + "Access-Control-Allow-Origin: *\r\n"
  118 + "Content-Length: 19\r\n"
  119 + "\r\n"
  120 + "Data received successfully";
  121 + write(client_socket, response, strlen(response));
  122 + close(client_socket); // 关闭客户端连接
  123 +
  124 + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
  125 +}
  126 +
  127 +static void *JZsdk_Tcp_RecvThread(void *arg)
  128 +{
  129 + while (1)
  130 + {
  131 + struct sockaddr_in client_addr;
  132 + socklen_t client_addr_len = sizeof(client_addr);
  133 + int client_socket = accept(g_JZsdk_network_Info.tcp_socket, (struct sockaddr *)&client_addr, &client_addr_len);
  134 + if(client_socket == -1)
  135 + {
  136 + JZSDK_LOG_ERROR("tcp服务器接收失败");
  137 + continue;
  138 + }
  139 +
  140 + handle_client(client_socket, g_JZsdk_network_Info.tcp_port); // 处理客户端请求
  141 + }
  142 +}
  143 +
  144 +static T_JZsdkReturnCode JZsdk_NetWork_TcpInit()
  145 +{
  146 + T_JZsdkOsalHandler *osal_handler = JZsdk_Platform_GetOsalHandler();
  147 + if(osal_handler == NULL)
  148 + {
  149 + JZSDK_LOG_ERROR("osal_handler is NULL");
  150 + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
  151 + }
  152 +
  153 + //创建tcp socket套接字
  154 + g_JZsdk_network_Info.tcp_socket = socket(AF_INET, SOCK_STREAM, 0);
  155 + if (g_JZsdk_network_Info.tcp_socket == -1)
  156 + {
  157 + JZSDK_LOG_ERROR("网口套接字注册失败");
  158 + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
  159 + }
  160 +
  161 + //配置tcp服务器
  162 + memset(&g_JZsdk_network_Info.tcp_server_addr, 0, sizeof(g_JZsdk_network_Info.tcp_server_addr));
  163 + g_JZsdk_network_Info.tcp_server_addr.sin_family = AF_INET;
  164 + g_JZsdk_network_Info.tcp_server_addr.sin_port = htons(g_JZsdk_network_Info.tcp_port);
  165 + g_JZsdk_network_Info.tcp_server_addr.sin_addr.s_addr = inet_addr("192.168.5.3");
  166 +
  167 + //把tcp套接字绑定到指定地址
  168 + if(bind(g_JZsdk_network_Info.tcp_socket, (struct sockaddr *)&g_JZsdk_network_Info.tcp_server_addr, sizeof(g_JZsdk_network_Info.tcp_server_addr)) == -1)
  169 + {
  170 + JZSDK_LOG_ERROR("tcp服务器配置失败");
  171 + close(g_JZsdk_network_Info.tcp_socket);
  172 + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
  173 + }
  174 +
  175 + //进入监听状态
  176 + if(listen(g_JZsdk_network_Info.tcp_socket, MAX_LISTEN_NUM) == -1)
  177 + {
  178 + JZSDK_LOG_ERROR("tcp服务器监听失败");
  179 + close(g_JZsdk_network_Info.tcp_socket);
  180 + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
  181 + }
  182 +
  183 +
  184 + T_JZTaskHandle g_tcp_server_task = NULL;
  185 +
  186 + //创建监听线程
  187 + osal_handler->TaskCreate("tcp_server", JZsdk_Tcp_RecvThread, 8192, NULL, &g_tcp_server_task);
  188 +
  189 + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
  190 +}
  191 +
  192 +
27 T_JZsdkReturnCode JZsdk_NetWork_Init() 193 T_JZsdkReturnCode JZsdk_NetWork_Init()
28 { 194 {
29 T_JZsdkReturnCode ret; 195 T_JZsdkReturnCode ret;
@@ -35,6 +201,9 @@ T_JZsdkReturnCode JZsdk_NetWork_Init() @@ -35,6 +201,9 @@ T_JZsdkReturnCode JZsdk_NetWork_Init()
35 return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; 201 return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
36 } 202 }
37 203
  204 + g_JZsdk_network_Info.udp_port = UDP_SERVER_PORT;
  205 + g_JZsdk_network_Info.tcp_port = TCP_SERVER_PORT;
  206 +
38 //1、打开网卡设备 207 //1、打开网卡设备
39 memset(cmdStr, 0, sizeof(cmdStr)); 208 memset(cmdStr, 0, sizeof(cmdStr));
40 snprintf(cmdStr, sizeof(cmdStr), "ifconfig %s up", LINUX_NETWORK_DEV); 209 snprintf(cmdStr, sizeof(cmdStr), "ifconfig %s up", LINUX_NETWORK_DEV);
@@ -46,7 +215,7 @@ T_JZsdkReturnCode JZsdk_NetWork_Init() @@ -46,7 +215,7 @@ T_JZsdkReturnCode JZsdk_NetWork_Init()
46 return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; 215 return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
47 } 216 }
48 217
49 - //2、打开网络 218 + //2、配置IP地址
50 memset(cmdStr, 0, sizeof(cmdStr)); 219 memset(cmdStr, 0, sizeof(cmdStr));
51 snprintf(cmdStr, sizeof(cmdStr), "ifconfig %s %s netmask %s", LINUX_NETWORK_DEV, NET_WORK_IPADDR, NET_WORK_NETMASK); 220 snprintf(cmdStr, sizeof(cmdStr), "ifconfig %s %s netmask %s", LINUX_NETWORK_DEV, NET_WORK_IPADDR, NET_WORK_NETMASK);
52 ret = system(cmdStr); 221 ret = system(cmdStr);
@@ -57,22 +226,11 @@ T_JZsdkReturnCode JZsdk_NetWork_Init() @@ -57,22 +226,11 @@ T_JZsdkReturnCode JZsdk_NetWork_Init()
57 return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; 226 return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
58 } 227 }
59 228
60 - //3、创建UDP socket 套接字  
61 - udp_socket = socket(AF_INET, SOCK_DGRAM, 0);  
62 - if (udp_socket == -1) {  
63 - JZSDK_LOG_ERROR("网口套接字注册失败");  
64 - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;  
65 - } 229 + //udp初始化
  230 + JZsdk_NetWork_UdpInit();
66 231
67 - //4、配置udp服务器地址  
68 - memset(&udp_server_addr, 0, sizeof(udp_server_addr));  
69 - udp_server_addr.sin_family = AF_INET;  
70 - udp_server_addr.sin_port = htons(UDP_SERVER_PORT);  
71 - if(inet_aton(NET_WORK_TARGET_IPADDR, &udp_server_addr.sin_addr) == 0)  
72 - {  
73 - JZSDK_LOG_ERROR("udp服务器配置失败");  
74 - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;  
75 - } 232 + //tcp初始化
  233 + JZsdk_NetWork_TcpInit();
76 234
77 NetworkMode = JZ_FLAGCODE_ON; 235 NetworkMode = JZ_FLAGCODE_ON;
78 236
@@ -87,8 +245,8 @@ T_JZsdkReturnCode JZsdk_NetWork_DeInit() @@ -87,8 +245,8 @@ T_JZsdkReturnCode JZsdk_NetWork_DeInit()
87 245
88 static T_JZsdkReturnCode JZsdk_NetWork_Sent(const unsigned char *data, const int data_len) 246 static T_JZsdkReturnCode JZsdk_NetWork_Sent(const unsigned char *data, const int data_len)
89 { 247 {
90 - int bytes_sent = sendto(udp_socket, data, data_len, 0,  
91 - (struct sockaddr *) &udp_server_addr, sizeof(udp_server_addr)); 248 + int bytes_sent = sendto(g_JZsdk_network_Info.udp_socket, data, data_len, 0,
  249 + (struct sockaddr *) &g_JZsdk_network_Info.udp_server_addr, sizeof(g_JZsdk_network_Info.udp_server_addr));
92 250
93 if (bytes_sent == -1) 251 if (bytes_sent == -1)
94 { 252 {
@@ -17,8 +17,8 @@ @@ -17,8 +17,8 @@
17 extern "C" { 17 extern "C" {
18 #endif 18 #endif
19 19
20 -#define LINUX_USB_VID (0x04b4)  
21 -#define LINUX_USB_PID (0x00f1) 20 +#define JZSDK_USB_VID (0x04b4)
  21 +#define JZSDK_USB_PID (0x00f1)
22 #define USB_OUT_POINT (0x02) 22 #define USB_OUT_POINT (0x02)
23 #define USB_IN_POINT (0x86) 23 #define USB_IN_POINT (0x86)
24 24
@@ -89,6 +89,14 @@ T_JZsdkReturnCode AudioDeal_SetFilterMode(int mode) @@ -89,6 +89,14 @@ T_JZsdkReturnCode AudioDeal_SetFilterMode(int mode)
89 FF_Filter_Set_FilterMode(mode); 89 FF_Filter_Set_FilterMode(mode);
90 } 90 }
91 91
  92 +/*
  93 + 获取音频库的滤波模式
  94 + 0x00 默认滤波 0x01 M30滤波
  95 +*/
  96 +T_JZsdkReturnCode AudioDeal_GetFilterMode()
  97 +{
  98 + return FF_Filter_Get_FilterMode();
  99 +}
92 100
93 101
94 /****************************** 102 /******************************
@@ -102,6 +102,8 @@ int AudioDeal_GetPauseAndContinuePlayStatus(); @@ -102,6 +102,8 @@ int AudioDeal_GetPauseAndContinuePlayStatus();
102 102
103 T_JZsdkReturnCode Get_AudioDealStatus(); 103 T_JZsdkReturnCode Get_AudioDealStatus();
104 T_JZsdkReturnCode AudioDeal_SetFilterMode(int mode); 104 T_JZsdkReturnCode AudioDeal_SetFilterMode(int mode);
  105 +T_JZsdkReturnCode AudioDeal_GetFilterMode();
  106 +
105 T_JZsdkReturnCode AudioDeal_Mp3DataStop(); 107 T_JZsdkReturnCode AudioDeal_Mp3DataStop();
106 108
107 #ifdef __cplusplus 109 #ifdef __cplusplus
@@ -440,3 +440,8 @@ T_JZsdkReturnCode FF_Filter_Set_FilterMode(int mode) @@ -440,3 +440,8 @@ T_JZsdkReturnCode FF_Filter_Set_FilterMode(int mode)
440 g_FilterMode = mode; 440 g_FilterMode = mode;
441 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; 441 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
442 } 442 }
  443 +
  444 +T_JZsdkReturnCode FF_Filter_Get_FilterMode()
  445 +{
  446 + return g_FilterMode;
  447 +}
@@ -21,6 +21,7 @@ T_JZsdkReturnCode FF_Filter_Init(struct AudioDealInfo *AD_Info, int AudioType); @@ -21,6 +21,7 @@ T_JZsdkReturnCode FF_Filter_Init(struct AudioDealInfo *AD_Info, int AudioType);
21 T_JZsdkReturnCode FF_Filter_push_frame_to_fliter(struct AudioDealInfo *AD_Info ,AVFrame* in_frame); 21 T_JZsdkReturnCode FF_Filter_push_frame_to_fliter(struct AudioDealInfo *AD_Info ,AVFrame* in_frame);
22 T_JZsdkReturnCode FF_Filter_get_frame_from_filter(struct AudioDealInfo *AD_Info ,AVFrame* out_frame); 22 T_JZsdkReturnCode FF_Filter_get_frame_from_filter(struct AudioDealInfo *AD_Info ,AVFrame* out_frame);
23 T_JZsdkReturnCode FF_Filter_Set_FilterMode(int mode); 23 T_JZsdkReturnCode FF_Filter_Set_FilterMode(int mode);
  24 +T_JZsdkReturnCode FF_Filter_Get_FilterMode();
24 25
25 /* Exported constants --------------------------------------------------------*/ 26 /* Exported constants --------------------------------------------------------*/
26 /* 常亮定义*/ 27 /* 常亮定义*/
@@ -4,21 +4,76 @@ @@ -4,21 +4,76 @@
4 #define POWER_STATUS_OFF 0 4 #define POWER_STATUS_OFF 0
5 #define POWER_STATUS_REBOOT 1 5 #define POWER_STATUS_REBOOT 1
6 6
7 -//电源管理初始化  
8 -T_JZsdkReturnCode PowerManger_Init() 7 +// 使用static限制全局变量可见范围
  8 +static T_JZsdkReturnCode (*g_PoweroffCallback)(void) = NULL;
  9 +static T_JZsdkReturnCode (*g_PoweronCallback)(void) = NULL;
  10 +
  11 +T_JZsdkReturnCode PowerManager_RegisterPowerOffCallback(T_JZsdkReturnCode (*callback)(void))
  12 +{
  13 + if (!callback)
  14 + {
  15 + JZSDK_LOG_ERROR("Invalid NULL callback");
  16 + return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER;
  17 + }
  18 +
  19 + g_PoweroffCallback = callback;
  20 +
  21 + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
  22 +}
  23 +
  24 +T_JZsdkReturnCode PowerManager_RegisterPowerOnCallback(T_JZsdkReturnCode (*callback)(void))
9 { 25 {
  26 + if (!callback)
  27 + {
  28 + JZSDK_LOG_ERROR("Invalid NULL callback");
  29 + return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER;
  30 + }
  31 +
  32 + g_PoweronCallback = callback;
10 33
  34 + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
11 } 35 }
12 36
  37 +
13 //电源开关 38 //电源开关
14 T_JZsdkReturnCode PowerManger_PowerOff() 39 T_JZsdkReturnCode PowerManger_PowerOff()
15 { 40 {
16 JZSDK_LOG_INFO("执行关闭电源"); 41 JZSDK_LOG_INFO("执行关闭电源");
  42 +
  43 + if (g_PoweroffCallback) {
  44 + T_JZsdkReturnCode callbackRet = g_PoweroffCallback();
  45 + if (callbackRet != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
  46 + {
  47 + JZSDK_LOG_ERROR("关机任务未正常执行");
  48 + }
  49 + }
  50 +
17 JZsdk_RunSystemCmd("poweroff"); 51 JZsdk_RunSystemCmd("poweroff");
18 52
19 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; 53 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
20 } 54 }
21 55
  56 +//电源开机时的任务 //这意味着已经完成所有初始化
  57 +T_JZsdkReturnCode PowerManger_PowerOn()
  58 +{
  59 + JZSDK_LOG_INFO("执行开机任务");
  60 +
  61 + if (g_PoweronCallback) {
  62 + T_JZsdkReturnCode callbackRet = g_PoweronCallback();
  63 + if (callbackRet != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
  64 + {
  65 + JZSDK_LOG_ERROR("开机任务未正常执行");
  66 + }
  67 + }
  68 +
  69 + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
  70 +}
  71 +
  72 +//电源管理初始化
  73 +T_JZsdkReturnCode PowerManger_Init()
  74 +{
  75 +
  76 +}
22 77
23 //电源重启 78 //电源重启
24 T_JZsdkReturnCode PowerManger_PowerReboot() 79 T_JZsdkReturnCode PowerManger_PowerReboot()
@@ -25,6 +25,9 @@ extern "C" { @@ -25,6 +25,9 @@ extern "C" {
25 25
26 /* Exported functions --------------------------------------------------------*/ 26 /* Exported functions --------------------------------------------------------*/
27 T_JZsdkReturnCode PowerManger_SetPowerStatus(int status); 27 T_JZsdkReturnCode PowerManger_SetPowerStatus(int status);
  28 +T_JZsdkReturnCode PowerManager_RegisterPowerOffCallback(T_JZsdkReturnCode (*callback)(void));
  29 +T_JZsdkReturnCode PowerManager_RegisterPowerOnCallback(T_JZsdkReturnCode (*callback)(void));
  30 +T_JZsdkReturnCode PowerManger_PowerOn();
28 31
29 32
30 #ifdef __cplusplus 33 #ifdef __cplusplus
@@ -293,7 +293,14 @@ static T_JZsdkReturnCode DeviceMessage_Enter_Debug(unsigned char *message) @@ -293,7 +293,14 @@ static T_JZsdkReturnCode DeviceMessage_Enter_Debug(unsigned char *message)
293 memset(old_message, 0, MESSAGE_MAX_LEN); 293 memset(old_message, 0, MESSAGE_MAX_LEN);
294 memset(new_message, 0, MESSAGE_MAX_LEN); 294 memset(new_message, 0, MESSAGE_MAX_LEN);
295 295
  296 + if (g_MessageLanguage == DEVICE_MESSAGE_CHINESE)
  297 + {
296 snprintf(new_message,MESSAGE_MAX_LEN,"调试界面\n"); 298 snprintf(new_message,MESSAGE_MAX_LEN,"调试界面\n");
  299 + }
  300 + else
  301 + {
  302 + snprintf(new_message,MESSAGE_MAX_LEN,"Debug-Perspective\n");
  303 + }
297 snprintf(old_message,MESSAGE_MAX_LEN,"%s",message); 304 snprintf(old_message,MESSAGE_MAX_LEN,"%s",message);
298 snprintf(message,MESSAGE_MAX_LEN,"%s%s",old_message,new_message); 305 snprintf(message,MESSAGE_MAX_LEN,"%s%s",old_message,new_message);
299 306
@@ -26,6 +26,8 @@ static int WarningLight_Mode; //警灯模式 @@ -26,6 +26,8 @@ static int WarningLight_Mode; //警灯模式
26 static int WarningLight_Color1; //警灯颜色1 26 static int WarningLight_Color1; //警灯颜色1
27 static int WarningLight_Color2; //警灯颜色2 27 static int WarningLight_Color2; //警灯颜色2
28 28
  29 +static int g_SearchLight_Subscription_Flag = JZ_FLAGCODE_ON; //消息订阅状态
  30 +
29 #define MAX(a,b) ( (a>b) ?a:b ) 31 #define MAX(a,b) ( (a>b) ?a:b )
30 32
31 T_JZsdkReturnCode Lighting_Init() 33 T_JZsdkReturnCode Lighting_Init()
@@ -421,3 +423,26 @@ T_JZsdkReturnCode JZsdk_SearchLight_FlushLumen(int InputLumen) @@ -421,3 +423,26 @@ T_JZsdkReturnCode JZsdk_SearchLight_FlushLumen(int InputLumen)
421 { 423 {
422 JZsdk_SearchLightTemControl_FlushLumen(InputLumen); 424 JZsdk_SearchLightTemControl_FlushLumen(InputLumen);
423 } 425 }
  426 +
  427 +/****************
  428 + *
  429 + * 获取消息订阅状态
  430 + *
  431 + * *************/
  432 +int JZsdk_SearchLight_GetMessageSubFlag(void)
  433 +{
  434 + return g_SearchLight_Subscription_Flag;
  435 +}
  436 +
  437 +/***************************
  438 + *
  439 + * 设置消息订阅状态
  440 + *
  441 + *
  442 +************************/
  443 +T_JZsdkReturnCode JZsdk_SearchLight_SetMessageSubFlag(int InputFlag)
  444 +{
  445 + g_SearchLight_Subscription_Flag = InputFlag;
  446 +
  447 + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
  448 +}
@@ -55,6 +55,11 @@ T_JZsdkReturnCode Lighting_CheckStatus_WarningLightColor(int *ValueColor1, int * @@ -55,6 +55,11 @@ T_JZsdkReturnCode Lighting_CheckStatus_WarningLightColor(int *ValueColor1, int *
55 55
56 T_JZsdkReturnCode JZsdk_SearchLight_FlushLumen(int InputLumen); 56 T_JZsdkReturnCode JZsdk_SearchLight_FlushLumen(int InputLumen);
57 57
  58 +
  59 +int JZsdk_SearchLight_GetMessageSubFlag(void);
  60 +T_JZsdkReturnCode JZsdk_SearchLight_SetMessageSubFlag(int InputFlag);
  61 +
  62 +
58 #ifdef __cplusplus 63 #ifdef __cplusplus
59 } 64 }
60 #endif 65 #endif
@@ -147,6 +147,8 @@ T_JZsdkReturnCode JZsdk_FrameCatch_Single(JZsdk_CameraInfo *CameraInfo) @@ -147,6 +147,8 @@ T_JZsdkReturnCode JZsdk_FrameCatch_Single(JZsdk_CameraInfo *CameraInfo)
147 return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; 147 return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
148 } 148 }
149 149
  150 + JZSDK_LOG_INFO("创建相机抓取并处理初始化线程成功!");
  151 +
150 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; 152 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
151 } 153 }
152 154
@@ -31,62 +31,25 @@ int g_CameraRegionBox_FirstPixel[2] = {0, 0}; // 初始化第一点坐标(x, y) @@ -31,62 +31,25 @@ int g_CameraRegionBox_FirstPixel[2] = {0, 0}; // 初始化第一点坐标(x, y)
31 int g_CameraRegionBox_SecondPixel[2] = {0, 0}; // 初始化第二点坐标(x, y)为(0, 0) 31 int g_CameraRegionBox_SecondPixel[2] = {0, 0}; // 初始化第二点坐标(x, y)为(0, 0)
32 int g_CameraRegionBox_ClickTime = 0; 32 int g_CameraRegionBox_ClickTime = 0;
33 33
34 -/******************************  
35 - *  
36 - * 相机初始化  
37 - * ThreadMode: 0为单线程 1为多线程  
38 - * width: 宽  
39 - * height: 高  
40 - * frame_num: 帧数  
41 - *  
42 - * ******************************/  
43 -T_JZsdkReturnCode Camera_Init(int ThreadMode, int width, int height, int frame_num) 34 +
  35 +T_JZsdkReturnCode Camera_Init(JZsdk_CameraInfo *CameraInfo)
44 { 36 {
45 T_JZsdkReturnCode ret; 37 T_JZsdkReturnCode ret;
46 38
47 //初始化摄像头 39 //初始化摄像头
48 - ret = V4l2_Camarainit(&g_CameraFd,width,height,frame_num); 40 + ret = V4L2_CameraInit_2(CameraInfo);
49 if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) 41 if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
50 { 42 {
51 return ret; 43 return ret;
52 } 44 }
53 45
54 -#if DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T  
55 //初始化摄像头参数 46 //初始化摄像头参数
56 - ret = V4L2_Parameter_Setting(g_CameraFd); 47 + ret = V4L2_Parameter_Setting(CameraInfo);
57 if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) 48 if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
58 { 49 {
59 JZSDK_LOG_ERROR("摄像头参数调整失败"); 50 JZSDK_LOG_ERROR("摄像头参数调整失败");
60 return ret; 51 return ret;
61 } 52 }
62 -#endif  
63 -  
64 - //根据线程模式初始化抓取和初步处理的线程  
65 - JZsdk_FrameCatch_Init(ThreadMode);  
66 -  
67 - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;  
68 -}  
69 -  
70 -  
71 -  
72 -T_JZsdkReturnCode Camera_Init_2(JZsdk_CameraInfo *CameraInfo)  
73 -{  
74 - T_JZsdkReturnCode ret;  
75 -  
76 - //初始化摄像头  
77 - ret = V4L2_CameraInit_2(CameraInfo);  
78 - if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)  
79 - {  
80 - return ret;  
81 - }  
82 -  
83 - // //初始化摄像头参数  
84 - // ret = V4L2_Parameter_Setting(CameraInfo->CameraFd);  
85 - // if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)  
86 - // {  
87 - // JZSDK_LOG_ERROR("摄像头参数调整失败");  
88 - // return ret;  
89 - // }  
90 53
91 if (CameraInfo->ThreadMode == JZSDK_SINGLE_THREAD && CameraInfo->SingleDataOutput != NULL) 54 if (CameraInfo->ThreadMode == JZSDK_SINGLE_THREAD && CameraInfo->SingleDataOutput != NULL)
92 { 55 {
@@ -173,6 +136,7 @@ T_JZsdkReturnCode JZsdk_CameraSPC_ResetSwitch() @@ -173,6 +136,7 @@ T_JZsdkReturnCode JZsdk_CameraSPC_ResetSwitch()
173 * **************************/ 136 * **************************/
174 T_JZsdkReturnCode JZsdk_Camera_GasEnhancementCorrectSwitch() 137 T_JZsdkReturnCode JZsdk_Camera_GasEnhancementCorrectSwitch()
175 { 138 {
  139 + JZSDK_LOG_INFO("气体增强打档");
176 IRC_SetDGCE_ResetFlag(); 140 IRC_SetDGCE_ResetFlag();
177 } 141 }
178 142
@@ -243,17 +207,21 @@ static T_JZsdkReturnCode Camera_CorrectionMode(int mode) @@ -243,17 +207,21 @@ static T_JZsdkReturnCode Camera_CorrectionMode(int mode)
243 { 207 {
244 case 0: 208 case 0:
245 RealMode = JZ_FLAGCODE_OFF; 209 RealMode = JZ_FLAGCODE_OFF;
  210 + JZSDK_LOG_INFO("无校正");
246 break; 211 break;
247 212
248 case 1: 213 case 1:
249 RealMode = IRC_CORRCTION_SPC; 214 RealMode = IRC_CORRCTION_SPC;
  215 + JZSDK_LOG_INFO("单点校正");
250 break; 216 break;
251 217
252 case 2: 218 case 2:
253 RealMode = IRC_CORRCTION_TPC; 219 RealMode = IRC_CORRCTION_TPC;
  220 + JZSDK_LOG_INFO("两点校正");
254 break; 221 break;
255 222
256 default: 223 default:
  224 + JZSDK_LOG_INFO("模式错误:%d",mode);
257 return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; 225 return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
258 break; 226 break;
259 } 227 }
@@ -279,18 +247,22 @@ static T_JZsdkReturnCode Camera_GasEnhancementColor(int mode) @@ -279,18 +247,22 @@ static T_JZsdkReturnCode Camera_GasEnhancementColor(int mode)
279 switch (mode) 247 switch (mode)
280 { 248 {
281 case 0: 249 case 0:
  250 + JZSDK_LOG_INFO("气体增强红色");
282 RealMode = IRC_GAS_ENHANCEMENT_RED; 251 RealMode = IRC_GAS_ENHANCEMENT_RED;
283 break; 252 break;
284 253
285 case 1: 254 case 1:
  255 + JZSDK_LOG_INFO("气体增强绿色");
286 RealMode = IRC_GAS_ENHANCEMENT_GREEN; 256 RealMode = IRC_GAS_ENHANCEMENT_GREEN;
287 break; 257 break;
288 258
289 case 2: 259 case 2:
  260 + JZSDK_LOG_INFO("气体增强蓝色");
290 RealMode = IRC_GAS_ENHANCEMENT_BLUE; 261 RealMode = IRC_GAS_ENHANCEMENT_BLUE;
291 break; 262 break;
292 263
293 default: 264 default:
  265 + JZSDK_LOG_ERROR("气体增强错误:%d",mode);
294 return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; 266 return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
295 break; 267 break;
296 } 268 }
@@ -38,8 +38,7 @@ T_JZsdkReturnCode JZsdk_Camera_BadPixelSwitch(); @@ -38,8 +38,7 @@ T_JZsdkReturnCode JZsdk_Camera_BadPixelSwitch();
38 T_JZsdkReturnCode JZsdk_CameraSPC_ResetSwitch(); 38 T_JZsdkReturnCode JZsdk_CameraSPC_ResetSwitch();
39 T_JZsdkReturnCode JZsdk_Camera_GasEnhancementCorrectSwitch(); 39 T_JZsdkReturnCode JZsdk_Camera_GasEnhancementCorrectSwitch();
40 40
41 -T_JZsdkReturnCode Camera_Init(int ThreadMode, int width, int height, int frame_num);  
42 -T_JZsdkReturnCode Camera_Init_2(JZsdk_CameraInfo *CameraInfo); 41 +T_JZsdkReturnCode Camera_Init(JZsdk_CameraInfo *CameraInfo);
43 42
44 43
45 #ifdef __cplusplus 44 #ifdef __cplusplus
@@ -16,36 +16,48 @@ @@ -16,36 +16,48 @@
16 #include <linux/videodev2.h> 16 #include <linux/videodev2.h>
17 #include "./V4L2_CameraParameterSetting.h" 17 #include "./V4L2_CameraParameterSetting.h"
18 #include "JZsdkLib.h" 18 #include "JZsdkLib.h"
  19 +#include "../Camera.h"
19 20
20 #include "MediaProc/MediaParm.h" 21 #include "MediaProc/MediaParm.h"
21 22
22 -T_JZsdkReturnCode V4L2_Parameter_Setting(int cam_fd) 23 +T_JZsdkReturnCode V4L2_Parameter_Setting(JZsdk_CameraInfo *CameraInfo)
23 { 24 {
24 struct v4l2_control ctrl; 25 struct v4l2_control ctrl;
25 26
26 //设置亮度* 27 //设置亮度*
  28 + if (CameraInfo->CameraParam.Brightness != 0)
  29 + {
27 ctrl.id= V4L2_CID_BRIGHTNESS; 30 ctrl.id= V4L2_CID_BRIGHTNESS;
28 - ctrl.value = BRIGHTNESS;  
29 - if(ioctl(cam_fd,VIDIOC_S_CTRL,&ctrl)==-1) 31 + ctrl.value = CameraInfo->CameraParam.Brightness;
  32 + if(ioctl(CameraInfo->CameraFd,VIDIOC_S_CTRL,&ctrl)==-1)
30 { 33 {
31 JZSDK_LOG_INFO("相机亮度设置失败"); 34 JZSDK_LOG_INFO("相机亮度设置失败");
32 } 35 }
  36 + }
33 37
34 //设置对比度 38 //设置对比度
  39 + if (CameraInfo->CameraParam.Contrast != 0)
  40 + {
35 ctrl.id = V4L2_CID_CONTRAST; 41 ctrl.id = V4L2_CID_CONTRAST;
36 - ctrl.value= CONTRAST;  
37 - if(ioctl(cam_fd,VIDIOC_S_CTRL,&ctrl)==-1) 42 + ctrl.value= CameraInfo->CameraParam.Contrast;
  43 + if(ioctl(CameraInfo->CameraFd,VIDIOC_S_CTRL,&ctrl)==-1)
38 { 44 {
39 JZSDK_LOG_INFO("相机对比度设置失败"); 45 JZSDK_LOG_INFO("相机对比度设置失败");
40 } 46 }
  47 + }
41 48
42 //设置饱和度 49 //设置饱和度
  50 + if (CameraInfo->CameraParam.Saturation != 0)
  51 + {
43 ctrl.id = V4L2_CID_SATURATION; 52 ctrl.id = V4L2_CID_SATURATION;
44 - ctrl.value= SATURATION;  
45 - if(ioctl(cam_fd,VIDIOC_S_CTRL,&ctrl)==-1) 53 + ctrl.value= CameraInfo->CameraParam.Saturation;
  54 + if(ioctl(CameraInfo->CameraFd,VIDIOC_S_CTRL,&ctrl)==-1)
46 { 55 {
47 perror("相机饱和度设置失败"); 56 perror("相机饱和度设置失败");
48 } 57 }
  58 + }
  59 +
  60 +
49 /* 61 /*
50 //设置色度 62 //设置色度
51 ctrl.id = V4L2_CID_HUE; 63 ctrl.id = V4L2_CID_HUE;
@@ -104,6 +116,7 @@ T_JZsdkReturnCode V4L2_Parameter_Setting(int cam_fd) @@ -104,6 +116,7 @@ T_JZsdkReturnCode V4L2_Parameter_Setting(int cam_fd)
104 exit(EXIT_FAILURE); 116 exit(EXIT_FAILURE);
105 } 117 }
106 */ 118 */
  119 + JZSDK_LOG_INFO("V4L2_Parameter_Setting success");
107 120
108 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; 121 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
109 } 122 }
@@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@
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 - 15 +#include "../CameraDef.h"
16 16
17 #ifdef __cplusplus 17 #ifdef __cplusplus
18 extern "C" { 18 extern "C" {
@@ -26,7 +26,7 @@ extern "C" { @@ -26,7 +26,7 @@ extern "C" {
26 26
27 27
28 /* Exported functions --------------------------------------------------------*/ 28 /* Exported functions --------------------------------------------------------*/
29 -T_JZsdkReturnCode V4L2_Parameter_Setting(int cam_fd); 29 +T_JZsdkReturnCode V4L2_Parameter_Setting(JZsdk_CameraInfo *CameraInfo);
30 30
31 31
32 #ifdef __cplusplus 32 #ifdef __cplusplus
@@ -49,20 +49,19 @@ T_JZsdkReturnCode IRC_LowT_CycleCalibration(U16_t *ImageData,struct IRC_param *d @@ -49,20 +49,19 @@ T_JZsdkReturnCode IRC_LowT_CycleCalibration(U16_t *ImageData,struct IRC_param *d
49 if (dealInfo->LowT_flag == JZ_FLAGCODE_ON) 49 if (dealInfo->LowT_flag == JZ_FLAGCODE_ON)
50 { 50 {
51 JZSDK_LOG_DEBUG("开始低温标定"); 51 JZSDK_LOG_DEBUG("开始低温标定");
52 - memset(dealInfo->LowT_NineFrameAdd, 0, dealInfo->PixelNum); 52 +
  53 + //清空存储数组
53 for (int i = 0; i < dealInfo->PixelNum; i++) 54 for (int i = 0; i < dealInfo->PixelNum; i++)
54 { 55 {
55 - dealInfo->LowT_NineFrameAdd[i] += ImageData[i]; 56 + dealInfo->LowT_NineFrameAdd[i] = 0;
56 } 57 }
57 - dealInfo->LowT_flag++;  
58 } 58 }
59 else if (dealInfo->LowT_flag == JZ_FLAGCODE_OFF) 59 else if (dealInfo->LowT_flag == JZ_FLAGCODE_OFF)
60 { 60 {
61 //不是,你这不是都没打开吗 61 //不是,你这不是都没打开吗
62 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; 62 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
63 } 63 }
64 - else  
65 - { 64 +
66 //否则累加存储数组 65 //否则累加存储数组
67 for (int i = 0; i < dealInfo->PixelNum; i++) 66 for (int i = 0; i < dealInfo->PixelNum; i++)
68 { 67 {
@@ -70,8 +69,6 @@ T_JZsdkReturnCode IRC_LowT_CycleCalibration(U16_t *ImageData,struct IRC_param *d @@ -70,8 +69,6 @@ T_JZsdkReturnCode IRC_LowT_CycleCalibration(U16_t *ImageData,struct IRC_param *d
70 } 69 }
71 dealInfo->LowT_flag++; 70 dealInfo->LowT_flag++;
72 71
73 - }  
74 -  
75 JZSDK_LOG_DEBUG("低温标定基准值已存入%d组",dealInfo->LowT_flag - 1); 72 JZSDK_LOG_DEBUG("低温标定基准值已存入%d组",dealInfo->LowT_flag - 1);
76 73
77 if (dealInfo->LowT_flag > 9) //已经存储了9组数据 74 if (dealInfo->LowT_flag > 9) //已经存储了9组数据
@@ -106,28 +103,25 @@ T_JZsdkReturnCode IRC_HighT_CycleCalibration(U16_t *ImageData, struct IRC_param @@ -106,28 +103,25 @@ T_JZsdkReturnCode IRC_HighT_CycleCalibration(U16_t *ImageData, struct IRC_param
106 if (dealInfo->HighT_flag == JZ_FLAGCODE_ON) 103 if (dealInfo->HighT_flag == JZ_FLAGCODE_ON)
107 { 104 {
108 JZSDK_LOG_DEBUG("开始高温标定"); 105 JZSDK_LOG_DEBUG("开始高温标定");
109 - memset(dealInfo->HighT_NineFrameAdd, 0, dealInfo->PixelNum); 106 +
  107 + //清空存储数组
110 for (int i = 0; i < dealInfo->PixelNum; i++) 108 for (int i = 0; i < dealInfo->PixelNum; i++)
111 { 109 {
112 - dealInfo->HighT_NineFrameAdd[i] += ImageData[i]; 110 + dealInfo->HighT_NineFrameAdd[i] = 0;
113 } 111 }
114 -  
115 - dealInfo->HighT_flag++;  
116 } 112 }
117 else if (dealInfo->HighT_flag == JZ_FLAGCODE_OFF) 113 else if (dealInfo->HighT_flag == JZ_FLAGCODE_OFF)
118 { 114 {
119 //不是,你这不是都没打开吗 115 //不是,你这不是都没打开吗
120 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; 116 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
121 } 117 }
122 - else  
123 - { 118 +
124 //否则累加存储数组 119 //否则累加存储数组
125 for (int i = 0; i < dealInfo->PixelNum; i++) 120 for (int i = 0; i < dealInfo->PixelNum; i++)
126 { 121 {
127 dealInfo->HighT_NineFrameAdd[i] += ImageData[i]; 122 dealInfo->HighT_NineFrameAdd[i] += ImageData[i];
128 } 123 }
129 dealInfo->HighT_flag++; 124 dealInfo->HighT_flag++;
130 - }  
131 125
132 JZSDK_LOG_DEBUG("高温标定基准值已存入%d组",dealInfo->HighT_flag - 1); 126 JZSDK_LOG_DEBUG("高温标定基准值已存入%d组",dealInfo->HighT_flag - 1);
133 127
@@ -252,7 +252,12 @@ static T_JZsdkReturnCode IRC_data_PreliminaryDeal(U16_t *rawData ,unsigned int * @@ -252,7 +252,12 @@ static T_JZsdkReturnCode IRC_data_PreliminaryDeal(U16_t *rawData ,unsigned int *
252 { 252 {
253 //写入出厂的低温数据 253 //写入出厂的低温数据
254 case 0: 254 case 0:
  255 +#if APP_VERSION == APP_PSDK
255 JZSDK_LOG_DEBUG("无法覆盖出厂的低温数据"); 256 JZSDK_LOG_DEBUG("无法覆盖出厂的低温数据");
  257 +
  258 +#elif APP_VERSION == APP_UART
  259 + IRC_LocalFrame_DataWrite(FACTORY_LOW_TEMP,dealInfo, dealInfo->HighT_NineFrame_Avg, dealInfo->PixelNum);
  260 +#endif
256 break; 261 break;
257 262
258 //写入手动数据1 263 //写入手动数据1
@@ -309,7 +314,12 @@ static T_JZsdkReturnCode IRC_data_PreliminaryDeal(U16_t *rawData ,unsigned int * @@ -309,7 +314,12 @@ static T_JZsdkReturnCode IRC_data_PreliminaryDeal(U16_t *rawData ,unsigned int *
309 { 314 {
310 //写入出厂的高温数据 315 //写入出厂的高温数据
311 case 0: 316 case 0:
  317 +#if APP_VERSION == APP_PSDK
312 JZSDK_LOG_DEBUG("无法覆盖出厂的高温数据"); 318 JZSDK_LOG_DEBUG("无法覆盖出厂的高温数据");
  319 +
  320 +#elif APP_VERSION == APP_UART
  321 + IRC_LocalFrame_DataWrite(FACTORY_HIGH_TEMP,dealInfo, dealInfo->HighT_NineFrame_Avg, dealInfo->PixelNum);
  322 +#endif
313 break; 323 break;
314 324
315 //写入手动数据1 325 //写入手动数据1
@@ -425,7 +435,7 @@ static T_JZsdkReturnCode IRC_data_PreliminaryDeal(U16_t *rawData ,unsigned int * @@ -425,7 +435,7 @@ static T_JZsdkReturnCode IRC_data_PreliminaryDeal(U16_t *rawData ,unsigned int *
425 IRC_LocalFrame_DataWrite(SPC_MARK_DATA, dealInfo, (U16_t *)dealInfo->SPC_Mark_Data, dealInfo->PixelNum); 435 IRC_LocalFrame_DataWrite(SPC_MARK_DATA, dealInfo, (U16_t *)dealInfo->SPC_Mark_Data, dealInfo->PixelNum);
426 436
427 //如果开启开启的昆腾库,则载入昆腾数据 437 //如果开启开启的昆腾库,则载入昆腾数据
428 - if (g_IRC_Param->DealWay == IRC_DEALMODE_KTLIB && dealInfo->SPC_mode == 1) 438 + if (g_IRC_Param->DealWay == IRC_DEALMODE_KTLIB && (dealInfo->SPC_mode == 1 || dealInfo->SPC_mode == 2))
429 { 439 {
430 #ifdef KTIRC_LIB_STATUS_ON 440 #ifdef KTIRC_LIB_STATUS_ON
431 KtLib_writeMarkData(SPC_MARK_DATA ,dealInfo->SPC_Mark_Data, dealInfo->PixelNum); 441 KtLib_writeMarkData(SPC_MARK_DATA ,dealInfo->SPC_Mark_Data, dealInfo->PixelNum);
@@ -698,7 +708,6 @@ T_JZsdkReturnCode IRC_FrameDeal(U16_t *rawData ,unsigned int dataSize, unsigned @@ -698,7 +708,6 @@ T_JZsdkReturnCode IRC_FrameDeal(U16_t *rawData ,unsigned int dataSize, unsigned
698 // fflush(temp_fp); 708 // fflush(temp_fp);
699 // } 709 // }
700 710
701 -  
702 //2、数据前处理,将原始数据和16位数据 合成为rgb数据 711 //2、数据前处理,将原始数据和16位数据 合成为rgb数据
703 U8_t *RGB_data = NULL; 712 U8_t *RGB_data = NULL;
704 unsigned int RGB_dataSize = 0; 713 unsigned int RGB_dataSize = 0;
@@ -836,6 +845,8 @@ T_JZsdkReturnCode LowAndHigh_MarkRest(int mode) @@ -836,6 +845,8 @@ T_JZsdkReturnCode LowAndHigh_MarkRest(int mode)
836 JZSDK_LOG_INFO("低温标定"); 845 JZSDK_LOG_INFO("低温标定");
837 g_IRC_Param->LowT_flag = JZ_FLAGCODE_ON; 846 g_IRC_Param->LowT_flag = JZ_FLAGCODE_ON;
838 } 847 }
  848 +
  849 + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
839 } 850 }
840 851
841 852
@@ -869,6 +880,7 @@ T_JZsdkReturnCode IRC_SetGrayPixel_ResetFlag() @@ -869,6 +880,7 @@ T_JZsdkReturnCode IRC_SetGrayPixel_ResetFlag()
869 T_JZsdkReturnCode IRC_SetSPC_ResetFlag() 880 T_JZsdkReturnCode IRC_SetSPC_ResetFlag()
870 { 881 {
871 g_IRC_Param->SPC_ResetFlag = JZ_FLAGCODE_ON; 882 g_IRC_Param->SPC_ResetFlag = JZ_FLAGCODE_ON;
  883 + JZSDK_LOG_INFO("spc打档重置");
872 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; 884 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
873 } 885 }
874 886
@@ -905,6 +917,25 @@ T_JZsdkReturnCode IRC_Set_OutputPixelColorMode(int value) @@ -905,6 +917,25 @@ T_JZsdkReturnCode IRC_Set_OutputPixelColorMode(int value)
905 g_IRC_Param->First_DGCE_flag = JZ_FLAGCODE_OFF; 917 g_IRC_Param->First_DGCE_flag = JZ_FLAGCODE_OFF;
906 } 918 }
907 919
  920 + switch (value)
  921 + {
  922 + case 0x00:
  923 + JZSDK_LOG_INFO("红外默认灰色输出");
  924 + break;
  925 +
  926 + case 0x01:
  927 + JZSDK_LOG_INFO("红外伪彩数据输出");
  928 + break;
  929 +
  930 + case 0x02:
  931 + JZSDK_LOG_INFO("红外气体增强输出");
  932 + break;
  933 +
  934 + default:
  935 + JZSDK_LOG_ERROR("红外输出模式出错");
  936 + break;
  937 + }
  938 +
908 939
909 g_IRC_Param->OutputPixelColorMode = value; 940 g_IRC_Param->OutputPixelColorMode = value;
910 941
@@ -1079,6 +1110,8 @@ static T_JZsdkReturnCode IRC_Set_SpcTime(int timebase) @@ -1079,6 +1110,8 @@ static T_JZsdkReturnCode IRC_Set_SpcTime(int timebase)
1079 time = 3000; 1110 time = 3000;
1080 } 1111 }
1081 1112
  1113 + JZSDK_LOG_INFO("设置spc自动打档时间 %dms", time);
  1114 +
1082 g_IRC_Param->SPC_auto_time_tpye = timebase; 1115 g_IRC_Param->SPC_auto_time_tpye = timebase;
1083 g_IRC_Param->SPC_auto_time = time; 1116 g_IRC_Param->SPC_auto_time = time;
1084 1117
@@ -1290,6 +1323,7 @@ static T_JZsdkReturnCode IRC_param_Init(struct IRC_param **index, int height, in @@ -1290,6 +1323,7 @@ static T_JZsdkReturnCode IRC_param_Init(struct IRC_param **index, int height, in
1290 else if (IrcDealCfg->DealWay == IRC_DEALMODE_KTLIB) 1323 else if (IrcDealCfg->DealWay == IRC_DEALMODE_KTLIB)
1291 { 1324 {
1292 IrcDealCfg->Filp_V = JZ_FLAGCODE_ON; 1325 IrcDealCfg->Filp_V = JZ_FLAGCODE_ON;
  1326 + IrcDealCfg->Filp_H = JZ_FLAGCODE_ON;
1293 } 1327 }
1294 //否则都不翻转 1328 //否则都不翻转
1295 else 1329 else
@@ -1472,3 +1506,4 @@ static T_JZsdkReturnCode IRC_param_Init(struct IRC_param **index, int height, in @@ -1472,3 +1506,4 @@ static T_JZsdkReturnCode IRC_param_Init(struct IRC_param **index, int height, in
1472 } 1506 }
1473 1507
1474 1508
  1509 +
@@ -377,6 +377,7 @@ T_JZsdkReturnCode KtLib_DataDeal(U16_t* U16_data, unsigned int U16_dataSize, @@ -377,6 +377,7 @@ T_JZsdkReturnCode KtLib_DataDeal(U16_t* U16_data, unsigned int U16_dataSize,
377 } 377 }
378 378
379 bool_ret = GetImageSynchronous(inputDataChar, inputDataSize, (char *)*RGB_data, dealInfo->PixelNum*3, (int *)RGB_dataSize); //同步处理数据 379 bool_ret = GetImageSynchronous(inputDataChar, inputDataSize, (char *)*RGB_data, dealInfo->PixelNum*3, (int *)RGB_dataSize); //同步处理数据
  380 +
380 } 381 }
381 break; 382 break;
382 383
@@ -33,6 +33,8 @@ T_JZsdkReturnCode PseudoColor_256Gray2Rgb_ResetColor(int value) @@ -33,6 +33,8 @@ T_JZsdkReturnCode PseudoColor_256Gray2Rgb_ResetColor(int value)
33 { 33 {
34 P_Color_FinishFlag = JZ_FLAGCODE_OFF; 34 P_Color_FinishFlag = JZ_FLAGCODE_OFF;
35 35
  36 + JZSDK_LOG_INFO("设置伪彩颜色为%d",value);
  37 +
36 unsigned char Path[256]; 38 unsigned char Path[256];
37 memset(Path,0,256); 39 memset(Path,0,256);
38 40
@@ -16,15 +16,15 @@ @@ -16,15 +16,15 @@
16 //单线程方案 16 //单线程方案
17 static T_JZsdkReturnCode MediaProc_SingleThreading() 17 static T_JZsdkReturnCode MediaProc_SingleThreading()
18 { 18 {
19 - //如果是150S相机 150T相机  
20 - if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T)  
21 - {  
22 - //1、相机初始化  
23 - Camera_Init(0,FIRST_WIDTH, FIRST_HEIGHT, FIRST_FRAME_NUM);  
24 -  
25 - //2、转码模块初始化  
26 - VideoStreamTransCode_Init();  
27 - } 19 + // //如果是150S相机 150T相机
  20 + // if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T)
  21 + // {
  22 + // //1、相机初始化
  23 + // Camera_Init(0,FIRST_WIDTH, FIRST_HEIGHT, FIRST_FRAME_NUM);
  24 +
  25 + // //2、转码模块初始化
  26 + // VideoStreamTransCode_Init();
  27 + // }
28 } 28 }
29 29
30 //多线程方案 30 //多线程方案
@@ -53,9 +53,5 @@ static T_JZsdkReturnCode MediaProc_MultiThreading() @@ -53,9 +53,5 @@ static T_JZsdkReturnCode MediaProc_MultiThreading()
53 T_JZsdkReturnCode MediaProc_Init() 53 T_JZsdkReturnCode MediaProc_Init()
54 { 54 {
55 55
56 -#if DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T  
57 - MediaProc_SingleThreading();  
58 -#endif  
59 -  
60 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; 56 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
61 } 57 }
@@ -448,5 +448,7 @@ T_JZsdkReturnCode VideoMgmt_Init(T_JZsdkVideoMgmtHandler handler) @@ -448,5 +448,7 @@ T_JZsdkReturnCode VideoMgmt_Init(T_JZsdkVideoMgmtHandler handler)
448 JZSDK_LOG_ERROR("创建冻结计时线程失败!"); 448 JZSDK_LOG_ERROR("创建冻结计时线程失败!");
449 } 449 }
450 450
  451 + JZSDK_LOG_INFO("videoMgmt Init Success");
  452 +
451 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; 453 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
452 } 454 }
@@ -1290,13 +1290,13 @@ T_JZsdkReturnCode Megaphone_SetVolume(int value, int mode)//设置音é‡ï¼ŒéŸ³é‡ @@ -1290,13 +1290,13 @@ T_JZsdkReturnCode Megaphone_SetVolume(int value, int mode)//设置音é‡ï¼ŒéŸ³é‡
1290 now_volume=value;//获取当前音量 1290 now_volume=value;//获取当前音量
1291 1291
1292 //v3s自设系统 10T要提高30初始音量 1292 //v3s自设系统 10T要提高30初始音量
1293 - if (DEVICE_VERSION == JZ_H10T || DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30)  
1294 - {  
1295 - if (value > 0)  
1296 - {  
1297 - value = 30 + value * 10/7;  
1298 - }  
1299 - } 1293 + // if (DEVICE_VERSION == JZ_H10T || DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30)
  1294 + // {
  1295 + // if (value > 0)
  1296 + // {
  1297 + // value = 30 + value * 10/7;
  1298 + // }
  1299 + // }
1300 1300
1301 if(value<=0) 1301 if(value<=0)
1302 { 1302 {
@@ -1343,13 +1343,13 @@ static T_JZsdkReturnCode Megaphone_SetTTSvolume() @@ -1343,13 +1343,13 @@ static T_JZsdkReturnCode Megaphone_SetTTSvolume()
1343 printf("TTS音量修改\n"); 1343 printf("TTS音量修改\n");
1344 1344
1345 //v3s自设系统 10T要提高30初始音量 1345 //v3s自设系统 10T要提高30初始音量
1346 - if (DEVICE_VERSION == JZ_H10T || DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30)  
1347 - {  
1348 - if (value > 0)  
1349 - {  
1350 - value = 30 + value * 10/7;  
1351 - }  
1352 - } 1346 + // if (DEVICE_VERSION == JZ_H10T || DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30)
  1347 + // {
  1348 + // if (value > 0)
  1349 + // {
  1350 + // value = 30 + value * 10/7;
  1351 + // }
  1352 + // }
1353 1353
1354 1354
1355 if(value<=0) 1355 if(value<=0)
@@ -1619,7 +1619,7 @@ T_JZsdkReturnCode Megaphone_PresetTask() @@ -1619,7 +1619,7 @@ T_JZsdkReturnCode Megaphone_PresetTask()
1619 1619
1620 //逐步提高音量 1620 //逐步提高音量
1621 int volume = 30; //初始音量 1621 int volume = 30; //初始音量
1622 - while (PrsetTask_GetPrsetTaskFlag() == JZ_FLAGCODE_ON && volume < 100) 1622 + while (PrsetTask_GetPrsetTaskFlag() == JZ_FLAGCODE_ON && volume <=100)
1623 { 1623 {
1624 UIcontrol_SetVolume(NO_SPECIFIED, volume); 1624 UIcontrol_SetVolume(NO_SPECIFIED, volume);
1625 volume += 10; 1625 volume += 10;
@@ -732,7 +732,7 @@ T_JZsdkReturnCode AudioFile_SaveAudioFileStop(int checkFlag, unsigned char *Chec @@ -732,7 +732,7 @@ T_JZsdkReturnCode AudioFile_SaveAudioFileStop(int checkFlag, unsigned char *Chec
732 if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) 732 if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
733 { 733 {
734 // 命令执行失败,处理错误 734 // 命令执行失败,处理错误
735 - JZSDK_LOG_ERROR("mp3存储失败"); 735 + JZSDK_LOG_ERROR("mp3存储失败 %s %s", SAVE_FILE_DIR, MP2_SaveFile);
736 AudioFile_save_flag = JZ_FLAGCODE_OFF; 736 AudioFile_save_flag = JZ_FLAGCODE_OFF;
737 ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; 737 ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
738 } 738 }
@@ -208,6 +208,7 @@ static T_JZsdkReturnCode UI_control_WidgetSet(int type, int value) @@ -208,6 +208,7 @@ static T_JZsdkReturnCode UI_control_WidgetSet(int type, int value)
208 case JZSDK_WIDGET_TPC_MODE: 208 case JZSDK_WIDGET_TPC_MODE:
209 case JZSDK_WIDGET_BAD_PIXEL_CORRECT_MODE: 209 case JZSDK_WIDGET_BAD_PIXEL_CORRECT_MODE:
210 case JZSDK_WIDGET_ZOOM_SIZE: 210 case JZSDK_WIDGET_ZOOM_SIZE:
  211 + case JZSDK_WIDGET_CAMERA_CORRECT_MODE:
211 UI_control_WidgetArraySet(index, value); 212 UI_control_WidgetArraySet(index, value);
212 break; 213 break;
213 214
@@ -1006,6 +1007,8 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_Set_WarningLightMode(int wheather_control, in @@ -1006,6 +1007,8 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_Set_WarningLightMode(int wheather_control, in
1006 { 1007 {
1007 T_JZsdkReturnCode ret; 1008 T_JZsdkReturnCode ret;
1008 1009
  1010 + //控件值 0 关闭 1快闪 2 满闪 3齐闪
  1011 +
1009 int mode = 0; 1012 int mode = 0;
1010 int Switch = 0; 1013 int Switch = 0;
1011 if (value >= 1) 1014 if (value >= 1)
@@ -1537,6 +1540,29 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_GasEnhancementCorrect(int wheather_ChangeWidg @@ -1537,6 +1540,29 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_GasEnhancementCorrect(int wheather_ChangeWidg
1537 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; 1540 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
1538 } 1541 }
1539 1542
  1543 +/**********************
  1544 + *
  1545 + * 高低温标定
  1546 + *
  1547 + *
  1548 +********************/
  1549 +T_JZsdkReturnCode JZsdk_Psdk_UI_io_IrcMarkLowAndHighTemp(int wheather_ChangeWidget, int wheather_control, int value)
  1550 +{
  1551 + //如果修改控件
  1552 + if (wheather_ChangeWidget == JZ_FLAGCODE_ON)
  1553 + {
  1554 + //无控件变化
  1555 + }
  1556 +
  1557 + //如果进行控制
  1558 + if (wheather_control == JZ_FLAGCODE_ON)
  1559 + {
  1560 + UI_control_IrcMarkLowAndHighTemp(DEVICE_PSDK, value);
  1561 + }
  1562 +
  1563 + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
  1564 +}
  1565 +
1540 /*********************************************************************************************************** 1566 /***********************************************************************************************************
1541 * 1567 *
1542 * 侧面激光部分 1568 * 侧面激光部分
@@ -155,6 +155,7 @@ T_JZsdkReturnCode JZsdK_SetFocusTarget(int PointX, int PointY); @@ -155,6 +155,7 @@ T_JZsdkReturnCode JZsdK_SetFocusTarget(int PointX, int PointY);
155 T_JZsdkReturnCode JZsdk_Psdk_UI_io_CameraCorrectMode(int wheather_ChangeWidget, int wheather_control, int value); 155 T_JZsdkReturnCode JZsdk_Psdk_UI_io_CameraCorrectMode(int wheather_ChangeWidget, int wheather_control, int value);
156 T_JZsdkReturnCode JZsdk_Psdk_UI_io_Set_GasEnhancementColor(int wheather_ChangeWidget, int wheather_control, int value); 156 T_JZsdkReturnCode JZsdk_Psdk_UI_io_Set_GasEnhancementColor(int wheather_ChangeWidget, int wheather_control, int value);
157 T_JZsdkReturnCode JZsdk_Psdk_UI_io_GasEnhancementCorrect(int wheather_ChangeWidget, int wheather_control, int value); 157 T_JZsdkReturnCode JZsdk_Psdk_UI_io_GasEnhancementCorrect(int wheather_ChangeWidget, int wheather_control, int value);
  158 +T_JZsdkReturnCode JZsdk_Psdk_UI_io_IrcMarkLowAndHighTemp(int wheather_ChangeWidget, int wheather_control, int value);
158 159
159 //psdk spc模式 160 //psdk spc模式
160 T_JZsdkReturnCode JZsdk_Psdk_UI_io_Set_SPCmode(int wheather_ChangeWidget, int wheather_control, int value); 161 T_JZsdkReturnCode JZsdk_Psdk_UI_io_Set_SPCmode(int wheather_ChangeWidget, int wheather_control, int value);
@@ -1290,6 +1290,21 @@ T_JZsdkReturnCode UIcontrol_CheckStatus_SearchLightTemperture(int *ValueLeftTemp @@ -1290,6 +1290,21 @@ T_JZsdkReturnCode UIcontrol_CheckStatus_SearchLightTemperture(int *ValueLeftTemp
1290 #endif 1290 #endif
1291 } 1291 }
1292 1292
  1293 +/***********************
  1294 + *
  1295 + * 设置探照灯消息订阅
  1296 + *
  1297 + *
  1298 +******************/
  1299 +T_JZsdkReturnCode UIcontrol_Set_SearchLight_MessageSubscribe(int DeviceName, int value)
  1300 +{
  1301 +#ifdef LIGHTING_STATUS_ON
  1302 + //调用探照灯的接口
  1303 + T_JZsdkReturnCode ret = JZsdk_SearchLight_SetMessageSubFlag(value);
  1304 +
  1305 +#endif
  1306 +}
  1307 +
1293 /**************************************************************************************************************************************** 1308 /****************************************************************************************************************************************
1294 * 1309 *
1295 * 警灯相关 1310 * 警灯相关
@@ -1624,8 +1639,11 @@ T_JZsdkReturnCode UIcontrol_ObtainSearchLight_Lumen(int DeviceName, int LeftLume @@ -1624,8 +1639,11 @@ T_JZsdkReturnCode UIcontrol_ObtainSearchLight_Lumen(int DeviceName, int LeftLume
1624 //如果设备1有启动 1639 //如果设备1有启动
1625 if ( (JZsdk_HalPort_UseFlag(UART_DEV_1) == JZ_FLAGCODE_ON) && (DeviceName != UART_DEV_1) ) 1640 if ( (JZsdk_HalPort_UseFlag(UART_DEV_1) == JZ_FLAGCODE_ON) && (DeviceName != UART_DEV_1) )
1626 { 1641 {
  1642 + if (JZsdk_SearchLight_GetMessageSubFlag() == JZ_FLAGCODE_ON)
  1643 + {
1627 HalSend_type1Send_SearchLight_Lumen(UART_DEV_1, LeftLumen, RightLumen); 1644 HalSend_type1Send_SearchLight_Lumen(UART_DEV_1, LeftLumen, RightLumen);
1628 } 1645 }
  1646 + }
1629 //如果设备2有启动 1647 //如果设备2有启动
1630 if ( (JZsdk_HalPort_UseFlag(UART_DEV_2) == JZ_FLAGCODE_ON) && (DeviceName != UART_DEV_2) ) 1648 if ( (JZsdk_HalPort_UseFlag(UART_DEV_2) == JZ_FLAGCODE_ON) && (DeviceName != UART_DEV_2) )
1631 { 1649 {
@@ -1661,7 +1679,15 @@ T_JZsdkReturnCode UIcontrol_ObtainSearchLight_Temperature(int DeviceName, int Le @@ -1661,7 +1679,15 @@ T_JZsdkReturnCode UIcontrol_ObtainSearchLight_Temperature(int DeviceName, int Le
1661 //如果设备1有启动 1679 //如果设备1有启动
1662 if ( (JZsdk_HalPort_UseFlag(UART_DEV_1) == JZ_FLAGCODE_ON) && (DeviceName != UART_DEV_1) ) 1680 if ( (JZsdk_HalPort_UseFlag(UART_DEV_1) == JZ_FLAGCODE_ON) && (DeviceName != UART_DEV_1) )
1663 { 1681 {
  1682 +#ifdef LIGHTING_STATUS_ON
  1683 + if (JZsdk_SearchLight_GetMessageSubFlag() == JZ_FLAGCODE_ON)
  1684 + {
  1685 + HalSend_type1Send_SearchLight_Temperature(UART_DEV_1, LeftTemperature, RightTemperature);
  1686 + }
  1687 +#else
1664 HalSend_type1Send_SearchLight_Temperature(UART_DEV_1, LeftTemperature, RightTemperature); 1688 HalSend_type1Send_SearchLight_Temperature(UART_DEV_1, LeftTemperature, RightTemperature);
  1689 +#endif
  1690 +
1665 } 1691 }
1666 //如果设备2有启动 1692 //如果设备2有启动
1667 if ( (JZsdk_HalPort_UseFlag(UART_DEV_2) == JZ_FLAGCODE_ON) && (DeviceName != UART_DEV_2) ) 1693 if ( (JZsdk_HalPort_UseFlag(UART_DEV_2) == JZ_FLAGCODE_ON) && (DeviceName != UART_DEV_2) )
@@ -2099,6 +2125,7 @@ T_JZsdkReturnCode UIcontrol_Set_SPCmode(int DeviceName, int value) @@ -2099,6 +2125,7 @@ T_JZsdkReturnCode UIcontrol_Set_SPCmode(int DeviceName, int value)
2099 //如果psdk接口已经使用 2125 //如果psdk接口已经使用
2100 if ( (JZsdk_HalPort_UseFlag(DEVICE_PSDK) == JZ_FLAGCODE_ON) && DeviceName != DEVICE_PSDK ) 2126 if ( (JZsdk_HalPort_UseFlag(DEVICE_PSDK) == JZ_FLAGCODE_ON) && DeviceName != DEVICE_PSDK )
2101 { 2127 {
  2128 + JZsdk_Psdk_UI_io_Set_SPCmode(JZ_FLAGCODE_ON, JZ_FLAGCODE_OFF, value);
2102 } 2129 }
2103 #endif 2130 #endif
2104 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; 2131 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
@@ -2171,6 +2198,7 @@ T_JZsdkReturnCode UIcontrol_Set_TpcMode(int DeviceName, int value) @@ -2171,6 +2198,7 @@ T_JZsdkReturnCode UIcontrol_Set_TpcMode(int DeviceName, int value)
2171 //如果psdk接口已经使用 2198 //如果psdk接口已经使用
2172 if ( (JZsdk_HalPort_UseFlag(DEVICE_PSDK) == JZ_FLAGCODE_ON) && DeviceName != DEVICE_PSDK ) 2199 if ( (JZsdk_HalPort_UseFlag(DEVICE_PSDK) == JZ_FLAGCODE_ON) && DeviceName != DEVICE_PSDK )
2173 { 2200 {
  2201 + JZsdk_Psdk_UI_io_Set_TpcMode(JZ_FLAGCODE_ON, JZ_FLAGCODE_OFF, value);
2174 } 2202 }
2175 #endif 2203 #endif
2176 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; 2204 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
@@ -2310,6 +2338,26 @@ T_JZsdkReturnCode UIcontrol_GasEnhancementCorrect(int DeviceName, int value) @@ -2310,6 +2338,26 @@ T_JZsdkReturnCode UIcontrol_GasEnhancementCorrect(int DeviceName, int value)
2310 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; 2338 return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
2311 } 2339 }
2312 2340
  2341 +/*****************************
  2342 + *
  2343 + * 高低温标定
  2344 + *
  2345 + *
  2346 + * ***********************/
  2347 +T_JZsdkReturnCode UI_control_IrcMarkLowAndHighTemp(int DeviceName, int value)
  2348 +{
  2349 + T_JZsdkReturnCode ret;
  2350 +#ifdef MEDIA_PROC_CONFIG_STATUS_ON
  2351 + //1、设置推流索引值
  2352 + ret = LowAndHigh_MarkRest(value);
  2353 + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
  2354 + {
  2355 + return ret;
  2356 + }
  2357 +#endif
  2358 +
  2359 + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
  2360 +}
2313 2361
2314 /********* 2362 /*********
2315 * 2363 *
@@ -77,6 +77,7 @@ T_JZsdkReturnCode UIcontrol_SearchLightControl(int DeviceName, int mode); @@ -77,6 +77,7 @@ T_JZsdkReturnCode UIcontrol_SearchLightControl(int DeviceName, int mode);
77 T_JZsdkReturnCode UIcontrol_Set_SearchLightLumen(int DeviceName, int WeatherFlush, int value1, int value2); 77 T_JZsdkReturnCode UIcontrol_Set_SearchLightLumen(int DeviceName, int WeatherFlush, int value1, int value2);
78 T_JZsdkReturnCode UIcontrol_CheckStatus_SearchLightLightAttribute(int *ValueFrequency, int *ValueMode, int *ValueLeftLumen, int *ValueRightLumen); 78 T_JZsdkReturnCode UIcontrol_CheckStatus_SearchLightLightAttribute(int *ValueFrequency, int *ValueMode, int *ValueLeftLumen, int *ValueRightLumen);
79 T_JZsdkReturnCode UIcontrol_CheckStatus_SearchLightTemperture(int *ValueLeftTemperature, int *ValueRightTemperaturen); 79 T_JZsdkReturnCode UIcontrol_CheckStatus_SearchLightTemperture(int *ValueLeftTemperature, int *ValueRightTemperaturen);
  80 +T_JZsdkReturnCode UIcontrol_Set_SearchLight_MessageSubscribe(int DeviceName, int value);
80 81
81 //警灯类 82 //警灯类
82 T_JZsdkReturnCode UIcontrol_Set_WarningLight_ModeControl(int DeviceName, int value1, int value2); 83 T_JZsdkReturnCode UIcontrol_Set_WarningLight_ModeControl(int DeviceName, int value1, int value2);
@@ -117,7 +118,7 @@ T_JZsdkReturnCode UIcontrol_CameraRegionbox(int DeviceName, int value1, int valu @@ -117,7 +118,7 @@ T_JZsdkReturnCode UIcontrol_CameraRegionbox(int DeviceName, int value1, int valu
117 T_JZsdkReturnCode UIcontrol_CameraCorrectionMode(int DeviceName, int value); 118 T_JZsdkReturnCode UIcontrol_CameraCorrectionMode(int DeviceName, int value);
118 T_JZsdkReturnCode UIcontrol_Set_GasEnhancementColor(int DeviceName, int value); 119 T_JZsdkReturnCode UIcontrol_Set_GasEnhancementColor(int DeviceName, int value);
119 T_JZsdkReturnCode UIcontrol_GasEnhancementCorrect(int DeviceName, int value); 120 T_JZsdkReturnCode UIcontrol_GasEnhancementCorrect(int DeviceName, int value);
120 - 121 +T_JZsdkReturnCode UI_control_IrcMarkLowAndHighTemp(int DeviceName, int value);
121 122
122 T_JZsdkReturnCode UIcontrol_ObtainGimbal_Pitch(int DeviceName, int GimbalPitchAngle); 123 T_JZsdkReturnCode UIcontrol_ObtainGimbal_Pitch(int DeviceName, int GimbalPitchAngle);
123 124
@@ -113,6 +113,10 @@ static int WidgetMgMT_Control_WorkFuntion(int Inscode, int value) @@ -113,6 +113,10 @@ static int WidgetMgMT_Control_WorkFuntion(int Inscode, int value)
113 JZsdk_Psdk_UI_io_GasEnhancementCorrect(JZ_FLAGCODE_ON, JZ_FLAGCODE_ON, value); 113 JZsdk_Psdk_UI_io_GasEnhancementCorrect(JZ_FLAGCODE_ON, JZ_FLAGCODE_ON, value);
114 break; 114 break;
115 115
  116 + case JZSDK_WIDGET_IRC_MARK_LOW_AND_HIGH_DATA:
  117 + JZsdk_Psdk_UI_io_IrcMarkLowAndHighTemp(JZ_FLAGCODE_ON, JZ_FLAGCODE_ON, value);
  118 + break;
  119 +
116 120
117 case JZSDK_WIDGET_GAS_ENHANCEMENT_CORRECT_HIGH_CALIBRATION: 121 case JZSDK_WIDGET_GAS_ENHANCEMENT_CORRECT_HIGH_CALIBRATION:
118 printf("未设置"); 122 printf("未设置");
@@ -961,8 +961,8 @@ static T_JZsdkReturnCode Irc_Widget(unsigned int index, unsigned int value) @@ -961,8 +961,8 @@ static T_JZsdkReturnCode Irc_Widget(unsigned int index, unsigned int value)
961 if (value == 1 && num_flag == 3) 961 if (value == 1 && num_flag == 3)
962 { 962 {
963 printf("高温标定\n"); 963 printf("高温标定\n");
  964 + JZSDK_WidgetMgMT_ConrtrolInputTask(JZSDK_WIDGET_IRC_MARK_LOW_AND_HIGH_DATA, 0);
964 965
965 - LowAndHigh_MarkRest(0);  
966 } 966 }
967 967
968 //JZSDK_WidgetMgMT_ConrtrolInputTask(JZSDK_WIDGET_GAS_ENHANCEMENT_CORRECT_HIGH_CALIBRATION, value); 968 //JZSDK_WidgetMgMT_ConrtrolInputTask(JZSDK_WIDGET_GAS_ENHANCEMENT_CORRECT_HIGH_CALIBRATION, value);
@@ -975,7 +975,7 @@ static T_JZsdkReturnCode Irc_Widget(unsigned int index, unsigned int value) @@ -975,7 +975,7 @@ static T_JZsdkReturnCode Irc_Widget(unsigned int index, unsigned int value)
975 { 975 {
976 printf("低温标定\n"); 976 printf("低温标定\n");
977 977
978 - LowAndHigh_MarkRest(1); 978 + JZSDK_WidgetMgMT_ConrtrolInputTask(JZSDK_WIDGET_IRC_MARK_LOW_AND_HIGH_DATA, 1);
979 } 979 }
980 //JZSDK_WidgetMgMT_ConrtrolInputTask(JZSDK_WIDGET_GAS_ENHANCEMENT_CORRECT_LOW_CALIBRATION, value); 980 //JZSDK_WidgetMgMT_ConrtrolInputTask(JZSDK_WIDGET_GAS_ENHANCEMENT_CORRECT_LOW_CALIBRATION, value);
981 break; 981 break;
@@ -46,10 +46,16 @@ extern "C" { @@ -46,10 +46,16 @@ extern "C" {
46 #define USER_DEVELOPER_ACCOUNT "dev@tfan.cn" 46 #define USER_DEVELOPER_ACCOUNT "dev@tfan.cn"
47 #define USER_BAUD_RATE "230400" 47 #define USER_BAUD_RATE "230400"
48 #else 48 #else
49 - #define USER_APP_NAME "H110"  
50 - #define USER_APP_ID "107188"  
51 - #define USER_APP_KEY "33df9ca77f3e8dc1df4d06cbd6237d3"  
52 - #define USER_APP_LICENSE "qHRtELC2A04PRBt1xOJ1pqkowJ2OZqwdAUPqOVc7WcWwVIR3Fnadjakhl0i7F1wnFNUKELlDLaDsCYLIhkzOd0kDPQcCksVk3Dla498xLD3Z1b5BcI+hlZXETwTmi+7Td0k1E3Rnt9OPGdqrA8W9mBg333EGGjARFGDfaK2BHhDexUE8yLoVhwkqk3t/0wV8kbyrlZzKsvo0kMUifbALCoLPoCO622Rdu056z+opYUX1OlXCGhDxVSDD43Oaab5bupcC4CGrmkpfiCvS78H7Uinc9b9Xf5Ocy373Cpoet7blux66DOiH5muSQVcrY3gnVKQVk7GRnO6piQh9mKHDdQ==" 49 + // #define USER_APP_NAME "H110"
  50 + // #define USER_APP_ID "107188"
  51 + // #define USER_APP_KEY "33df9ca77f3e8dc1df4d06cbd6237d3"
  52 + // #define USER_APP_LICENSE "qHRtELC2A04PRBt1xOJ1pqkowJ2OZqwdAUPqOVc7WcWwVIR3Fnadjakhl0i7F1wnFNUKELlDLaDsCYLIhkzOd0kDPQcCksVk3Dla498xLD3Z1b5BcI+hlZXETwTmi+7Td0k1E3Rnt9OPGdqrA8W9mBg333EGGjARFGDfaK2BHhDexUE8yLoVhwkqk3t/0wV8kbyrlZzKsvo0kMUifbALCoLPoCO622Rdu056z+opYUX1OlXCGhDxVSDD43Oaab5bupcC4CGrmkpfiCvS78H7Uinc9b9Xf5Ocy373Cpoet7blux66DOiH5muSQVcrY3gnVKQVk7GRnO6piQh9mKHDdQ=="
  53 + // #define USER_DEVELOPER_ACCOUNT "jizhisdk@163.com"
  54 +
  55 + #define USER_APP_NAME "T30V2"
  56 + #define USER_APP_ID "157783"
  57 + #define USER_APP_KEY "da4b1f33362243ec2f5d684c7d4d904"
  58 + #define USER_APP_LICENSE "jxtZU+COCz+nC6iQHpKY0NUKR7t3r6Uy0pcG9dIl+bfJ/tVREvRauRM+eo/MyvuIS2zzt0dGHMg7BmlnI8L42apzDwjN7jseLkP3/3qOczuwZgCTuMQziaItBloa7UjIdBAlDdKuiA92mcGc8BOKZTOIuCMfnNFNd3oD6V6RzAEf2D5WuofyXvc4N0/dVwH5oGvBuA/v+3Yt142xl0lhugfT5Rd9NjUIZ+9EXYMwImceUmNZjmbFNPwBVUPEGaA4HooN2yRDmfZl2qQMQsVgkEytg/kjgRkTOwcT+4h5Vw4VyXZXyeNqLOqJdy1fg0QdlT4YO6vVLo7uJHuRqz89nA=="
53 #define USER_DEVELOPER_ACCOUNT "jizhisdk@163.com" 59 #define USER_DEVELOPER_ACCOUNT "jizhisdk@163.com"
54 60
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) 61 #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)
@@ -46,6 +46,8 @@ extern "C" { @@ -46,6 +46,8 @@ extern "C" {
46 #define CONFIG_HARDWARE_CONNECTION DJI_USE_UART_AND_NETWORK_DEVICE 46 #define CONFIG_HARDWARE_CONNECTION DJI_USE_UART_AND_NETWORK_DEVICE
47 #elif (DEVICE_VERSION == JZ_U3 && ALLWINNER_CEDAR == VERSION_SWITCH_ON) 47 #elif (DEVICE_VERSION == JZ_U3 && ALLWINNER_CEDAR == VERSION_SWITCH_ON)
48 #define CONFIG_HARDWARE_CONNECTION DJI_USE_UART_AND_NETWORK_DEVICE 48 #define CONFIG_HARDWARE_CONNECTION DJI_USE_UART_AND_NETWORK_DEVICE
  49 +// #elif (DEVICE_VERSION == JZ_H10 && SPECIAL_VERSION == SPECIAL_H10_M300)
  50 +// #define CONFIG_HARDWARE_CONNECTION DJI_USE_UART_AND_USB_BULK_DEVICE
49 #else 51 #else
50 #define CONFIG_HARDWARE_CONNECTION DJI_USE_ONLY_UART 52 #define CONFIG_HARDWARE_CONNECTION DJI_USE_ONLY_UART
51 #endif 53 #endif
@@ -83,6 +85,7 @@ extern "C" { @@ -83,6 +85,7 @@ extern "C" {
83 /* Exported types ------------------------------------------------------------*/ 85 /* Exported types ------------------------------------------------------------*/
84 86
85 /* Exported functions --------------------------------------------------------*/ 87 /* Exported functions --------------------------------------------------------*/
  88 +int Set_Main_g_M300ConnectFailureFlag_ON();
86 89
87 #ifdef __cplusplus 90 #ifdef __cplusplus
88 } 91 }
@@ -64,6 +64,11 @@ @@ -64,6 +64,11 @@
64 #include "version_choose.h" 64 #include "version_choose.h"
65 #include "Psdk_UI_io.h" 65 #include "Psdk_UI_io.h"
66 #include "DeviceInfo/DeviceInfo.h" 66 #include "DeviceInfo/DeviceInfo.h"
  67 +#include "CommonMod/PowerManger/PowerManger.h"
  68 +
  69 +#ifdef AUDIODEAL_CONFIG_STATUS_ON
  70 + #include "AudioDeal/AudioDeal.h"
  71 +#endif
67 72
68 /* Private constants ---------------------------------------------------------*/ 73 /* Private constants ---------------------------------------------------------*/
69 #define DJI_LOG_PATH "/root/sdcard/Logs/" 74 #define DJI_LOG_PATH "/root/sdcard/Logs/"
@@ -171,6 +176,7 @@ int main(int argc, char *argv[]) @@ -171,6 +176,7 @@ int main(int argc, char *argv[])
171 } 176 }
172 177
173 USER_LOG_INFO("DjiCore_Init"); 178 USER_LOG_INFO("DjiCore_Init");
  179 + work_mode=1;//进入工作模式
174 180
175 // 获得基础信息 181 // 获得基础信息
176 returnCode = DjiAircraftInfo_GetBaseInfo(&aircraftInfoBaseInfo); 182 returnCode = DjiAircraftInfo_GetBaseInfo(&aircraftInfoBaseInfo);
@@ -184,11 +190,12 @@ int main(int argc, char *argv[]) @@ -184,11 +190,12 @@ int main(int argc, char *argv[])
184 //m30和m30t有滤波锁 190 //m30和m30t有滤波锁
185 if (aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M30 || aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M30T) 191 if (aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M30 || aircraftInfoBaseInfo.aircraftType == DJI_AIRCRAFT_TYPE_M30T)
186 { 192 {
187 - int filter_mode = JZ_FLAGCODE_ON;  
188 - Main_M30_all_filter_mode(&filter_mode);  
189 - } 193 +#ifdef AUDIODEAL_CONFIG_STATUS_ON
190 194
191 - work_mode=1;//进入工作模式 195 + AudioDeal_SetFilterMode(0x01);
  196 +
  197 +#endif
  198 + }
192 199
193 if (aircraftInfoBaseInfo.mountPositionType != DJI_MOUNT_POSITION_TYPE_PAYLOAD_PORT) { 200 if (aircraftInfoBaseInfo.mountPositionType != DJI_MOUNT_POSITION_TYPE_PAYLOAD_PORT) {
194 returnCode = DjiAircraftInfo_GetAircraftVersion(&aircraftInfoVersion); 201 returnCode = DjiAircraftInfo_GetAircraftVersion(&aircraftInfoVersion);
@@ -580,6 +587,8 @@ int main(int argc, char *argv[]) @@ -580,6 +587,8 @@ int main(int argc, char *argv[])
580 return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR; 587 return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
581 } 588 }
582 589
  590 +
  591 +
583 /*!< Step 5: Tell the DJI Pilot you are ready. */ 592 /*!< Step 5: Tell the DJI Pilot you are ready. */
584 returnCode = DjiCore_ApplicationStart(); 593 returnCode = DjiCore_ApplicationStart();
585 if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) { 594 if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) {
@@ -595,6 +604,9 @@ int main(int argc, char *argv[]) @@ -595,6 +604,9 @@ int main(int argc, char *argv[])
595 // USER_LOG_ERROR("set name for monitor task fail."); 604 // USER_LOG_ERROR("set name for monitor task fail.");
596 // } 605 // }
597 606
  607 + //初始化任务
  608 + PowerManger_PowerOn();
  609 +
598 while (1) { 610 while (1) {
599 sleep(1); 611 sleep(1);
600 } 612 }
@@ -1058,6 +1070,15 @@ static void DjiUser_NormalExitHandler(int signalNum) @@ -1058,6 +1070,15 @@ static void DjiUser_NormalExitHandler(int signalNum)
1058 #pragma GCC diagnostic pop 1070 #pragma GCC diagnostic pop
1059 1071
1060 /****************** (C) COPYRIGHT DJI Innovations *****END OF FILE****/ 1072 /****************** (C) COPYRIGHT DJI Innovations *****END OF FILE****/
  1073 +
  1074 +static T_JZsdkReturnCode g_M300ConnectFailureFlag = JZ_FLAGCODE_OFF;
  1075 +
  1076 +int Set_Main_g_M300ConnectFailureFlag_ON()
  1077 +{
  1078 + g_M300ConnectFailureFlag = JZ_FLAGCODE_ON;
  1079 + return 0;
  1080 +}
  1081 +
1061 void *getworkmodeTask(void *arg) 1082 void *getworkmodeTask(void *arg)
1062 { 1083 {
1063 int i=0; 1084 int i=0;
@@ -1069,9 +1090,17 @@ void *getworkmodeTask(void *arg) @@ -1069,9 +1090,17 @@ void *getworkmodeTask(void *arg)
1069 USER_LOG_INFO("wait %d work_mode=%d.....\n",i,work_mode); 1090 USER_LOG_INFO("wait %d work_mode=%d.....\n",i,work_mode);
1070 sleep(1);//延迟一秒钟 1091 sleep(1);//延迟一秒钟
1071 i++; 1092 i++;
1072 - if(i == JZsdk_ParamterParsing_GetTimeOutTime() ) 1093 +
  1094 + if (g_M300ConnectFailureFlag == JZ_FLAGCODE_ON)
1073 { 1095 {
1074 - USER_LOG_INFO("串口连接模式\n",work_mode); 1096 + i+=10;
  1097 + USER_LOG_INFO("SDK连接失败 with uart error\n",work_mode);
  1098 + g_M300ConnectFailureFlag = JZ_FLAGCODE_OFF;
  1099 + }
  1100 +
  1101 + if(i >= JZsdk_ParamterParsing_GetTimeOutTime())
  1102 + {
  1103 + USER_LOG_INFO("SDK连接失败goto urat_mode work_mode=%d.....\n",work_mode);
1075 1104
1076 returnCode = DjiUser_CleanSystemEnvironment(); 1105 returnCode = DjiUser_CleanSystemEnvironment();
1077 if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS) 1106 if (returnCode != DJI_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
@@ -1079,9 +1108,9 @@ void *getworkmodeTask(void *arg) @@ -1079,9 +1108,9 @@ void *getworkmodeTask(void *arg)
1079 perror("Clean up system environment failed."); 1108 perror("Clean up system environment failed.");
1080 } 1109 }
1081 1110
  1111 + //退出程序
1082 exit(0); 1112 exit(0);
1083 1113
1084 - USER_LOG_INFO("SDK连接失败goto urat_mode work_mode=%d.....\n",work_mode);  
1085 break; 1114 break;
1086 } 1115 }
1087 } 1116 }
@@ -25,6 +25,7 @@ @@ -25,6 +25,7 @@
25 /* Includes ------------------------------------------------------------------*/ 25 /* Includes ------------------------------------------------------------------*/
26 #include <dji_logger.h> 26 #include <dji_logger.h>
27 #include "hal_uart.h" 27 #include "hal_uart.h"
  28 +#include "version_choose.h"
28 29
29 /* Private constants ---------------------------------------------------------*/ 30 /* Private constants ---------------------------------------------------------*/
30 #define UART_DEV_NAME_STR_SIZE (128) 31 #define UART_DEV_NAME_STR_SIZE (128)
@@ -236,6 +237,9 @@ T_DjiReturnCode HalUart_ReadData(T_DjiUartHandle uartHandle, uint8_t *buf, uint3 @@ -236,6 +237,9 @@ T_DjiReturnCode HalUart_ReadData(T_DjiUartHandle uartHandle, uint8_t *buf, uint3
236 if (ret >= 0) { 237 if (ret >= 0) {
237 *realLen = ret; 238 *realLen = ret;
238 } else { 239 } else {
  240 +#if (DEVICE_VERSION == JZ_H10 && SPECIAL_VERSION == SPECIAL_H10_M300)
  241 + Set_Main_g_M300ConnectFailureFlag_ON();
  242 +#endif
239 return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR; 243 return DJI_ERROR_SYSTEM_MODULE_CODE_SYSTEM_ERROR;
240 } 244 }
241 245
@@ -38,7 +38,10 @@ @@ -38,7 +38,10 @@
38 #include "stdlib.h" 38 #include "stdlib.h"
39 39
40 #include "dji_platform.h" 40 #include "dji_platform.h"
  41 +
  42 +//额外添加的
41 #include "BaseConfig.h" 43 #include "BaseConfig.h"
  44 +#include "dji_sdk_config.h"
42 45
43 #ifdef __cplusplus 46 #ifdef __cplusplus
44 extern "C" { 47 extern "C" {
@@ -65,8 +65,10 @@ extern "C" { @@ -65,8 +65,10 @@ extern "C" {
65 #define LINUX_USB_BULK2_END_POINT_IN (0x84) 65 #define LINUX_USB_BULK2_END_POINT_IN (0x84)
66 #define LINUX_USB_BULK2_END_POINT_OUT (3) 66 #define LINUX_USB_BULK2_END_POINT_OUT (3)
67 67
  68 +//大疆的x86id
68 //#define LINUX_USB_VID (0x0B95) 69 //#define LINUX_USB_VID (0x0B95)
69 //#define LINUX_USB_PID (0x1790) 70 //#define LINUX_USB_PID (0x1790)
  71 +//linux设备的uid
70 #define LINUX_USB_VID (0x0955) 72 #define LINUX_USB_VID (0x0955)
71 #define LINUX_USB_PID (0x7020) 73 #define LINUX_USB_PID (0x7020)
72 74