合并分支 'dev' 到 'master'
Dev 查看合并请求 !22
正在显示
44 个修改的文件
包含
1502 行增加
和
2451 行删除
@@ -7,6 +7,7 @@ linux_kernel | @@ -7,6 +7,7 @@ linux_kernel | ||
7 | 7 | ||
8 | project_build/AUTEL_道通PSDK | 8 | project_build/AUTEL_道通PSDK |
9 | project_build/GDU_普宙PSDK | 9 | project_build/GDU_普宙PSDK |
10 | +project_build/ZY_珠海紫燕PSDK | ||
10 | 11 | ||
11 | project_build/Only_Serial/* | 12 | project_build/Only_Serial/* |
12 | !project_build/Only_Serial/application | 13 | !project_build/Only_Serial/application |
@@ -133,7 +133,10 @@ | @@ -133,7 +133,10 @@ | ||
133 | "hal_uart.h": "c", | 133 | "hal_uart.h": "c", |
134 | "jzsdkbase.h": "c", | 134 | "jzsdkbase.h": "c", |
135 | "dji_logger.h": "c", | 135 | "dji_logger.h": "c", |
136 | - "dji_platform.h": "c" | 136 | + "dji_platform.h": "c", |
137 | + "util_misc.h": "c", | ||
138 | + "jzsdk_smt_code.h": "c", | ||
139 | + "volume.h": "c" | ||
137 | }, | 140 | }, |
138 | "Codegeex.GenerationPreference": "automatic", | 141 | "Codegeex.GenerationPreference": "automatic", |
139 | "C_Cpp.dimInactiveRegions": false | 142 | "C_Cpp.dimInactiveRegions": false |
1 | # 编译链的配置 | 1 | # 编译链的配置 |
2 | 2 | ||
3 | #1、编译链与设备类型的选择 | 3 | #1、编译链与设备类型的选择 |
4 | -set(DEVICE_NAME JZ_H10) | 4 | +set(DEVICE_NAME JZ_H150T) |
5 | #上一行为禁止修改行 | 5 | #上一行为禁止修改行 |
6 | 6 | ||
7 | message("**************************JZSDK构建编译开始***************************\n") | 7 | message("**************************JZSDK构建编译开始***************************\n") |
@@ -54,17 +54,18 @@ int Main_Device_Wheather_Use() | @@ -54,17 +54,18 @@ int Main_Device_Wheather_Use() | ||
54 | return 1; | 54 | return 1; |
55 | } | 55 | } |
56 | 56 | ||
57 | - // //如果是国外版,判断是否在国内 //以后再单独领出一个模块 | ||
58 | - if (FIRMWARE_ORIGIN == OVERSEAS_VERSION) | ||
59 | - { | ||
60 | -#if APP_VERSION == APP_PSDK | ||
61 | - //如果处于中国境内 | ||
62 | - if (Subscription_WhetherInChina() == 1) | ||
63 | - { | ||
64 | - return 2; | ||
65 | - } | ||
66 | -#endif | ||
67 | - } | 57 | + //该功能已移除 |
58 | +// // //如果是国外版,判断是否在国内 //以后再单独领出一个模块 | ||
59 | +// if (FIRMWARE_ORIGIN == OVERSEAS_VERSION) | ||
60 | +// { | ||
61 | +// #if APP_VERSION == APP_PSDK | ||
62 | +// //如果处于中国境内 | ||
63 | +// if (Subscription_WhetherInChina() == 1) | ||
64 | +// { | ||
65 | +// return 2; | ||
66 | +// } | ||
67 | +// #endif | ||
68 | +// } | ||
68 | 69 | ||
69 | return 0; | 70 | return 0; |
70 | } | 71 | } |
@@ -328,7 +329,7 @@ T_JZsdkReturnCode Main_APP_Psdk() | @@ -328,7 +329,7 @@ T_JZsdkReturnCode Main_APP_Psdk() | ||
328 | //hal加载 | 329 | //hal加载 |
329 | JZsdk_Hal_Init(); | 330 | JZsdk_Hal_Init(); |
330 | 331 | ||
331 | - JZSDK_LOG_INFO("%x,PsdkVersion%x.%x.%x.%x\n",DEVICE_VERSION,MAJOR_VERSION, MINOR_VERSION, MODIFY_VERSION, DEBUG_VERSION); | 332 | + JZSDK_LOG_INFO("%x,PsdkVersion%d.%d.%d.%d\n",DEVICE_VERSION,MAJOR_VERSION, MINOR_VERSION, MODIFY_VERSION, DEBUG_VERSION); |
332 | 333 | ||
333 | //通用模块初始化 | 334 | //通用模块初始化 |
334 | CommonMod_Init(); | 335 | CommonMod_Init(); |
@@ -370,7 +371,7 @@ int Main_APP_Uart() | @@ -370,7 +371,7 @@ int Main_APP_Uart() | ||
370 | 371 | ||
371 | JZsdk_Hal_Init(); | 372 | JZsdk_Hal_Init(); |
372 | 373 | ||
373 | - JZSDK_LOG_INFO("0x%x,UartVersion%x.%x.%x.%x\n",DEVICE_VERSION,MAJOR_VERSION, MINOR_VERSION, MODIFY_VERSION, DEBUG_VERSION); | 374 | + JZSDK_LOG_INFO("0x%x,UartVersion%d.%d.%d.%d\n",DEVICE_VERSION,MAJOR_VERSION, MINOR_VERSION, MODIFY_VERSION, DEBUG_VERSION); |
374 | 375 | ||
375 | //通用模块 | 376 | //通用模块 |
376 | CommonMod_Init(); | 377 | CommonMod_Init(); |
@@ -1260,7 +1260,7 @@ T_JZsdkReturnCode JZC1_Init(int mode) | @@ -1260,7 +1260,7 @@ T_JZsdkReturnCode JZC1_Init(int mode) | ||
1260 | } | 1260 | } |
1261 | 1261 | ||
1262 | //初始化IRC_funtion模块 | 1262 | //初始化IRC_funtion模块 |
1263 | - ret = IRC_ParamInit(JZ_C1_IRC_HEIGHT, JZ_C1_IRC_WIDTH, 25); | 1263 | + ret = IRC_ParamInit(JZ_C1_IRC_HEIGHT, JZ_C1_IRC_WIDTH, 25, IRC_DEAL_MODE_KT); |
1264 | if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | 1264 | if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) |
1265 | { | 1265 | { |
1266 | JZSDK_LOG_ERROR("初始化红外的数据处理失败"); | 1266 | JZSDK_LOG_ERROR("初始化红外的数据处理失败"); |
JZsdk_Config/DeviceSample/JZ_ST/JZ_ST.c
0 → 100644
1 | +// #include "JZsdkLib.h" | ||
2 | +// #include "BaseConfig.h" | ||
3 | +// #include <pthread.h> | ||
4 | +// #include <math.h> | ||
5 | + | ||
6 | +// #include "IRCUT/ircut.h" | ||
7 | + | ||
8 | +// #include "MediaProc/IRC_funtion/SatIrcLibProc/Sat_Irc.h" | ||
9 | + | ||
10 | +// #ifdef RTK_MPP_STATUS_ON | ||
11 | +// #include "MediaProc/MultProc/RTK_mmp/RTK_mmp.h" | ||
12 | +// #include "MediaProc/MultProc/RTK_mmp/Dec/RTK_mmp_dec.h" | ||
13 | +// #include "MediaProc/MultProc/RTK_mmp/Enc/RTK_mmp_enc.h" | ||
14 | +// #include "MediaProc/Camera/Camera.h" | ||
15 | + | ||
16 | +// #ifdef RTK_RGA_STATUS_ON | ||
17 | + | ||
18 | +// #include "MediaProc/RgaProc/RK_Rga/RK_Rga.h" | ||
19 | + | ||
20 | +// #endif | ||
21 | + | ||
22 | +// #include "MediaProc/MediaProc.h" | ||
23 | +// #include "UI_control/UI_control.h" | ||
24 | +// #include "CommonMod/PowerManger/PowerManger.h" | ||
25 | + | ||
26 | +// typedef struct ST_RgaInfo | ||
27 | +// { | ||
28 | +// //源图像 | ||
29 | +// RK_RgaImage *src_img; | ||
30 | + | ||
31 | +// //裁剪图像 | ||
32 | +// RK_RgaImage *corp_img; | ||
33 | + | ||
34 | +// //目标图像 | ||
35 | +// RK_RgaImage *dst_img; | ||
36 | + | ||
37 | +// //放大倍数 | ||
38 | +// int scale; | ||
39 | + | ||
40 | +// }ST_RgaInfo; | ||
41 | + | ||
42 | + | ||
43 | +// typedef struct T_JZST_info | ||
44 | +// { | ||
45 | +// /*************************************************************/ | ||
46 | +// //红外相机的编码器信息 | ||
47 | +// T_rtk_mmp_enc_info *IRC_enc_info; | ||
48 | + | ||
49 | +// //红外相机的rga信息 | ||
50 | +// ST_RgaInfo *IRC_rga_info; | ||
51 | + | ||
52 | +// /*************************************************************/ | ||
53 | +// //光学相机的解码器信息 | ||
54 | +// T_rtk_mmp_dec_info *Opt_dec_info; | ||
55 | + | ||
56 | +// //光学相机的编码器信息 | ||
57 | +// T_rtk_mmp_enc_info *Opt_enc_info; | ||
58 | + | ||
59 | +// //光学相机的相机信息 | ||
60 | +// JZsdk_CameraInfo *Opt_Camera_info; | ||
61 | + | ||
62 | +// //光学相机的rga信息 | ||
63 | +// ST_RgaInfo *Opt_rga_info; | ||
64 | +// /*************************************************************/ | ||
65 | +// //融合相机的编码器信息 | ||
66 | +// T_rtk_mmp_enc_info *Fuse_enc_info; | ||
67 | + | ||
68 | +// }T_JZST_info; | ||
69 | + | ||
70 | + | ||
71 | +// #define JZ__IRC_WIDTH 320 | ||
72 | +// #define JZ__IRC_HEIGHT 256 | ||
73 | +// #define JZ__IRC_FRAMERATE 25 | ||
74 | +// #define JZ__IRC_INDEX VIDEOMGMT_STREAMING_FLOW_INDEX_FIRST | ||
75 | +// #define JZ__IRC_BPS 4000000 | ||
76 | + | ||
77 | + | ||
78 | +// static T_JZST_info g_JZST_info; | ||
79 | + | ||
80 | + | ||
81 | + | ||
82 | +// T_JZsdkReturnCode JZST_SetNextFrame_IDR(unsigned int index) | ||
83 | +// { | ||
84 | +// if (index == JZ__IRC_INDEX) | ||
85 | +// { | ||
86 | +// RTK_mmp_enc_SetNextFrame_IDR(g_JZST_info.IRC_enc_info); | ||
87 | +// } | ||
88 | +// // else if (index == JZ_C1_OPT_INDEX) | ||
89 | +// // { | ||
90 | +// // RTK_mmp_enc_SetNextFrame_IDR(g_JZC1_info.Opt_enc_info); | ||
91 | +// // } | ||
92 | +// // else if (index == JZ_C1_FUSE_INDEX) | ||
93 | +// // { | ||
94 | +// // RTK_mmp_enc_SetNextFrame_IDR(g_JZC1_info.Fuse_enc_info); | ||
95 | +// // } | ||
96 | + | ||
97 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
98 | + | ||
99 | +// } | ||
100 | + | ||
101 | +// //数据推送函数 | ||
102 | +// static T_JZsdkReturnCode JZST_PushFrame(int CameraIndex, unsigned char* data, unsigned int data_len) | ||
103 | +// { | ||
104 | +// int currentIndex = VideoMgmt_GetVideoStreamFlowIndexNum(); //获取当前视频流索引 | ||
105 | +// //无视频流 | ||
106 | +// if (currentIndex == 0) | ||
107 | +// { | ||
108 | +// //不推送视频 | ||
109 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
110 | +// } | ||
111 | + | ||
112 | +// //红外相机 | ||
113 | +// if (currentIndex == JZ__IRC_INDEX && CameraIndex == JZ__IRC_INDEX) | ||
114 | +// { | ||
115 | + | ||
116 | +// //推送数据到流转模块 | ||
117 | +// VideoMgmt_Single_FrameIn(data, data_len); | ||
118 | +// } | ||
119 | + | ||
120 | +// // //光学相机 | ||
121 | +// // if(CameraIndex == JZ_C1_OPT_INDEX && currentIndex == JZ_C1_OPT_INDEX) | ||
122 | +// // { | ||
123 | +// // //推送数据到流转模块 | ||
124 | +// // VideoMgmt_Single_FrameIn(data, data_len); | ||
125 | +// // } | ||
126 | + | ||
127 | +// // //组合视频流 | ||
128 | +// // if (currentIndex == JZ_C1_FUSE_INDEX && CameraIndex == JZ_C1_FUSE_INDEX) | ||
129 | +// // { | ||
130 | +// // //推送数据到流转模块 | ||
131 | +// // VideoMgmt_Single_FrameIn(data, data_len); | ||
132 | +// // } | ||
133 | + | ||
134 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
135 | +// } | ||
136 | + | ||
137 | + | ||
138 | +// static T_JZsdkReturnCode rgb32_to_yuv420sp(uint8_t *rgb32, uint8_t *yuv420sp, int width, int height) | ||
139 | +// { | ||
140 | +// int frame_size = width * height; | ||
141 | +// uint8_t *y_plane = yuv420sp; // Y分量 | ||
142 | +// uint8_t *uv_plane = yuv420sp + frame_size; // UV交错分量(NV12) | ||
143 | + | ||
144 | +// for (int y = 0; y < height; y++) { | ||
145 | +// for (int x = 0; x < width; x++) { | ||
146 | +// // 假设RGB32内存布局为[B,G,R,A](小端序常见) | ||
147 | +// int idx = (y * width + x) * 4; | ||
148 | +// uint8_t B = rgb32[idx]; | ||
149 | +// uint8_t G = rgb32[idx + 1]; | ||
150 | +// uint8_t R = rgb32[idx + 2]; | ||
151 | +// // uint8_t A = rgb32[idx + 3]; // Alpha通道忽略 | ||
152 | + | ||
153 | +// // 计算YUV(BT.601标准) | ||
154 | +// int Y = 0.257 * R + 0.504 * G + 0.098 * B + 16; | ||
155 | +// int U = -0.148 * R - 0.291 * G + 0.439 * B + 128; | ||
156 | +// int V = 0.439 * R - 0.368 * G - 0.071 * B + 128; | ||
157 | + | ||
158 | +// // 写入Y分量 | ||
159 | +// y_plane[y * width + x] = (uint8_t)fmin(fmax(Y, 0), 255); | ||
160 | + | ||
161 | +// // 仅偶数行和偶数列采样UV分量(420下采样) | ||
162 | +// if (y % 2 == 0 && x % 2 == 0) { | ||
163 | +// int uv_idx = (y / 2) * (width / 2) + (x / 2); | ||
164 | +// uv_plane[uv_idx * 2] = (uint8_t)fmin(fmax(U, 0), 255); // U | ||
165 | +// uv_plane[uv_idx * 2 + 1] = (uint8_t)fmin(fmax(V, 0), 255); // V | ||
166 | +// } | ||
167 | +// } | ||
168 | +// } | ||
169 | + | ||
170 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
171 | +// } | ||
172 | + | ||
173 | +// static void *JZ__ircDataThread(void *args) | ||
174 | +// { | ||
175 | +// #ifdef SATIRC_LIB_STATUS_ON | ||
176 | +// U8_t *buf = NULL; | ||
177 | +// int PixelNum = JZ__IRC_WIDTH * JZ__IRC_HEIGHT; | ||
178 | + | ||
179 | +// buf = (U8_t *)malloc(JZ__IRC_WIDTH * JZ__IRC_HEIGHT * 4); | ||
180 | +// U8_t *yuv420sp = (U8_t *)malloc(320 * 256 * 3 / 2); | ||
181 | + | ||
182 | +// int test_i = 0; | ||
183 | +// int color = 0; | ||
184 | + | ||
185 | +// while (1) | ||
186 | +// { | ||
187 | +// //每25张更换一次颜色 | ||
188 | +// if (test_i % 25 == 0) | ||
189 | +// { | ||
190 | +// color++; | ||
191 | +// if (color == 12) | ||
192 | +// { | ||
193 | +// color = 0; | ||
194 | +// } | ||
195 | + | ||
196 | +// SatIrc_SetColorPalette(color); //可以测0~11 | ||
197 | +// } | ||
198 | + | ||
199 | +// //获取红外数据 | ||
200 | +// memset(buf, 0, JZ__IRC_WIDTH * JZ__IRC_HEIGHT * 4); | ||
201 | +// SatIrc_GetIRImage(buf, PixelNum); | ||
202 | + | ||
203 | +// //将红外数据转换为yuv | ||
204 | +// memset(yuv420sp, 0, 320 * 256 * 3 / 2); | ||
205 | +// rgb32_to_yuv420sp(buf, yuv420sp, JZ__IRC_WIDTH, JZ__IRC_HEIGHT); | ||
206 | + | ||
207 | +// //将红外数据送去编码器 | ||
208 | +// unsigned char *h264Data = NULL; | ||
209 | +// unsigned int h264DataLen = 0; | ||
210 | + | ||
211 | +// MppPacket Packet = NULL; | ||
212 | + | ||
213 | +// //进行编码 | ||
214 | +// RTK_mmp_enc_data_to_h264(g_JZST_info.IRC_enc_info, yuv420sp, 320 * 256 * 3 / 2, &Packet); | ||
215 | + | ||
216 | +// h264DataLen = mpp_packet_get_length(Packet); | ||
217 | +// h264Data = (unsigned char *)mpp_packet_get_pos(Packet); | ||
218 | + | ||
219 | +// //释放掉packet | ||
220 | +// mpp_packet_deinit(&Packet); | ||
221 | + | ||
222 | +// //将h264数据推送 | ||
223 | +// JZST_PushFrame(1, h264Data, h264DataLen); | ||
224 | + | ||
225 | +// delayMs(1000/JZ__IRC_FRAMERATE); | ||
226 | +// } | ||
227 | +// #endif // #ifdef SATIRC_LIB_STATUS_ON | ||
228 | +// } | ||
229 | + | ||
230 | +// static T_JZsdkReturnCode JZ__IrcCameraInit() | ||
231 | +// { | ||
232 | +// T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
233 | + | ||
234 | +// //初始化红外参数 | ||
235 | +// ret = IRC_ParamInit(JZ__IRC_HEIGHT, JZ__IRC_WIDTH, JZ__IRC_FRAMERATE, IRC_DEAL_MODE_SAT); | ||
236 | +// if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
237 | +// { | ||
238 | +// JZSDK_LOG_ERROR("红外参数初始化失败!"); | ||
239 | +// return ret; | ||
240 | +// } | ||
241 | + | ||
242 | +// //初始化红外相机 | ||
243 | +// T_JZsdkReturnCode = SatIrc_init(); | ||
244 | +// if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
245 | +// { | ||
246 | +// JZSDK_LOG_ERROR("红外相机初始化失败!"); | ||
247 | +// return ret; | ||
248 | +// } | ||
249 | + | ||
250 | +// //初始化接收相机数据的线程 | ||
251 | +// T_JZsdkOsalHandler *osal_handle = JZsdk_Platform_GetOsalHandler(); | ||
252 | + | ||
253 | +// T_JZTaskHandle JZ__ircDataTask = NULL; | ||
254 | +// osal_handle->TaskCreate("JZ__ircDataThread", JZ__ircDataThread, 8192, NULL, JZ__ircDataTask); | ||
255 | + | ||
256 | +// return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
257 | +// } | ||
258 | + | ||
259 | +// T_JZsdkReturnCode JZ__Init(int mode) | ||
260 | +// { | ||
261 | +// //网口初始化 | ||
262 | +// if (mode == APP_UART) | ||
263 | +// { | ||
264 | +// //网口初始化 | ||
265 | +// JZsdk_NetWork_Init(); | ||
266 | +// } | ||
267 | + | ||
268 | +// T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
269 | + | ||
270 | +// #ifdef RTK_MPP_STATUS_ON | ||
271 | + | ||
272 | +// //初始化相机流管理器 | ||
273 | +// T_JZsdkVideoMgmtHandler VideoMgmtHandler = { | ||
274 | +// .SetNextFrame_IDR = JZST_SetNextFrame_IDR, | ||
275 | +// }; | ||
276 | +// VideoMgmt_Init(VideoMgmtHandler); | ||
277 | + | ||
278 | +// //初始化红外的编码器 | ||
279 | +// g_JZST_info.IRC_enc_info = (T_rtk_mmp_dec_info *)malloc(sizeof(T_rtk_mmp_dec_info)); | ||
280 | + | ||
281 | +// //配置参数 | ||
282 | +// g_JZST_info.IRC_enc_info->Input_fmt = MPP_FMT_YUV420SP; | ||
283 | +// g_JZST_info.IRC_enc_info->encType = MPP_VIDEO_CodingAVC; | ||
284 | +// g_JZST_info.IRC_enc_info->width = JZ__IRC_WIDTH; | ||
285 | +// g_JZST_info.IRC_enc_info->height = JZ__IRC_HEIGHT; | ||
286 | +// g_JZST_info.IRC_enc_info->FrameNum = JZ__IRC_FRAMERATE; | ||
287 | +// g_JZST_info.IRC_enc_info->IDR_gop = 5; | ||
288 | +// g_JZST_info.IRC_enc_info->bps_target = JZ__IRC_BPS; | ||
289 | + | ||
290 | +// g_JZST_info.IRC_enc_info->hor_stride = JZ_ALIGN(g_JZST_info.IRC_enc_info->width, 16); | ||
291 | +// g_JZST_info.IRC_enc_info->ver_stride = JZ_ALIGN(g_JZST_info.IRC_enc_info->height, 16); | ||
292 | + | ||
293 | +// //初始化编码器 | ||
294 | +// RTK_mmp_enc_init(g_JZST_info.IRC_enc_info); | ||
295 | + | ||
296 | +// //初始化红外相机 | ||
297 | +// ret = JZ__IrcCameraInit(); | ||
298 | +// if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
299 | +// { | ||
300 | +// JZSDK_LOG_ERROR("红外相机初始化失败!"); | ||
301 | +// } | ||
302 | + | ||
303 | +// //设置默认推送红外摄像头 | ||
304 | +// VideoMgmt_VideoStreamFlowIndex(JZ__IRC_INDEX); | ||
305 | + | ||
306 | +// return ret; | ||
307 | + | ||
308 | +// #endif | ||
309 | +// } |
@@ -7,7 +7,7 @@ | @@ -7,7 +7,7 @@ | ||
7 | #define VERSION_CHOOSE_H | 7 | #define VERSION_CHOOSE_H |
8 | #include "JZsdk_Base/JZsdk_Code/JZsdk_DeviceCode.h" | 8 | #include "JZsdk_Base/JZsdk_Code/JZsdk_DeviceCode.h" |
9 | //1~10行 除了D可以修改版本选择 禁止动任何东西 | 9 | //1~10行 除了D可以修改版本选择 禁止动任何东西 |
10 | -#define DEVICE_VERSION JZ_H10 | 10 | +#define DEVICE_VERSION JZ_H150T |
11 | 11 | ||
12 | //禁止修改行 选择是串口程序 还是 psdk程序 | 12 | //禁止修改行 选择是串口程序 还是 psdk程序 |
13 | #define APP_VERSION APP_PSDK | 13 | #define APP_VERSION APP_PSDK |
@@ -16,15 +16,15 @@ | @@ -16,15 +16,15 @@ | ||
16 | #define PLATFORM_VERSION PLATFORM_H3 | 16 | #define PLATFORM_VERSION PLATFORM_H3 |
17 | 17 | ||
18 | //禁止修改行 串口连接程序的软件版本号 | 18 | //禁止修改行 串口连接程序的软件版本号 |
19 | -#define MAJOR_VERSION 0x01 | ||
20 | -#define MINOR_VERSION 0x03 | ||
21 | -#define MODIFY_VERSION 0x11 | ||
22 | -#define DEBUG_VERSION 0x00 | 19 | +#define MAJOR_VERSION 01 |
20 | +#define MINOR_VERSION 03 | ||
21 | +#define MODIFY_VERSION 11 | ||
22 | +#define DEBUG_VERSION 01 | ||
23 | 23 | ||
24 | -//禁止修改行 滤波方式 | 24 | +//禁止修改行 滤波方式 该项目目前已被移除 |
25 | #define FILTERING_TYPE HIGH_PASS_FILTERING | 25 | #define FILTERING_TYPE HIGH_PASS_FILTERING |
26 | 26 | ||
27 | -//禁止修改行固件属地 目前 国内版/海外版 | 27 | +//禁止修改行固件属地 目前 国内版/海外版, 该选项目前已被移除 |
28 | #define FIRMWARE_ORIGIN DOMESTIC_VERSION | 28 | #define FIRMWARE_ORIGIN DOMESTIC_VERSION |
29 | 29 | ||
30 | //禁止修改行指定特殊固件 | 30 | //禁止修改行指定特殊固件 |
@@ -33,7 +33,7 @@ | @@ -33,7 +33,7 @@ | ||
33 | //禁止修改行 全志编解码库 | 33 | //禁止修改行 全志编解码库 |
34 | #define ALLWINNER_CEDAR VERSION_SWITCH_OFF | 34 | #define ALLWINNER_CEDAR VERSION_SWITCH_OFF |
35 | 35 | ||
36 | -//禁止修改行 是否开启连接超时 | 36 | +//禁止修改行 是否开启连接超时, 该项目目前已被移除 |
37 | #define CONNECTION_TIMED_OUT VERSION_SWITCH_OFF | 37 | #define CONNECTION_TIMED_OUT VERSION_SWITCH_OFF |
38 | 38 | ||
39 | //这个开关可以方便日常代码编写的跳转功能 | 39 | //这个开关可以方便日常代码编写的跳转功能 |
@@ -125,6 +125,9 @@ | @@ -125,6 +125,9 @@ | ||
125 | //默认开启ktlib | 125 | //默认开启ktlib |
126 | #define KTIRC_LIB_STATUS_ON | 126 | #define KTIRC_LIB_STATUS_ON |
127 | 127 | ||
128 | + //默认开启satlib | ||
129 | + #define SATIRC_LIB_STATUS_ON | ||
130 | + | ||
128 | //默认开启光源模块 | 131 | //默认开启光源模块 |
129 | #define LIGHTING_STATUS_ON | 132 | #define LIGHTING_STATUS_ON |
130 | #endif | 133 | #endif |
@@ -1260,7 +1260,7 @@ static T_JZsdkReturnCode RecvDeal_SetVolume(int Port, char *getbuf) | @@ -1260,7 +1260,7 @@ static T_JZsdkReturnCode RecvDeal_SetVolume(int Port, char *getbuf) | ||
1260 | 1260 | ||
1261 | JZSDK_LOG_INFO("%s,调节音量:%d",JZsdk_DefineCode_GetPortName(Port),value); | 1261 | JZSDK_LOG_INFO("%s,调节音量:%d",JZsdk_DefineCode_GetPortName(Port),value); |
1262 | 1262 | ||
1263 | - UIcontrol_SetVolume(Port, value); | 1263 | + UIcontrol_SetVolume(Port, value, JZ_FLAGCODE_ON); |
1264 | 1264 | ||
1265 | //回复操作成功 | 1265 | //回复操作成功 |
1266 | HalSend_type1Send_Reply_Success(Port, FrameSequence); | 1266 | HalSend_type1Send_Reply_Success(Port, FrameSequence); |
@@ -1442,7 +1442,7 @@ static T_JZsdkReturnCode RecvDeal_CheckStatus_SoftwareVersion(int Port, char *ge | @@ -1442,7 +1442,7 @@ static T_JZsdkReturnCode RecvDeal_CheckStatus_SoftwareVersion(int Port, char *ge | ||
1442 | MinjorVersion = MINOR_VERSION; | 1442 | MinjorVersion = MINOR_VERSION; |
1443 | modifyVersion = MODIFY_VERSION; | 1443 | modifyVersion = MODIFY_VERSION; |
1444 | debugVersion = DEBUG_VERSION; | 1444 | debugVersion = DEBUG_VERSION; |
1445 | - JZSDK_LOG_INFO("当前的软件版本号为:%2x, %2x, %2x, %2x",majorVersion, MinjorVersion, modifyVersion, debugVersion); | 1445 | + JZSDK_LOG_INFO("当前的软件版本号为:%2d, %2d, %2d, %2d",majorVersion, MinjorVersion, modifyVersion, debugVersion); |
1446 | 1446 | ||
1447 | //2、发送版本号 | 1447 | //2、发送版本号 |
1448 | HalSend_type1Send_Reply_SoftVersion(Port, FrameSequence, majorVersion, MinjorVersion, modifyVersion, debugVersion); | 1448 | HalSend_type1Send_Reply_SoftVersion(Port, FrameSequence, majorVersion, MinjorVersion, modifyVersion, debugVersion); |
@@ -4577,6 +4577,17 @@ static T_JZsdkReturnCode RecvDeal_SetSpecialParameters(int Port, char *getbuf) | @@ -4577,6 +4577,17 @@ static T_JZsdkReturnCode RecvDeal_SetSpecialParameters(int Port, char *getbuf) | ||
4577 | } | 4577 | } |
4578 | } | 4578 | } |
4579 | break; | 4579 | break; |
4580 | + | ||
4581 | + //0x03设置喊话器默认语言 | ||
4582 | + case 0x03: | ||
4583 | + { | ||
4584 | + ret = LanguageInfo_Write_LanguageInfo((E_LanguageInfo)value); | ||
4585 | + if(ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
4586 | + { | ||
4587 | + JZSDK_LOG_ERROR("特参三失败"); | ||
4588 | + } | ||
4589 | + } | ||
4590 | + break; | ||
4580 | 4591 | ||
4581 | default: | 4592 | default: |
4582 | ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 4593 | ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
@@ -23,34 +23,40 @@ T_JZsdkReturnCode Stream_Player_decode(struct AudioDealInfo *AD_Info, AVCodecCon | @@ -23,34 +23,40 @@ T_JZsdkReturnCode Stream_Player_decode(struct AudioDealInfo *AD_Info, AVCodecCon | ||
23 | 23 | ||
24 | T_JZsdkReturnCode File_Stream_deal_Init(enum AVCodecID id) | 24 | T_JZsdkReturnCode File_Stream_deal_Init(enum AVCodecID id) |
25 | { | 25 | { |
26 | + //注册包 | ||
26 | pkt = av_packet_alloc(); | 27 | pkt = av_packet_alloc(); |
27 | if(!pkt) | 28 | if(!pkt) |
28 | { | 29 | { |
29 | JZSDK_LOG_ERROR("av_packet_alloc failed."); | 30 | JZSDK_LOG_ERROR("av_packet_alloc failed."); |
30 | } | 31 | } |
31 | 32 | ||
33 | + //寻找解码器 | ||
32 | codec = avcodec_find_decoder(id); | 34 | codec = avcodec_find_decoder(id); |
33 | if (!codec) { | 35 | if (!codec) { |
34 | JZSDK_LOG_ERROR("Codec not found\n"); | 36 | JZSDK_LOG_ERROR("Codec not found\n"); |
35 | } | 37 | } |
36 | 38 | ||
39 | + //获得裸流的解析器 | ||
37 | parser = av_parser_init(codec->id); | 40 | parser = av_parser_init(codec->id); |
38 | if (!parser) { | 41 | if (!parser) { |
39 | JZSDK_LOG_ERROR("Parser not found\n"); | 42 | JZSDK_LOG_ERROR("Parser not found\n"); |
40 | } | 43 | } |
41 | 44 | ||
45 | + //分配解码上下文 | ||
42 | cdc_ctx = avcodec_alloc_context3(codec); | 46 | cdc_ctx = avcodec_alloc_context3(codec); |
43 | if (!cdc_ctx) { | 47 | if (!cdc_ctx) { |
44 | JZSDK_LOG_ERROR("Could not allocate audio codec context\n"); | 48 | JZSDK_LOG_ERROR("Could not allocate audio codec context\n"); |
45 | } | 49 | } |
46 | 50 | ||
47 | - /* open it */ | 51 | + //将解码器和解码上下文绑定 |
48 | if (avcodec_open2(cdc_ctx, codec, NULL) < 0) | 52 | if (avcodec_open2(cdc_ctx, codec, NULL) < 0) |
49 | { | 53 | { |
50 | JZSDK_LOG_ERROR("Could not open codec\n"); | 54 | JZSDK_LOG_ERROR("Could not open codec\n"); |
51 | } | 55 | } |
52 | 56 | ||
53 | - JZSDK_LOG_INFO("File_Stream_deal_Init success"); | 57 | + JZSDK_LOG_INFO("file stream init complete"); |
58 | + | ||
59 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
54 | } | 60 | } |
55 | 61 | ||
56 | //输入mp3的实时数据,以及本次数据的长度 | 62 | //输入mp3的实时数据,以及本次数据的长度 |
@@ -116,6 +122,8 @@ T_JZsdkReturnCode mp3_Stream_Interface_Mp3Data(struct AudioDealInfo *AD_Info, un | @@ -116,6 +122,8 @@ T_JZsdkReturnCode mp3_Stream_Interface_Mp3Data(struct AudioDealInfo *AD_Info, un | ||
116 | } | 122 | } |
117 | } | 123 | } |
118 | } | 124 | } |
125 | + | ||
126 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
119 | } | 127 | } |
120 | 128 | ||
121 | 129 | ||
@@ -151,7 +159,7 @@ T_JZsdkReturnCode Stream_Player_decode(struct AudioDealInfo *AD_Info, AVCodecCon | @@ -151,7 +159,7 @@ T_JZsdkReturnCode Stream_Player_decode(struct AudioDealInfo *AD_Info, AVCodecCon | ||
151 | //输出帧不可用 、 输出帧 已用完 | 159 | //输出帧不可用 、 输出帧 已用完 |
152 | if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF) | 160 | if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF) |
153 | { | 161 | { |
154 | - continue;; | 162 | + continue; |
155 | } | 163 | } |
156 | else if (ret < 0) | 164 | else if (ret < 0) |
157 | { | 165 | { |
@@ -57,6 +57,8 @@ extern "C" { | @@ -57,6 +57,8 @@ extern "C" { | ||
57 | equalizer=f=8000:t=q:w=2.0:g=+2, \ | 57 | equalizer=f=8000:t=q:w=2.0:g=+2, \ |
58 | equalizer=f=16000:t=q:w=2.0:g=+2" | 58 | equalizer=f=16000:t=q:w=2.0:g=+2" |
59 | 59 | ||
60 | + | ||
61 | + | ||
60 | #define FILTER_FORMAL_3_TTS "equalizer=f=31:t=q:w=2.0:g=-48, \ | 62 | #define FILTER_FORMAL_3_TTS "equalizer=f=31:t=q:w=2.0:g=-48, \ |
61 | equalizer=f=62:t=q:w=2.0:g=-36, \ | 63 | equalizer=f=62:t=q:w=2.0:g=-36, \ |
62 | equalizer=f=125:t=q:w=2.0:g=-30, \ | 64 | equalizer=f=125:t=q:w=2.0:g=-30, \ |
@@ -68,6 +70,36 @@ extern "C" { | @@ -68,6 +70,36 @@ extern "C" { | ||
68 | equalizer=f=8000:t=q:w=2.0:g=+2, \ | 70 | equalizer=f=8000:t=q:w=2.0:g=+2, \ |
69 | equalizer=f=16000:t=q:w=2.0:g=+2" | 71 | equalizer=f=16000:t=q:w=2.0:g=+2" |
70 | 72 | ||
73 | +#define FILTER_FORMAL_4_AUDIO "equalizer=f=31:t=q:w=2.0:g=-48, \ | ||
74 | + equalizer=f=62:t=q:w=2.0:g=-36, \ | ||
75 | + equalizer=f=125:t=q:w=2.0:g=-30, \ | ||
76 | + equalizer=f=250:t=q:w=2.0:g=-26, \ | ||
77 | + equalizer=f=500:t=q:w=2.0:g=-20, \ | ||
78 | + equalizer=f=1000:t=q:w=2.0:g=-12, \ | ||
79 | + equalizer=f=2000:t=q:w=2.0:g=-8, \ | ||
80 | + equalizer=f=4000:t=q:w=2.0:g=+0, \ | ||
81 | + equalizer=f=8000:t=q:w=2.0:g=+0, \ | ||
82 | + equalizer=f=16000:t=q:w=2.0:g=+0, \ | ||
83 | + compand=attacks=0:decays=0.3:points=-60/-60|-30/-20|-20/-15|-10/-10|0/-5:gain=5, \ | ||
84 | + lowpass=f=6000:width_type=q:w=1.8, \ | ||
85 | + highpass=f=80:width_type=q:w=1.2, \ | ||
86 | + volume=0.98" | ||
87 | + | ||
88 | +#define FILTER_FORMAL_4_TTS "equalizer=f=31:t=q:w=2.0:g=-48, \ | ||
89 | + equalizer=f=62:t=q:w=2.0:g=-36, \ | ||
90 | + equalizer=f=125:t=q:w=2.0:g=-30, \ | ||
91 | + equalizer=f=250:t=q:w=2.0:g=-26, \ | ||
92 | + equalizer=f=500:t=q:w=2.0:g=-20, \ | ||
93 | + equalizer=f=1000:t=q:w=2.0:g=-12, \ | ||
94 | + equalizer=f=2000:t=q:w=2.0:g=-8, \ | ||
95 | + equalizer=f=4000:t=q:w=2.0:g=+0, \ | ||
96 | + equalizer=f=8000:t=q:w=2.0:g=+0, \ | ||
97 | + equalizer=f=16000:t=q:w=2.0:g=+0, \ | ||
98 | + compand=attacks=0:decays=0.3:points=-60/-60|-30/-20|-20/-15|-10/-10|0/-5:gain=5, \ | ||
99 | + lowpass=f=6000:width_type=q:w=1.8, \ | ||
100 | + highpass=f=80:width_type=q:w=1.2, \ | ||
101 | + volume=0.98" | ||
102 | + | ||
71 | #define FILTER_FORMAL_1_M30_TTS "equalizer=f=31:t=q:w=2.0:g=-48, \ | 103 | #define FILTER_FORMAL_1_M30_TTS "equalizer=f=31:t=q:w=2.0:g=-48, \ |
72 | equalizer=f=62:t=q:w=2.0:g=-36, \ | 104 | equalizer=f=62:t=q:w=2.0:g=-36, \ |
73 | equalizer=f=125:t=q:w=2.0:g=-30, \ | 105 | equalizer=f=125:t=q:w=2.0:g=-30, \ |
@@ -109,6 +141,7 @@ extern "C" { | @@ -109,6 +141,7 @@ extern "C" { | ||
109 | anequalizer=c0 f=3700 w=1400 g=-24 t=0|c1 f=3700 w=1400 g=-24 t=0" | 141 | anequalizer=c0 f=3700 w=1400 g=-24 t=0|c1 f=3700 w=1400 g=-24 t=0" |
110 | 142 | ||
111 | 143 | ||
144 | + | ||
112 | /*00 35 | 145 | /*00 35 |
113 | 02 37 | 146 | 02 37 |
114 | 05 39 | 147 | 05 39 |
@@ -151,10 +184,10 @@ typedef enum FilterList{ | @@ -151,10 +184,10 @@ typedef enum FilterList{ | ||
151 | }FilterList; | 184 | }FilterList; |
152 | 185 | ||
153 | //普通音频滤波参数 | 186 | //普通音频滤波参数 |
154 | -#define FILTER_PARAM_NORMAL_AUDIO FILTER_FORMAL_3_AUDIO | 187 | +#define FILTER_PARAM_NORMAL_AUDIO FILTER_FORMAL_4_AUDIO |
155 | 188 | ||
156 | //普通TTS滤波参数 | 189 | //普通TTS滤波参数 |
157 | -#define FILTER_PARAM_NORMAL_TTS FILTER_FORMAL_3_TTS | 190 | +#define FILTER_PARAM_NORMAL_TTS FILTER_FORMAL_4_TTS |
158 | 191 | ||
159 | 192 | ||
160 | //h10t的滤波器跟其他的不一样,所以单独定义 | 193 | //h10t的滤波器跟其他的不一样,所以单独定义 |
@@ -13,6 +13,9 @@ | @@ -13,6 +13,9 @@ | ||
13 | static struct T_DeviceInfo g_DeviceInfo[6]; //最多6台设备组成为一台机 | 13 | static struct T_DeviceInfo g_DeviceInfo[6]; //最多6台设备组成为一台机 |
14 | int g_DeviceInfoNum = 0; //设备总数 | 14 | int g_DeviceInfoNum = 0; //设备总数 |
15 | 15 | ||
16 | +static T_JZsdkReturnCode DeviceMessage_PrintDeviceInfo(); | ||
17 | + | ||
18 | + | ||
16 | /*************************************************** | 19 | /*************************************************** |
17 | * | 20 | * |
18 | * 设备信息初始化 | 21 | * 设备信息初始化 |
@@ -24,6 +27,9 @@ T_JZsdkReturnCode DeviceInfo_Init() | @@ -24,6 +27,9 @@ T_JZsdkReturnCode DeviceInfo_Init() | ||
24 | //硬件版本号初始化 | 27 | //硬件版本号初始化 |
25 | HardwareInfo_Init(); | 28 | HardwareInfo_Init(); |
26 | 29 | ||
30 | + //语言信息初始化 | ||
31 | + LanguageInfo_Init(); | ||
32 | + | ||
27 | //序列号模块初始化 | 33 | //序列号模块初始化 |
28 | SerialMAT_Init(); | 34 | SerialMAT_Init(); |
29 | 35 | ||
@@ -44,6 +50,9 @@ T_JZsdkReturnCode DeviceInfo_Init() | @@ -44,6 +50,9 @@ T_JZsdkReturnCode DeviceInfo_Init() | ||
44 | //设置设备信息 版本号 | 50 | //设置设备信息 版本号 |
45 | DeviceInfo_IncreaseVersion(DEVICE_VERSION, MAJOR_VERSION, MINOR_VERSION, MODIFY_VERSION, DEBUG_VERSION); | 51 | DeviceInfo_IncreaseVersion(DEVICE_VERSION, MAJOR_VERSION, MINOR_VERSION, MODIFY_VERSION, DEBUG_VERSION); |
46 | 52 | ||
53 | + //设备信息自打印 | ||
54 | + //DeviceMessage_PrintDeviceInfo(); | ||
55 | + | ||
47 | JZSDK_LOG_INFO("MODULE_DEVICE_INFO_INIT_COMPLETE"); | 56 | JZSDK_LOG_INFO("MODULE_DEVICE_INFO_INIT_COMPLETE"); |
48 | } | 57 | } |
49 | 58 | ||
@@ -138,7 +147,7 @@ T_JZsdkReturnCode DeviceInfo_IncreaseVersion(int DeviceID, unsigned int MajorVer | @@ -138,7 +147,7 @@ T_JZsdkReturnCode DeviceInfo_IncreaseVersion(int DeviceID, unsigned int MajorVer | ||
138 | g_DeviceInfo[i].ModifyVersion = ModifyVersion; | 147 | g_DeviceInfo[i].ModifyVersion = ModifyVersion; |
139 | g_DeviceInfo[i].DebugVersion = DebugVersion; | 148 | g_DeviceInfo[i].DebugVersion = DebugVersion; |
140 | 149 | ||
141 | - JZSDK_LOG_INFO("增加设备0x%x 版本号成功 %x.%x.%x.%x", DeviceID,g_DeviceInfo[i].MajorVersion,g_DeviceInfo[i].MinjorVersion,g_DeviceInfo[i].ModifyVersion,g_DeviceInfo[i].DebugVersion); | 150 | + JZSDK_LOG_INFO("增加设备0x%x 版本号成功 %d.%d.%d.%d", DeviceID,g_DeviceInfo[i].MajorVersion,g_DeviceInfo[i].MinjorVersion,g_DeviceInfo[i].ModifyVersion,g_DeviceInfo[i].DebugVersion); |
142 | 151 | ||
143 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 152 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
144 | } | 153 | } |
@@ -186,3 +195,39 @@ int DeviceInfo_IsExist(int DeviceID) | @@ -186,3 +195,39 @@ int DeviceInfo_IsExist(int DeviceID) | ||
186 | 195 | ||
187 | return JZ_FLAGCODE_OFF; | 196 | return JZ_FLAGCODE_OFF; |
188 | } | 197 | } |
198 | + | ||
199 | +static void *DeviceMessge_Printf(void *arg) | ||
200 | +{ | ||
201 | + unsigned char message[256]; | ||
202 | + | ||
203 | + while (1) | ||
204 | + { | ||
205 | + memset(message,0,sizeof(message)); | ||
206 | + | ||
207 | + DeviceMessage_Mode(DEVICE_MESSAGE_DEBUG); | ||
208 | + DeviceMessage_GetMessage(message, sizeof(message)); | ||
209 | + | ||
210 | + JZSDK_LOG_INFO("%s", message); | ||
211 | + | ||
212 | + delayS(10); | ||
213 | + } | ||
214 | + | ||
215 | +} | ||
216 | + | ||
217 | +/********************** | ||
218 | + * | ||
219 | + * 设备信息自打印 | ||
220 | + * | ||
221 | + * | ||
222 | + * *******************/ | ||
223 | +static T_JZsdkReturnCode DeviceMessage_PrintDeviceInfo() | ||
224 | +{ | ||
225 | + T_JZsdkOsalHandler *OsalHandler = JZsdk_Platform_GetOsalHandler(); | ||
226 | + if (OsalHandler == NULL) | ||
227 | + { | ||
228 | + JZSDK_LOG_ERROR("获取OsalHandler失败"); | ||
229 | + } | ||
230 | + static T_JZTaskHandle s_DeviceInfoThread = NULL; | ||
231 | + | ||
232 | + OsalHandler->TaskCreate("DeviceMessge_Printf", DeviceMessge_Printf, 8192,NULL, &s_DeviceInfoThread); | ||
233 | +} |
@@ -14,6 +14,7 @@ | @@ -14,6 +14,7 @@ | ||
14 | #include "SerialNumberProc/SerialProc.h" | 14 | #include "SerialNumberProc/SerialProc.h" |
15 | #include "DeviceInfo/HardwareInfo/HardwareInfo.h" | 15 | #include "DeviceInfo/HardwareInfo/HardwareInfo.h" |
16 | #include "DeviceInfo/Attribute/Attribute.h" | 16 | #include "DeviceInfo/Attribute/Attribute.h" |
17 | +#include "LanguageInfo/LanguageInfo.h" | ||
17 | 18 | ||
18 | /* Includes ------------------------------------------------------------------*/ | 19 | /* Includes ------------------------------------------------------------------*/ |
19 | #ifdef __cplusplus | 20 | #ifdef __cplusplus |
1 | +#include "JZsdkLib.h" | ||
2 | + | ||
3 | +#include "LanguageInfo.h" | ||
4 | + | ||
5 | +#define LANGUAGE_INFO_FILE_NAME "/root/LanguageInfo.txt" | ||
6 | + | ||
7 | +static E_LanguageInfo g_LanguageInfo = LANGUAGE_INFO_CHINESE; | ||
8 | +static T_JZsdkFileHandle g_LanguageInfoFileHandle = NULL; | ||
9 | + | ||
10 | +static T_JZsdkReturnCode LanguageInfo_Read_LanguageInfo(); | ||
11 | + | ||
12 | + | ||
13 | +T_JZsdkReturnCode LanguageInfo_Init() | ||
14 | +{ | ||
15 | + //读取本地的语言信息 | ||
16 | + LanguageInfo_Read_LanguageInfo(); | ||
17 | + | ||
18 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
19 | +} | ||
20 | + | ||
21 | + | ||
22 | +/************** | ||
23 | + * | ||
24 | + * 写入本地的语言信息 | ||
25 | + * | ||
26 | + * | ||
27 | + * ************/ | ||
28 | +T_JZsdkReturnCode LanguageInfo_Write_LanguageInfo(E_LanguageInfo language) | ||
29 | +{ | ||
30 | + T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
31 | + T_JZsdkFSHandler *fileSystemHandler = NULL; | ||
32 | + T_JZsdkFileHandle fileHandle = NULL; | ||
33 | + | ||
34 | + // 1. 检查语言值合法性 | ||
35 | + if (language != LANGUAGE_INFO_CHINESE && | ||
36 | + language != LANGUAGE_INFO_ENGLISH) | ||
37 | + { | ||
38 | + JZSDK_LOG_ERROR("Invalid language value: %d", language); | ||
39 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
40 | + } | ||
41 | + | ||
42 | + g_LanguageInfo = language; | ||
43 | + JZSDK_LOG_INFO("Language set to %d", language); | ||
44 | + | ||
45 | + // 2. 获取文件系统操作句柄 | ||
46 | + fileSystemHandler = JZsdk_GetFsHandler(); | ||
47 | + if (!fileSystemHandler) { | ||
48 | + JZSDK_LOG_ERROR("No FS handler"); | ||
49 | + return ret; | ||
50 | + } | ||
51 | + | ||
52 | + // 3. 打开文件(如果不存在则创建,存在则清空内容) | ||
53 | + ret = fileSystemHandler->FileOpen(LANGUAGE_INFO_FILE_NAME, FS_READ_AND_WRITE_CLEAR, &fileHandle); | ||
54 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) { | ||
55 | + JZSDK_LOG_ERROR("Open failed: %d", ret); | ||
56 | + goto cleanup; | ||
57 | + } | ||
58 | + | ||
59 | + // 4. 将语言值转换为字符写入(例如 0 -> '0',1 -> '1') | ||
60 | + U8_t writeData = (U8_t)('0' + g_LanguageInfo); // 确保转换为 ASCII 字符 | ||
61 | + U32_t writeLen = 1; // 只写入 1 字节 | ||
62 | + U32_t realLen = 1; | ||
63 | + | ||
64 | + ret = fileSystemHandler->FileWrite_U8( | ||
65 | + fileHandle, | ||
66 | + &writeData, | ||
67 | + writeLen, | ||
68 | + &realLen | ||
69 | + ); | ||
70 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) { | ||
71 | + JZSDK_LOG_ERROR("Write failed: %d", ret); | ||
72 | + goto cleanup; | ||
73 | + } | ||
74 | + | ||
75 | + // 5. 强制刷盘 | ||
76 | + ret = fileSystemHandler->FileSync(fileHandle); | ||
77 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) { | ||
78 | + JZSDK_LOG_ERROR("Flush failed: %d", ret); | ||
79 | + goto cleanup; | ||
80 | + } | ||
81 | + | ||
82 | + ret = JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; // 标记成功 | ||
83 | + | ||
84 | +cleanup: | ||
85 | + // 6. 关闭文件句柄 | ||
86 | + if (fileHandle) { | ||
87 | + fileSystemHandler->FileClose(fileHandle); | ||
88 | + } | ||
89 | + return ret; | ||
90 | +} | ||
91 | + | ||
92 | +/************** | ||
93 | + * | ||
94 | + * 读取本地的语言信息 | ||
95 | + * | ||
96 | + * | ||
97 | + * ************/ | ||
98 | +static T_JZsdkReturnCode LanguageInfo_Read_LanguageInfo() | ||
99 | +{ | ||
100 | + T_JZsdkReturnCode ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
101 | + if (g_LanguageInfoFileHandle != NULL) { | ||
102 | + JZSDK_LOG_ERROR("Handle already open"); | ||
103 | + return ret; | ||
104 | + } | ||
105 | + | ||
106 | + T_JZsdkFSHandler *fileSystemHandler = JZsdk_GetFsHandler(); | ||
107 | + if (!fileSystemHandler) { | ||
108 | + JZSDK_LOG_ERROR("No FS handler"); | ||
109 | + return ret; | ||
110 | + } | ||
111 | + | ||
112 | + U8_t buf[32]; | ||
113 | + U32_t readLen = 0; | ||
114 | + | ||
115 | + ret = fileSystemHandler->FileOpen(LANGUAGE_INFO_FILE_NAME, FS_ONLY_READ, &g_LanguageInfoFileHandle); | ||
116 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) { | ||
117 | + JZSDK_LOG_ERROR("Open failed: %d", ret); | ||
118 | + goto cleanup; | ||
119 | + } | ||
120 | + | ||
121 | + ret = fileSystemHandler->FileRead_U8(g_LanguageInfoFileHandle, buf, sizeof(buf), &readLen); | ||
122 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) { | ||
123 | + JZSDK_LOG_ERROR("Read failed: %d", ret); | ||
124 | + goto cleanup; | ||
125 | + } | ||
126 | + | ||
127 | + // 解析内容到 g_LanguageInfo | ||
128 | + int num = buf[0]; | ||
129 | + g_LanguageInfo = (E_LanguageInfo)(num - '0'); | ||
130 | + JZSDK_LOG_INFO("LanguageInfo: %d", g_LanguageInfo); | ||
131 | + | ||
132 | +cleanup: | ||
133 | + if (g_LanguageInfoFileHandle) { | ||
134 | + fileSystemHandler->FileClose(g_LanguageInfoFileHandle); | ||
135 | + g_LanguageInfoFileHandle = NULL; | ||
136 | + } | ||
137 | + return ret; | ||
138 | +} | ||
139 | + | ||
140 | +/******************* | ||
141 | + * | ||
142 | + * 获取语言信息 | ||
143 | + * | ||
144 | + * ***********************/ | ||
145 | +E_LanguageInfo LanguageInfo_Get_LanguageInfo() | ||
146 | +{ | ||
147 | + //获取程序的语言版本 | ||
148 | + return g_LanguageInfo; | ||
149 | +} | ||
150 | + | ||
151 | + |
1 | +/** | ||
2 | + ******************************************************************** | ||
3 | + * @file LanguageInfo.h | ||
4 | + * LanguageInfo.h 的头文件 | ||
5 | + * | ||
6 | + ********************************************************************* | ||
7 | + */ | ||
8 | + | ||
9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
10 | +#ifndef LANGUAGE_INFO_H | ||
11 | +#define LANGUAGE_INFO_H | ||
12 | + | ||
13 | +/* Includes ------------------------------------------------------------------*/ | ||
14 | +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | ||
15 | + | ||
16 | +#ifdef __cplusplus | ||
17 | +extern "C" { | ||
18 | +#endif | ||
19 | + | ||
20 | +/* Exported constants --------------------------------------------------------*/ | ||
21 | +/* 常亮定义*/ | ||
22 | + | ||
23 | +/* Exported types ------------------------------------------------------------*/ | ||
24 | +typedef enum E_LanguageInfo{ | ||
25 | + LANGUAGE_INFO_CHINESE = 0, | ||
26 | + LANGUAGE_INFO_ENGLISH = 1, | ||
27 | +}E_LanguageInfo; | ||
28 | + | ||
29 | +/* Exported functions --------------------------------------------------------*/ | ||
30 | +E_LanguageInfo LanguageInfo_Get_LanguageInfo(); | ||
31 | +T_JZsdkReturnCode LanguageInfo_Write_LanguageInfo(E_LanguageInfo language); | ||
32 | +T_JZsdkReturnCode LanguageInfo_Init(); | ||
33 | + | ||
34 | + | ||
35 | +#ifdef __cplusplus | ||
36 | +} | ||
37 | +#endif | ||
38 | + | ||
39 | +#endif |
@@ -7,6 +7,7 @@ | @@ -7,6 +7,7 @@ | ||
7 | #include "DeviceInfo/SerialNumberProc/SerialProc.h" | 7 | #include "DeviceInfo/SerialNumberProc/SerialProc.h" |
8 | #include "JZsdk_Base/JZsdk_Code/JZsdk_SMT_Code.h" | 8 | #include "JZsdk_Base/JZsdk_Code/JZsdk_SMT_Code.h" |
9 | #include "./FirewareOriginMAT.h" | 9 | #include "./FirewareOriginMAT.h" |
10 | +#include "DeviceInfo/DeviceInfo.h" | ||
10 | 11 | ||
11 | static int g_OriginRegionNum = ORIGIN_DEFAULT; | 12 | static int g_OriginRegionNum = ORIGIN_DEFAULT; |
12 | 13 | ||
@@ -18,14 +19,17 @@ static int g_OriginRegionNum = ORIGIN_DEFAULT; | @@ -18,14 +19,17 @@ static int g_OriginRegionNum = ORIGIN_DEFAULT; | ||
18 | * *******************/ | 19 | * *******************/ |
19 | T_JZsdkReturnCode FOMAT_FirewareOriginRegion_Init(int SerialType, unsigned char *SerialNumber, unsigned int SerialNumberLen) | 20 | T_JZsdkReturnCode FOMAT_FirewareOriginRegion_Init(int SerialType, unsigned char *SerialNumber, unsigned int SerialNumberLen) |
20 | { | 21 | { |
22 | + //读取语言文件 | ||
23 | + E_LanguageInfo LanguageInfo = LanguageInfo_Get_LanguageInfo(); | ||
24 | + | ||
21 | //没有定义过的序列号,或是没有序列号 | 25 | //没有定义过的序列号,或是没有序列号 |
22 | if (SerialType == UNDEFINED_SNM || SerialType == STANDARD_DJI_SNM) | 26 | if (SerialType == UNDEFINED_SNM || SerialType == STANDARD_DJI_SNM) |
23 | { | 27 | { |
24 | - if (FIRMWARE_ORIGIN == DOMESTIC_VERSION) | 28 | + if (LanguageInfo == LANGUAGE_INFO_CHINESE) |
25 | { | 29 | { |
26 | g_OriginRegionNum = ORIGIN_CN; | 30 | g_OriginRegionNum = ORIGIN_CN; |
27 | } | 31 | } |
28 | - else if (FIRMWARE_ORIGIN == OVERSEAS_VERSION) | 32 | + else if (LanguageInfo == LANGUAGE_INFO_ENGLISH) |
29 | { | 33 | { |
30 | g_OriginRegionNum = ORIGIN_EN; | 34 | g_OriginRegionNum = ORIGIN_EN; |
31 | } | 35 | } |
@@ -40,11 +44,11 @@ T_JZsdkReturnCode FOMAT_FirewareOriginRegion_Init(int SerialType, unsigned char | @@ -40,11 +44,11 @@ T_JZsdkReturnCode FOMAT_FirewareOriginRegion_Init(int SerialType, unsigned char | ||
40 | //旧类型的 | 44 | //旧类型的 |
41 | if (SerialType == STANDARD_JZ_1_SNM) | 45 | if (SerialType == STANDARD_JZ_1_SNM) |
42 | { | 46 | { |
43 | - if (FIRMWARE_ORIGIN == DOMESTIC_VERSION) | 47 | + if (LanguageInfo == LANGUAGE_INFO_CHINESE) |
44 | { | 48 | { |
45 | g_OriginRegionNum = ORIGIN_CN; | 49 | g_OriginRegionNum = ORIGIN_CN; |
46 | } | 50 | } |
47 | - else if (FIRMWARE_ORIGIN == OVERSEAS_VERSION) | 51 | + else if (LanguageInfo == LANGUAGE_INFO_ENGLISH) |
48 | { | 52 | { |
49 | g_OriginRegionNum = ORIGIN_EN; | 53 | g_OriginRegionNum = ORIGIN_EN; |
50 | } | 54 | } |
@@ -92,11 +96,11 @@ T_JZsdkReturnCode FOMAT_FirewareOriginRegion_Init(int SerialType, unsigned char | @@ -92,11 +96,11 @@ T_JZsdkReturnCode FOMAT_FirewareOriginRegion_Init(int SerialType, unsigned char | ||
92 | } | 96 | } |
93 | 97 | ||
94 | //无匹配序列号 | 98 | //无匹配序列号 |
95 | - if (FIRMWARE_ORIGIN == DOMESTIC_VERSION) | 99 | + if (LanguageInfo == LANGUAGE_INFO_CHINESE) |
96 | { | 100 | { |
97 | g_OriginRegionNum = ORIGIN_CN; | 101 | g_OriginRegionNum = ORIGIN_CN; |
98 | } | 102 | } |
99 | - else if (FIRMWARE_ORIGIN == OVERSEAS_VERSION) | 103 | + else if (LanguageInfo == LANGUAGE_INFO_ENGLISH) |
100 | { | 104 | { |
101 | g_OriginRegionNum = ORIGIN_EN; | 105 | g_OriginRegionNum = ORIGIN_EN; |
102 | } | 106 | } |
@@ -15,12 +15,13 @@ | @@ -15,12 +15,13 @@ | ||
15 | 15 | ||
16 | #define IRC_DEALMODE_JZSDK 0 | 16 | #define IRC_DEALMODE_JZSDK 0 |
17 | #define IRC_DEALMODE_KTLIB 1 | 17 | #define IRC_DEALMODE_KTLIB 1 |
18 | +#define IRC_DEALMODE_SAT 2 | ||
18 | 19 | ||
19 | int g_temp_GasValueMax = 160; | 20 | int g_temp_GasValueMax = 160; |
20 | int g_temp_GasValueMin = 30; | 21 | int g_temp_GasValueMin = 30; |
21 | 22 | ||
22 | struct IRC_param *g_IRC_Param = NULL; | 23 | struct IRC_param *g_IRC_Param = NULL; |
23 | -static T_JZsdkReturnCode IRC_param_Init(struct IRC_param **index, int height, int width, int frameRate); | 24 | +static T_JZsdkReturnCode IRC_param_Init(struct IRC_param **index, int height, int width, int frameRate, IRC_DealMode dealMode); |
24 | static int lastSPCMode = -1; //0低温数据 1手动打档 2自动打档 | 25 | static int lastSPCMode = -1; //0低温数据 1手动打档 2自动打档 |
25 | static int lastTPCMode = -1; | 26 | static int lastTPCMode = -1; |
26 | 27 | ||
@@ -34,11 +35,11 @@ static FILE *temp_fp = NULL; | @@ -34,11 +35,11 @@ static FILE *temp_fp = NULL; | ||
34 | 备注: | 35 | 备注: |
35 | 36 | ||
36 | */ | 37 | */ |
37 | -T_JZsdkReturnCode IRC_ParamInit(int height, int width, int frameRate) | 38 | +T_JZsdkReturnCode IRC_ParamInit(int height, int width, int frameRate, IRC_DealMode dealMode) |
38 | { | 39 | { |
39 | T_JZsdkReturnCode ret; | 40 | T_JZsdkReturnCode ret; |
40 | 41 | ||
41 | - ret = IRC_param_Init(&g_IRC_Param, height, width, frameRate); | 42 | + ret = IRC_param_Init(&g_IRC_Param, height, width, frameRate, dealMode); |
42 | 43 | ||
43 | if (g_IRC_Param->DealWay == IRC_DEALMODE_KTLIB) | 44 | if (g_IRC_Param->DealWay == IRC_DEALMODE_KTLIB) |
44 | { | 45 | { |
@@ -47,11 +48,13 @@ T_JZsdkReturnCode IRC_ParamInit(int height, int width, int frameRate) | @@ -47,11 +48,13 @@ T_JZsdkReturnCode IRC_ParamInit(int height, int width, int frameRate) | ||
47 | #endif | 48 | #endif |
48 | } | 49 | } |
49 | 50 | ||
50 | - // temp_fp = fopen("IRC_temp.raw", "w"); | ||
51 | - // if (temp_fp == NULL) | ||
52 | - // { | ||
53 | - // JZSDK_LOG_ERROR("IRC_temp.raw文件打开失败"); | ||
54 | - // } | 51 | + else if (g_IRC_Param->DealWay == IRC_DEALMODE_SAT) |
52 | + { | ||
53 | +#ifdef SATIRC_LIB_STATUS_ON | ||
54 | + | ||
55 | +#endif | ||
56 | + } | ||
57 | + | ||
55 | 58 | ||
56 | return ret; | 59 | return ret; |
57 | } | 60 | } |
@@ -1302,7 +1305,7 @@ T_JZsdkReturnCode Proc_IRC_param(int flagcode, enum JZsdk_Widget_Control paramfl | @@ -1302,7 +1305,7 @@ T_JZsdkReturnCode Proc_IRC_param(int flagcode, enum JZsdk_Widget_Control paramfl | ||
1302 | * | 1305 | * |
1303 | * | 1306 | * |
1304 | * ************************************************************************************************/ | 1307 | * ************************************************************************************************/ |
1305 | -static T_JZsdkReturnCode IRC_param_Init(struct IRC_param **index, int height, int width, int frameRate) | 1308 | +static T_JZsdkReturnCode IRC_param_Init(struct IRC_param **index, int height, int width, int frameRate, IRC_DealMode dealMode) |
1306 | { | 1309 | { |
1307 | T_JZsdkReturnCode ret; | 1310 | T_JZsdkReturnCode ret; |
1308 | 1311 | ||
@@ -1316,7 +1319,7 @@ static T_JZsdkReturnCode IRC_param_Init(struct IRC_param **index, int height, in | @@ -1316,7 +1319,7 @@ static T_JZsdkReturnCode IRC_param_Init(struct IRC_param **index, int height, in | ||
1316 | } | 1319 | } |
1317 | 1320 | ||
1318 | //IrcDealCfg->DealWay = IRC_DEALMODE_JZSDK; | 1321 | //IrcDealCfg->DealWay = IRC_DEALMODE_JZSDK; |
1319 | - IrcDealCfg->DealWay = IRC_DEALMODE_KTLIB; | 1322 | + IrcDealCfg->DealWay = dealMode; |
1320 | 1323 | ||
1321 | //我们自己库要水平翻转 | 1324 | //我们自己库要水平翻转 |
1322 | if (IrcDealCfg->DealWay == IRC_DEALMODE_JZSDK) | 1325 | if (IrcDealCfg->DealWay == IRC_DEALMODE_JZSDK) |
@@ -23,10 +23,15 @@ extern "C" { | @@ -23,10 +23,15 @@ extern "C" { | ||
23 | 23 | ||
24 | 24 | ||
25 | /* Exported types ----------------------------- -------------------------------*/ | 25 | /* Exported types ----------------------------- -------------------------------*/ |
26 | +typedef enum IRC_DealMode{ | ||
27 | + IRC_DEAL_MODE_JZ = 0, | ||
28 | + IRC_DEAL_MODE_KT = 1, | ||
29 | + IRC_DEAL_MODE_SAT = 2, | ||
30 | +}IRC_DealMode; | ||
26 | 31 | ||
27 | /* Exported functions --------------------------------------------------------*/ | 32 | /* Exported functions --------------------------------------------------------*/ |
28 | 33 | ||
29 | -T_JZsdkReturnCode IRC_ParamInit(int height, int width, int frameRate); | 34 | +T_JZsdkReturnCode IRC_ParamInit(int height, int width, int frameRate, IRC_DealMode dealMode); |
30 | T_JZsdkReturnCode IRC_FrameDeal(U16_t *rawData ,unsigned int dataSize, unsigned char **outData, unsigned int *outDataSize); | 35 | T_JZsdkReturnCode IRC_FrameDeal(U16_t *rawData ,unsigned int dataSize, unsigned char **outData, unsigned int *outDataSize); |
31 | 36 | ||
32 | T_JZsdkReturnCode IRC_SetRawPixel_ResetFlag(); | 37 | T_JZsdkReturnCode IRC_SetRawPixel_ResetFlag(); |
1 | + | ||
2 | +#include "JZsdkLib.h" | ||
3 | + | ||
4 | +#include "BaseConfig.h" | ||
5 | + | ||
6 | +#ifdef SATIRC_LIB_STATUS_ON | ||
7 | +#include "satir_module.h" | ||
8 | +#include "Sat_Irc.h" | ||
9 | + | ||
10 | +TSatIR_Module irModule; // 实例化对象 | ||
11 | + | ||
12 | +T_JZsdkReturnCode SatIrc_init() | ||
13 | +{ | ||
14 | + int ret = irModule.openIRCamera(); | ||
15 | + if (ret != 0) | ||
16 | + { | ||
17 | + JZSDK_LOG_ERROR("打开红外相机失败"); | ||
18 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
19 | + } | ||
20 | + | ||
21 | + //获取红外图像的分辨率 | ||
22 | + int width = irModule.getIRWidth(); | ||
23 | + int height = irModule.getIRHeight(); | ||
24 | + | ||
25 | + JZSDK_LOG_INFO("获取到红外图像的分辨率为:宽:%d,高:%d", width, height); | ||
26 | + | ||
27 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
28 | +} | ||
29 | + | ||
30 | + | ||
31 | +T_JZsdkReturnCode SatIrc_SetColorPalette(int color) | ||
32 | +{ | ||
33 | + irModule.setColorPalette((TSatIR_Module::ColorPalette)color); | ||
34 | + | ||
35 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
36 | +} | ||
37 | + | ||
38 | +/******************** | ||
39 | + * | ||
40 | + * 打档 | ||
41 | + * 1内参考 | ||
42 | + * 2外参考 | ||
43 | + * | ||
44 | + * *****************/ | ||
45 | +T_JZsdkReturnCode SatIrc_DoShutter(int type) | ||
46 | +{ | ||
47 | + irModule.doShutter(type); | ||
48 | + | ||
49 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
50 | +} | ||
51 | + | ||
52 | +/************* | ||
53 | + * | ||
54 | + * | ||
55 | + * 获取rgb图像 | ||
56 | + * | ||
57 | + * | ||
58 | + * ************/ | ||
59 | +T_JZsdkReturnCode SatIrc_GetIRImage(U8_t *image, int PixelNum) | ||
60 | +{ | ||
61 | + std::vector<uint8_t> outGray8; | ||
62 | + std::vector<uint32_t> outRGBImage; | ||
63 | + | ||
64 | + // 调用获取红外帧的函数 | ||
65 | + irModule.getIRFrame(outGray8, outRGBImage); | ||
66 | + | ||
67 | + // 检查获取的数据是否有效 | ||
68 | + if (outRGBImage.empty() || outRGBImage.size() < PixelNum) | ||
69 | + { | ||
70 | + JZSDK_LOG_ERROR("获取红外图像失败"); | ||
71 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
72 | + } | ||
73 | + | ||
74 | + // 直接将32位RGB数据拷贝到输出缓冲区 | ||
75 | + // 每个像素占4字节(R|G|B|A或R|G|B|X,具体格式取决于SDK) | ||
76 | + memcpy(image, outRGBImage.data(), PixelNum * sizeof(uint32_t)); | ||
77 | + | ||
78 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
79 | +} | ||
80 | + | ||
81 | +#endif // SATIRC_LIB_STATUS_ON |
1 | +/* ******************************************************************** | ||
2 | +* | ||
3 | +* | ||
4 | +* | ||
5 | +***********************************************/ | ||
6 | +#ifndef SAT_IRC_H | ||
7 | +#define SAT_IRC_H | ||
8 | + | ||
9 | +#include "JZsdkLib.h" | ||
10 | + | ||
11 | + | ||
12 | +#ifdef __cplusplus | ||
13 | +extern "C" { | ||
14 | +#endif | ||
15 | + | ||
16 | +T_JZsdkReturnCode SatIrc_init(); | ||
17 | +T_JZsdkReturnCode SatIrc_SetColorPalette(int color); | ||
18 | +T_JZsdkReturnCode SatIrc_GetIRImage(U8_t *image, int PixelNum); | ||
19 | + | ||
20 | +#ifdef __cplusplus | ||
21 | +} | ||
22 | +#endif | ||
23 | + | ||
24 | +#endif |
@@ -18,9 +18,9 @@ T_JZsdkReturnCode Start_voice() | @@ -18,9 +18,9 @@ T_JZsdkReturnCode Start_voice() | ||
18 | } | 18 | } |
19 | else | 19 | else |
20 | { | 20 | { |
21 | - //根据属地设置默认语言 | ||
22 | - int OriginValue = FOMAT_Get_FirewareOriginRegion(); | ||
23 | - if (OriginValue == ORIGIN_DEFAULT || OriginValue == ORIGIN_CN) | 21 | + //根据语言信息设置语言 |
22 | + E_LanguageInfo LanguageInfo = LanguageInfo_Get_LanguageInfo(); | ||
23 | + if (LanguageInfo == LANGUAGE_INFO_CHINESE) | ||
24 | { | 24 | { |
25 | int language = 0x01; | 25 | int language = 0x01; |
26 | Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language); | 26 | Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language); |
@@ -51,8 +51,8 @@ T_JZsdkReturnCode Start_up_and_broadcast_voice() | @@ -51,8 +51,8 @@ T_JZsdkReturnCode Start_up_and_broadcast_voice() | ||
51 | if (APP_VERSION == APP_PSDK) | 51 | if (APP_VERSION == APP_PSDK) |
52 | { | 52 | { |
53 | //根据属地设置默认语言 | 53 | //根据属地设置默认语言 |
54 | - int OriginValue = FOMAT_Get_FirewareOriginRegion(); | ||
55 | - if (OriginValue == ORIGIN_DEFAULT || OriginValue == ORIGIN_CN) | 54 | + E_LanguageInfo LanguageInfo = LanguageInfo_Get_LanguageInfo(); |
55 | + if (LanguageInfo == LANGUAGE_INFO_CHINESE) | ||
56 | { | 56 | { |
57 | int language = 0x01; | 57 | int language = 0x01; |
58 | Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language); | 58 | Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language); |
@@ -93,8 +93,8 @@ T_JZsdkReturnCode Start_up_and_broadcast_voice() | @@ -93,8 +93,8 @@ T_JZsdkReturnCode Start_up_and_broadcast_voice() | ||
93 | { | 93 | { |
94 | 94 | ||
95 | //根据属地设置默认语言 | 95 | //根据属地设置默认语言 |
96 | - int OriginValue = FOMAT_Get_FirewareOriginRegion(); | ||
97 | - if (OriginValue == ORIGIN_DEFAULT || OriginValue == ORIGIN_CN) | 96 | + E_LanguageInfo LanguageInfo = LanguageInfo_Get_LanguageInfo(); |
97 | + if (LanguageInfo == LANGUAGE_INFO_CHINESE) | ||
98 | { | 98 | { |
99 | int language = 0x01; | 99 | int language = 0x01; |
100 | Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language); | 100 | Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language); |
@@ -129,12 +129,10 @@ T_JZsdkReturnCode AttentionVoice_IndependencePlay() | @@ -129,12 +129,10 @@ T_JZsdkReturnCode AttentionVoice_IndependencePlay() | ||
129 | 129 | ||
130 | delayMs(100); | 130 | delayMs(100); |
131 | 131 | ||
132 | - //根据属地设置默认语言 | 132 | + //根据语言信息设置默认语言 |
133 | int language = 0; | 133 | int language = 0; |
134 | - int OriginValue = FOMAT_Get_FirewareOriginRegion(); | ||
135 | - | ||
136 | - //如果是国内版或者无属地 设置为中文 | ||
137 | - if (OriginValue == ORIGIN_DEFAULT || OriginValue == ORIGIN_CN) | 134 | + E_LanguageInfo LanguageInfo = LanguageInfo_Get_LanguageInfo(); |
135 | + if (LanguageInfo == LANGUAGE_INFO_CHINESE) | ||
138 | { | 136 | { |
139 | language = 0x01; | 137 | language = 0x01; |
140 | Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language); | 138 | Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language); |
@@ -12,7 +12,8 @@ | @@ -12,7 +12,8 @@ | ||
12 | #include "JZsdkLib.h" | 12 | #include "JZsdkLib.h" |
13 | #include "BaseConfig.h" | 13 | #include "BaseConfig.h" |
14 | #include "Megaphone/Megaphone.h" | 14 | #include "Megaphone/Megaphone.h" |
15 | -#include "Megaphone/VolumeLimit.h" | 15 | +#include "Megaphone/Volume/VolumeLimit.h" |
16 | +#include "Megaphone/Volume/volume.h" | ||
16 | 17 | ||
17 | #define C_TIME 10 | 18 | #define C_TIME 10 |
18 | #define MAX_TIME 240 | 19 | #define MAX_TIME 240 |
@@ -119,11 +120,11 @@ static T_JZsdkReturnCode MegTempRead_ImitateTem(int *fd) | @@ -119,11 +120,11 @@ static T_JZsdkReturnCode MegTempRead_ImitateTem(int *fd) | ||
119 | { | 120 | { |
120 | if (status == 0x20) | 121 | if (status == 0x20) |
121 | { | 122 | { |
122 | - PlayVolume = RealVolume * 92 /100; | 123 | + PlayVolume = RealVolume * MAX_TTS_VOLUME /100; |
123 | } | 124 | } |
124 | else | 125 | else |
125 | { | 126 | { |
126 | - PlayVolume = RealVolume * 82/100; | 127 | + PlayVolume = RealVolume * MAX_VOLUME/100; |
127 | } | 128 | } |
128 | } | 129 | } |
129 | 130 | ||
@@ -356,9 +357,11 @@ static void *MegTempControl_task(void *arg) | @@ -356,9 +357,11 @@ static void *MegTempControl_task(void *arg) | ||
356 | { | 357 | { |
357 | //JZSDK_LOG_DEBUG("温控调整了温度"); | 358 | //JZSDK_LOG_DEBUG("温控调整了温度"); |
358 | 359 | ||
359 | - Meg_SetVolumeFun(BalanceVolume); | 360 | + //修改音量 |
361 | + Megaphone_SetSystemVolume(BalanceVolume); | ||
360 | 362 | ||
361 | - Megaphone_PrintVolume(BalanceVolume, 1); | 363 | + //修改ui |
364 | + Meg_TempControlVolumeUi(BalanceVolume); | ||
362 | } | 365 | } |
363 | 366 | ||
364 | OldBalanceVolume = BalanceVolume; | 367 | OldBalanceVolume = BalanceVolume; |
@@ -17,7 +17,6 @@ | @@ -17,7 +17,6 @@ | ||
17 | #include "JZsdk_Hal.h" | 17 | #include "JZsdk_Hal.h" |
18 | 18 | ||
19 | #include "Megaphone/MegTempControl/MegTempControl.h" | 19 | #include "Megaphone/MegTempControl/MegTempControl.h" |
20 | -#include "./VolumeLimit.h" | ||
21 | #include "../AudioDeal/AudioDeal.h" | 20 | #include "../AudioDeal/AudioDeal.h" |
22 | #include "./TTS/Megaphone_TTS.h" | 21 | #include "./TTS/Megaphone_TTS.h" |
23 | #include "./TTS/cnTTS/cnTTS.h" | 22 | #include "./TTS/cnTTS/cnTTS.h" |
@@ -33,9 +32,6 @@ | @@ -33,9 +32,6 @@ | ||
33 | 32 | ||
34 | int MegPlayStatusUnChange_flag = JZ_FLAGCODE_OFF; | 33 | int MegPlayStatusUnChange_flag = JZ_FLAGCODE_OFF; |
35 | static MegaphonePlayStatus g_Megaphone_Play_Status = AUDIO_PLAY_STATUS_IDLE; | 34 | static MegaphonePlayStatus g_Megaphone_Play_Status = AUDIO_PLAY_STATUS_IDLE; |
36 | -static int g_Megaphone_Volume = 30; | ||
37 | -static int g_Megaphone_RealTargetVolume = 30; //喊话器的实际目标音量 | ||
38 | -static int g_Megaphone_RealSetVolue = 30; //喊话器的实际音量 | ||
39 | 35 | ||
40 | static int g_Megaphone_Loop = JZ_FLAGCODE_OFF; //循环播放 | 36 | static int g_Megaphone_Loop = JZ_FLAGCODE_OFF; //循环播放 |
41 | static int g_Megaphone_LoopInterval = 1000; //循环播放间隔 单位ms | 37 | static int g_Megaphone_LoopInterval = 1000; //循环播放间隔 单位ms |
@@ -47,11 +43,7 @@ int MegaphoneStatusFlag = JZ_FLAGCODE_OFF; //撌脩 | @@ -47,11 +43,7 @@ int MegaphoneStatusFlag = JZ_FLAGCODE_OFF; //撌脩 | ||
47 | struct MegaphoneInfo *g_MegaphoneInfo = NULL; //喊话器数据结构体 | 43 | struct MegaphoneInfo *g_MegaphoneInfo = NULL; //喊话器数据结构体 |
48 | 44 | ||
49 | static T_JZsdkReturnCode Megaphone_ConvertPlayStatus(int status); | 45 | static T_JZsdkReturnCode Megaphone_ConvertPlayStatus(int status); |
50 | -T_JZsdkReturnCode Megaphone_SetVolume(int value, int mode);//设置音量,音量0-100,默认音量value==10。 | ||
51 | 46 | ||
52 | -static int g_TTS_Max_volume = 0; //用于存储tts最大音量限制 | ||
53 | -static int g_Max_volume = 0; //用于存储最大音量限制 | ||
54 | -static double PowerSimulation = 0; //用于模拟喊话器功率状态 | ||
55 | 47 | ||
56 | /********************** | 48 | /********************** |
57 | * | 49 | * |
@@ -140,6 +132,8 @@ T_JZsdkReturnCode Megaphone_MegDataGenFinshFlag(int order, int Flag) | @@ -140,6 +132,8 @@ T_JZsdkReturnCode Megaphone_MegDataGenFinshFlag(int order, int Flag) | ||
140 | { | 132 | { |
141 | return MegDataGenFinsh_Flag; | 133 | return MegDataGenFinsh_Flag; |
142 | } | 134 | } |
135 | + | ||
136 | + //JZSDK_LOG_DEBUG("设置数据生产完成标志位:0x%d",Flag); | ||
143 | 137 | ||
144 | MegDataGenFinsh_Flag = Flag; | 138 | MegDataGenFinsh_Flag = Flag; |
145 | 139 | ||
@@ -163,7 +157,7 @@ static T_JZsdkReturnCode Megaphone_Play(struct MegaphoneInfo *IndexInfo, enum Me | @@ -163,7 +157,7 @@ static T_JZsdkReturnCode Megaphone_Play(struct MegaphoneInfo *IndexInfo, enum Me | ||
163 | JZSDK_LOG_ERROR("无法进行播放操作,目前正在进行实时语音播放"); | 157 | JZSDK_LOG_ERROR("无法进行播放操作,目前正在进行实时语音播放"); |
164 | return JZ_ERRORCODE_REALTIMEVOICE_HAS_BEEN_ON; | 158 | return JZ_ERRORCODE_REALTIMEVOICE_HAS_BEEN_ON; |
165 | } | 159 | } |
166 | - | 160 | + |
167 | //把暂停音乐的标志关了 | 161 | //把暂停音乐的标志关了 |
168 | AudioDeal_PauseAndContinuePlay(JZ_FLAGCODE_OFF); | 162 | AudioDeal_PauseAndContinuePlay(JZ_FLAGCODE_OFF); |
169 | 163 | ||
@@ -891,90 +885,7 @@ T_JZsdkReturnCode Megaphone_Amplifier_param(int flagcode, int *value) | @@ -891,90 +885,7 @@ T_JZsdkReturnCode Megaphone_Amplifier_param(int flagcode, int *value) | ||
891 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 885 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
892 | } | 886 | } |
893 | 887 | ||
894 | -/********************* | ||
895 | - * | ||
896 | - * 最大音量加载 | ||
897 | - * | ||
898 | - * ***********************/ | ||
899 | -static T_JZsdkReturnCode Megaphone_MaxVolume_Init() | ||
900 | -{ | ||
901 | - g_Max_volume = MAX_VOLUME; | ||
902 | - g_TTS_Max_volume = MAX_TTS_VOLUME; | ||
903 | - | ||
904 | - if (DEVICE_VERSION == JZ_H1T) | ||
905 | - { | ||
906 | - //检索版本号 | ||
907 | - if (HardwareInfo_GetVersion(0) == 0x01 | ||
908 | - && HardwareInfo_GetVersion(1) == 0x02 | ||
909 | - && HardwareInfo_GetVersion(2) == 0x00 | ||
910 | - && HardwareInfo_GetVersion(3) == 0x00 | ||
911 | - ) | ||
912 | - { | ||
913 | - g_Max_volume = 72; | ||
914 | - g_TTS_Max_volume = 81; | ||
915 | - } | ||
916 | - } | ||
917 | - | ||
918 | - JZSDK_LOG_INFO("MaxV:%d MaxTTS_V:%d",g_Max_volume, g_TTS_Max_volume); | ||
919 | - | ||
920 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
921 | -} | ||
922 | - | ||
923 | - | ||
924 | -static void *JZsdk_PowerSimulationThread(void *args) | ||
925 | -{ | ||
926 | - T_JZsdkOsalHandler *OsalHandle = JZsdk_Platform_GetOsalHandler(); | ||
927 | - | ||
928 | - while(1) | ||
929 | - { | ||
930 | - //获取当前播放状态 | ||
931 | - int play_status = Megaphone_GetMegaphoneStatus(); | ||
932 | - | ||
933 | - //生产一个随机数 | ||
934 | - U16_t randomNum; | ||
935 | - OsalHandle->GetRandomNum(&randomNum); // 获取 0~65535 的随机数 | ||
936 | - | ||
937 | - // 转换为 [0.5, 1.2) 范围 | ||
938 | - double normalized = 0.5 + ((double)randomNum / 65535.0) * 0.7; | ||
939 | - | ||
940 | - //获取音量百分比 | ||
941 | - int volume = g_Megaphone_Volume; | ||
942 | - double _volume = (double)volume / 100; | ||
943 | - if (_volume < 0.1) | ||
944 | - { | ||
945 | - _volume = 0.1; | ||
946 | - } | ||
947 | - | ||
948 | - if (play_status == AUDIO_PLAY_STATUS_IDLE) | ||
949 | - { | ||
950 | - PowerSimulation = 25 * 0.1 * normalized; | ||
951 | - } | ||
952 | - else | ||
953 | - { | ||
954 | - PowerSimulation = 25* _volume * normalized; | ||
955 | - } | ||
956 | - | ||
957 | - //printf("PowerSimulation:%0.1f\n",PowerSimulation); | ||
958 | - | ||
959 | - OsalHandle->TaskSleepMs(1000); | ||
960 | - } | ||
961 | -} | ||
962 | - | ||
963 | -//获取模拟功率 | ||
964 | -double JZsdk_GetMagaphonePowerSimulation() | ||
965 | -{ | ||
966 | - return PowerSimulation; | ||
967 | -} | ||
968 | - | ||
969 | -static T_JZsdkReturnCode PowerSimulation_Init() | ||
970 | -{ | ||
971 | - T_JZsdkOsalHandler *OsalHandle = JZsdk_Platform_GetOsalHandler(); | ||
972 | - | ||
973 | - T_JZTaskHandle single_task = NULL; | ||
974 | - OsalHandle->TaskCreate("PowerSimulation", JZsdk_PowerSimulationThread, 8192, NULL , &single_task); | ||
975 | 888 | ||
976 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
977 | -} | ||
978 | 889 | ||
979 | /********* | 890 | /********* |
980 | * | 891 | * |
@@ -991,8 +902,8 @@ T_JZsdkReturnCode Megaphone_Init() | @@ -991,8 +902,8 @@ T_JZsdkReturnCode Megaphone_Init() | ||
991 | 902 | ||
992 | JZsdk_Malloc((void **)&g_MegaphoneInfo, sizeof(struct MegaphoneInfo)); | 903 | JZsdk_Malloc((void **)&g_MegaphoneInfo, sizeof(struct MegaphoneInfo)); |
993 | 904 | ||
994 | - //最大音量初始化 | ||
995 | - Megaphone_MaxVolume_Init(); | 905 | + //音量初始化 |
906 | + Megaphone_Volume_Init(); | ||
996 | 907 | ||
997 | //TTS功能初始化 | 908 | //TTS功能初始化 |
998 | Megaphone_TTS_Init(); | 909 | Megaphone_TTS_Init(); |
@@ -1003,15 +914,12 @@ T_JZsdkReturnCode Megaphone_Init() | @@ -1003,15 +914,12 @@ T_JZsdkReturnCode Megaphone_Init() | ||
1003 | //pcm列表初始化 | 914 | //pcm列表初始化 |
1004 | Megaphone_PcmFile_Init(); | 915 | Megaphone_PcmFile_Init(); |
1005 | 916 | ||
1006 | - //设置音量 | ||
1007 | - Megaphone_SetVolume(30, 0); | ||
1008 | - | ||
1009 | //温控初始化 | 917 | //温控初始化 |
1010 | MegTempControl_Init(); | 918 | MegTempControl_Init(); |
1011 | 919 | ||
1012 | - //根据属地设置默认语言 | ||
1013 | - int OriginValue = FOMAT_Get_FirewareOriginRegion(); | ||
1014 | - if (OriginValue == ORIGIN_DEFAULT || OriginValue == ORIGIN_CN) | 920 | + //根据语言信息设置默认语言 |
921 | + E_LanguageInfo LanguageInfo = LanguageInfo_Get_LanguageInfo(); | ||
922 | + if (LanguageInfo == LANGUAGE_INFO_CHINESE) | ||
1015 | { | 923 | { |
1016 | int language = 0x01; | 924 | int language = 0x01; |
1017 | Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language); | 925 | Megaphone_TTS_param(JZ_FLAGCODE_SET, MEGAPHONE_TTS_TONE, &language); |
@@ -1024,7 +932,7 @@ T_JZsdkReturnCode Megaphone_Init() | @@ -1024,7 +932,7 @@ T_JZsdkReturnCode Megaphone_Init() | ||
1024 | 932 | ||
1025 | //设置一个模拟功率函数 | 933 | //设置一个模拟功率函数 |
1026 | //PowerSimulation_Init(); | 934 | //PowerSimulation_Init(); |
1027 | - | 935 | + |
1028 | MegaphoneStatusFlag = JZ_FLAGCODE_ON; | 936 | MegaphoneStatusFlag = JZ_FLAGCODE_ON; |
1029 | } | 937 | } |
1030 | 938 | ||
@@ -1044,7 +952,7 @@ T_JZsdkReturnCode Megaphone_param(int flagcode, enum MegaphoneParam paramflag, i | @@ -1044,7 +952,7 @@ T_JZsdkReturnCode Megaphone_param(int flagcode, enum MegaphoneParam paramflag, i | ||
1044 | { | 952 | { |
1045 | case MEGAPHONE_VOLUME: | 953 | case MEGAPHONE_VOLUME: |
1046 | { | 954 | { |
1047 | - *value = g_Megaphone_Volume; | 955 | + *value = Megaphone_GetUiVolume(); |
1048 | } | 956 | } |
1049 | break; | 957 | break; |
1050 | 958 | ||
@@ -1088,7 +996,7 @@ T_JZsdkReturnCode Megaphone_param(int flagcode, enum MegaphoneParam paramflag, i | @@ -1088,7 +996,7 @@ T_JZsdkReturnCode Megaphone_param(int flagcode, enum MegaphoneParam paramflag, i | ||
1088 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 996 | return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; |
1089 | } | 997 | } |
1090 | 998 | ||
1091 | - Megaphone_PrintVolume(*value, 0); | 999 | + Megaphone_SetVolume(*value, 0); |
1092 | } | 1000 | } |
1093 | break; | 1001 | break; |
1094 | 1002 | ||
@@ -1174,26 +1082,23 @@ T_JZsdkReturnCode Megaphone_PlayContinue() | @@ -1174,26 +1082,23 @@ T_JZsdkReturnCode Megaphone_PlayContinue() | ||
1174 | int ami =JZ_FLAGCODE_ON; | 1082 | int ami =JZ_FLAGCODE_ON; |
1175 | Megaphone_Amplifier_param(JZ_FLAGCODE_SET, &ami); | 1083 | Megaphone_Amplifier_param(JZ_FLAGCODE_SET, &ami); |
1176 | 1084 | ||
1177 | - //查看播放状态是否不处于停止 | ||
1178 | - if (g_Megaphone_Play_Status == AUDIO_PLAY_STATUS_IDLE) | ||
1179 | - { | ||
1180 | - //播放当前音频 | ||
1181 | - unsigned char CurrentName[128]; | ||
1182 | - memset(CurrentName,0,sizeof(CurrentName)); | ||
1183 | - unsigned int CurrentNameLen = 0; | ||
1184 | - unsigned int CurrentNum = 0; | ||
1185 | - AudioMange_Get_FilePlayName(CurrentName, &CurrentNameLen, &CurrentNum); | ||
1186 | - UIcontrol_PlayAudioFile(NO_SPECIFIED ,CurrentName, CurrentNameLen); | ||
1187 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
1188 | - | ||
1189 | - } | ||
1190 | - else if (g_Megaphone_Play_Status == AUDIO_PLAY_STATUS_MUSIC) | 1085 | + //如果正处于播放音频,则恢复播放 |
1086 | + if (g_Megaphone_Play_Status == AUDIO_PLAY_STATUS_MUSIC) | ||
1191 | { | 1087 | { |
1192 | AudioDeal_PauseAndContinuePlay(JZ_FLAGCODE_OFF); | 1088 | AudioDeal_PauseAndContinuePlay(JZ_FLAGCODE_OFF); |
1193 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 1089 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
1194 | } | 1090 | } |
1091 | + //如果正处于其他播放状态,则改为播放当前音频 | ||
1195 | else | 1092 | else |
1196 | { | 1093 | { |
1094 | + //播放当前音频 | ||
1095 | + unsigned char CurrentName[128]; | ||
1096 | + memset(CurrentName,0,sizeof(CurrentName)); | ||
1097 | + unsigned int CurrentNameLen = 0; | ||
1098 | + unsigned int CurrentNum = 0; | ||
1099 | + AudioMange_Get_FilePlayName(CurrentName, &CurrentNameLen, &CurrentNum); | ||
1100 | + UIcontrol_PlayAudioFile(NO_SPECIFIED ,CurrentName, CurrentNameLen); | ||
1101 | + | ||
1197 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 1102 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
1198 | } | 1103 | } |
1199 | } | 1104 | } |
@@ -1318,285 +1223,6 @@ T_JZsdkReturnCode Megaphone_GetMusicListMessage(unsigned char *message) | @@ -1318,285 +1223,6 @@ T_JZsdkReturnCode Megaphone_GetMusicListMessage(unsigned char *message) | ||
1318 | 1223 | ||
1319 | 1224 | ||
1320 | 1225 | ||
1321 | -/**************************************************************************************************************************************************** | ||
1322 | -* | ||
1323 | -* 音量调节 | ||
1324 | -* | ||
1325 | -****************************************************************************************************************************************************/ | ||
1326 | -int now_volume=20;//默认音量10--》50+10/2==55 | ||
1327 | -static void *Meg_SetVolumeTask(void *arg); | ||
1328 | -static T_JZsdkReturnCode Megaphone_SetTTSvolume(); | ||
1329 | - | ||
1330 | -/********************* | ||
1331 | - * | ||
1332 | - * mode == 0 正常调音量 | ||
1333 | - * mode == 1 tts调音量 | ||
1334 | - * | ||
1335 | - * ************************/ | ||
1336 | -T_JZsdkReturnCode Megaphone_SetVolume(int value, int mode)//设置音量,音量0-100,默认音量value==10。 | ||
1337 | -{ | ||
1338 | - pthread_t SET_volume_task; | ||
1339 | - pthread_attr_t task_attribute; //线程属性 | ||
1340 | - pthread_attr_init(&task_attribute); //初始化线程属性 | ||
1341 | - pthread_attr_setdetachstate(&task_attribute, PTHREAD_CREATE_DETACHED); //设置线程属性 | ||
1342 | - printf("传入的值:%d\n",value); | ||
1343 | - | ||
1344 | - | ||
1345 | - if (mode == 1) | ||
1346 | - { | ||
1347 | - return Megaphone_SetTTSvolume(); | ||
1348 | - } | ||
1349 | - | ||
1350 | - now_volume=value;//获取当前音量 | ||
1351 | - | ||
1352 | - //v3s自设系统 要提高10初始音量 | ||
1353 | - if (DEVICE_VERSION == JZ_H10T || DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) | ||
1354 | - { | ||
1355 | - if (value > 0) | ||
1356 | - { | ||
1357 | - value = 20 + value * 10/8; | ||
1358 | - } | ||
1359 | - } | ||
1360 | - | ||
1361 | - if(value<=0) | ||
1362 | - { | ||
1363 | - value=0; | ||
1364 | - } | ||
1365 | - | ||
1366 | - else if(value>0&&value<100) | ||
1367 | - { | ||
1368 | - value=value*g_Max_volume/100 *255/100; | ||
1369 | - } | ||
1370 | - | ||
1371 | - else if(value>=100) | ||
1372 | - { | ||
1373 | - value=100*g_Max_volume/100 *255/100; | ||
1374 | - } | ||
1375 | - | ||
1376 | - int* set_volume_value_ptr = malloc(sizeof(int)); // 动态分配内存 | ||
1377 | - if (set_volume_value_ptr == NULL) | ||
1378 | - { | ||
1379 | - JZSDK_LOG_ERROR("设置音量失败"); | ||
1380 | - return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
1381 | - } | ||
1382 | - | ||
1383 | - *set_volume_value_ptr = value; | ||
1384 | - | ||
1385 | - int volume_ret = pthread_create(&SET_volume_task,&task_attribute,Meg_SetVolumeTask,set_volume_value_ptr); //TTS线程 | ||
1386 | - if(volume_ret != 0) | ||
1387 | - { | ||
1388 | - JZSDK_LOG_ERROR("设置音量失败"); | ||
1389 | - free(set_volume_value_ptr); | ||
1390 | - set_volume_value_ptr = NULL; | ||
1391 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
1392 | - } | ||
1393 | -} | ||
1394 | - | ||
1395 | -static T_JZsdkReturnCode Megaphone_SetTTSvolume() | ||
1396 | -{ | ||
1397 | - pthread_t SET_volume_task; | ||
1398 | - pthread_attr_t task_attribute; //线程属性 | ||
1399 | - pthread_attr_init(&task_attribute); //初始化线程属性 | ||
1400 | - pthread_attr_setdetachstate(&task_attribute, PTHREAD_CREATE_DETACHED); //设置线程属性 | ||
1401 | - | ||
1402 | - int value = now_volume; | ||
1403 | - printf("TTS音量修改\n"); | ||
1404 | - | ||
1405 | - //v3s自设系统 要提高10初始音量 | ||
1406 | - if (DEVICE_VERSION == JZ_H10T || DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) | ||
1407 | - { | ||
1408 | - if (value > 0) | ||
1409 | - { | ||
1410 | - value = 20 + value * 10/8; | ||
1411 | - } | ||
1412 | - } | ||
1413 | - | ||
1414 | - if(value<=0) | ||
1415 | - { | ||
1416 | - value=0; | ||
1417 | - } | ||
1418 | - | ||
1419 | - else if(value>0&&value<100) | ||
1420 | - { | ||
1421 | - value=value*g_TTS_Max_volume/100 *255/100; | ||
1422 | - } | ||
1423 | - | ||
1424 | - else if(value>=100) | ||
1425 | - { | ||
1426 | - value=100*g_TTS_Max_volume/100 *255/100; | ||
1427 | - } | ||
1428 | - | ||
1429 | - int* set_volume_value_ptr = malloc(sizeof(int)); // 动态分配内存 | ||
1430 | - if (set_volume_value_ptr == NULL) | ||
1431 | - { | ||
1432 | - JZSDK_LOG_ERROR("设置音量失败"); | ||
1433 | - return JZ_ERROR_SYSTEM_MODULE_CODE_INVALID_PARAMETER; | ||
1434 | - } | ||
1435 | - | ||
1436 | - *set_volume_value_ptr = value; | ||
1437 | - | ||
1438 | - int volume_ret = pthread_create(&SET_volume_task,&task_attribute,Meg_SetVolumeTask,set_volume_value_ptr); //TTS线程 | ||
1439 | - if(volume_ret != 0) | ||
1440 | - { | ||
1441 | - JZSDK_LOG_ERROR("设置音量失败"); | ||
1442 | - free(set_volume_value_ptr); | ||
1443 | - set_volume_value_ptr = NULL; | ||
1444 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
1445 | - } | ||
1446 | -} | ||
1447 | - | ||
1448 | -T_JZsdkReturnCode Meg_SetVolumeFun(int volume) | ||
1449 | -{ | ||
1450 | - char cmdBuffer[128]; | ||
1451 | - | ||
1452 | - if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T || DEVICE_VERSION == JZ_H10) | ||
1453 | - { | ||
1454 | - snprintf(cmdBuffer,128, "amixer set -c 4 Master %d",volume); | ||
1455 | - } | ||
1456 | - else if (DEVICE_VERSION == JZ_H1E || DEVICE_VERSION == JZ_H1T || DEVICE_VERSION == TF_A1) | ||
1457 | - { | ||
1458 | - snprintf(cmdBuffer,128, "amixer set -c 0 Master %d",volume); | ||
1459 | - } | ||
1460 | - else if (DEVICE_VERSION == JZ_H10T || DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) | ||
1461 | - { | ||
1462 | - snprintf(cmdBuffer,128, "amixer sset -c 0 'Headphone' %d unmute",volume); | ||
1463 | - } | ||
1464 | - | ||
1465 | - g_Megaphone_RealSetVolue = volume; | ||
1466 | - JZsdk_RunSystemCmd(cmdBuffer); | ||
1467 | - printf("线程设置音量为:%d\n",volume); | ||
1468 | -} | ||
1469 | - | ||
1470 | -static void *Meg_SetVolumeTask(void *arg) | ||
1471 | -{ | ||
1472 | - | ||
1473 | - int *volume_value = (int*)arg; | ||
1474 | - g_Megaphone_RealTargetVolume = *volume_value; //记录一下实际设置的声音大小 | ||
1475 | - | ||
1476 | - Meg_SetVolumeFun(*volume_value); | ||
1477 | - | ||
1478 | - free(volume_value); | ||
1479 | -} | ||
1480 | - | ||
1481 | -/*** | ||
1482 | - * | ||
1483 | - * | ||
1484 | - * 获取当前音量值 | ||
1485 | - * | ||
1486 | - * ***/ | ||
1487 | -int Megaphone_get_now_volume() | ||
1488 | -{ | ||
1489 | - return now_volume; | ||
1490 | -} | ||
1491 | - | ||
1492 | -/*** | ||
1493 | - * | ||
1494 | - * | ||
1495 | - * 获取实际设置音量值 | ||
1496 | - * | ||
1497 | - * ***/ | ||
1498 | -int Megaphone_get_RealSetVolume() | ||
1499 | -{ | ||
1500 | - return g_Megaphone_RealSetVolue; | ||
1501 | -} | ||
1502 | - | ||
1503 | -/*** | ||
1504 | - * | ||
1505 | - * | ||
1506 | - * 获取实际目标音量值 | ||
1507 | - * | ||
1508 | - * ***/ | ||
1509 | -int Megaphone_get_RealTargetVolume() | ||
1510 | -{ | ||
1511 | - return g_Megaphone_RealTargetVolume; | ||
1512 | -} | ||
1513 | - | ||
1514 | - | ||
1515 | -/*** | ||
1516 | - * | ||
1517 | - * 显示音量函数 范围0~100 | ||
1518 | - * 如果通过设置ui的音量 则flag = 0 | ||
1519 | - * 如果是温控调整音量,则flag = 1 | ||
1520 | - * ***/ | ||
1521 | -T_JZsdkReturnCode Megaphone_PrintVolume(int Value, int flag) | ||
1522 | -{ | ||
1523 | - | ||
1524 | - //正常设置音量 | ||
1525 | - if (flag == 0) | ||
1526 | - { | ||
1527 | - g_Megaphone_Volume = Value; | ||
1528 | - | ||
1529 | - Megaphone_SetVolume(g_Megaphone_Volume, 0); | ||
1530 | - } | ||
1531 | - | ||
1532 | - //温控调整音量 | ||
1533 | - if (flag == 1) | ||
1534 | - { | ||
1535 | - //根据调整量反应到ui界面上 | ||
1536 | - //分为文本和歌曲 | ||
1537 | - int PlayStatus = Megaphone_GetMegaphoneStatus(); | ||
1538 | - int Ui_num = 0; | ||
1539 | - int HundredMarkNum = 0; | ||
1540 | - | ||
1541 | -#if DEVICE_VERSION == JZ_H1T | ||
1542 | - HundredMarkNum = (Value * 100 /255); | ||
1543 | -#else | ||
1544 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
1545 | -#endif | ||
1546 | - | ||
1547 | - //如果是文本 | ||
1548 | - if (PlayStatus == 0x20) | ||
1549 | - { | ||
1550 | - //计算出ui值 | ||
1551 | - Ui_num = HundredMarkNum * 100 / g_TTS_Max_volume; | ||
1552 | - } | ||
1553 | - else | ||
1554 | - { | ||
1555 | - //计算出ui值 | ||
1556 | - Ui_num = HundredMarkNum * 100 / g_Max_volume; | ||
1557 | - } | ||
1558 | - | ||
1559 | - if (g_Megaphone_Volume > Ui_num) | ||
1560 | - { | ||
1561 | - g_Megaphone_Volume--; | ||
1562 | - } | ||
1563 | - else if (g_Megaphone_Volume < Ui_num) | ||
1564 | - { | ||
1565 | - g_Megaphone_Volume++; | ||
1566 | - } | ||
1567 | - else | ||
1568 | - { | ||
1569 | - return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
1570 | - } | ||
1571 | - | ||
1572 | - //修改ui值 | ||
1573 | - | ||
1574 | - //通知其他设备的ui界面变化 | ||
1575 | - //如果4G模块有启动 | ||
1576 | - if ( (JZsdk_HalPort_UseFlag(UART_4G) == JZ_FLAGCODE_ON)) | ||
1577 | - { | ||
1578 | - HalSend_type1Send_Reply_Volume(UART_4G, 0, g_Megaphone_Volume); | ||
1579 | - } | ||
1580 | - //如果设备1有启动 | ||
1581 | - if ( (JZsdk_HalPort_UseFlag(UART_DEV_1) == JZ_FLAGCODE_ON) ) | ||
1582 | - { | ||
1583 | - HalSend_type1Send_Reply_Volume(UART_DEV_1, 0, g_Megaphone_Volume); | ||
1584 | - } | ||
1585 | - //如果设备2有启动 | ||
1586 | - if ( (JZsdk_HalPort_UseFlag(UART_DEV_2) == JZ_FLAGCODE_ON) ) | ||
1587 | - { | ||
1588 | - HalSend_type1Send_Reply_Volume(UART_DEV_2, 0, g_Megaphone_Volume); | ||
1589 | - } | ||
1590 | - //如果psdk接口已经使用 | ||
1591 | - if ( (JZsdk_HalPort_UseFlag(DEVICE_PSDK) == JZ_FLAGCODE_ON)) | ||
1592 | - { | ||
1593 | - JZsdk_Psdk_UI_io_Reply_Volume(g_Megaphone_Volume); | ||
1594 | - } | ||
1595 | - } | ||
1596 | - | ||
1597 | -} | ||
1598 | - | ||
1599 | - | ||
1600 | 1226 | ||
1601 | /************************************************************************************************************************************************ | 1227 | /************************************************************************************************************************************************ |
1602 | * | 1228 | * |
@@ -1680,7 +1306,7 @@ T_JZsdkReturnCode Megaphone_PresetTask() | @@ -1680,7 +1306,7 @@ T_JZsdkReturnCode Megaphone_PresetTask() | ||
1680 | int volume = 30; //初始音量 | 1306 | int volume = 30; //初始音量 |
1681 | while (PrsetTask_GetPrsetTaskFlag() == JZ_FLAGCODE_ON && volume <=100) | 1307 | while (PrsetTask_GetPrsetTaskFlag() == JZ_FLAGCODE_ON && volume <=100) |
1682 | { | 1308 | { |
1683 | - UIcontrol_SetVolume(NO_SPECIFIED, volume); | 1309 | + UIcontrol_SetVolume(NO_SPECIFIED, volume, JZ_FLAGCODE_ON); |
1684 | volume += 10; | 1310 | volume += 10; |
1685 | delayS(5); | 1311 | delayS(5); |
1686 | } | 1312 | } |
@@ -92,7 +92,6 @@ T_JZsdkReturnCode Megaphone_PlayNextSong(); | @@ -92,7 +92,6 @@ T_JZsdkReturnCode Megaphone_PlayNextSong(); | ||
92 | T_JZsdkReturnCode Megaphone_PlayContinue(); | 92 | T_JZsdkReturnCode Megaphone_PlayContinue(); |
93 | T_JZsdkReturnCode Megaphone_PlayPause(); | 93 | T_JZsdkReturnCode Megaphone_PlayPause(); |
94 | int Megaphone_GetMegaphoneStatus(); | 94 | int Megaphone_GetMegaphoneStatus(); |
95 | -int Megaphone_get_now_volume(); | ||
96 | T_JZsdkReturnCode Megaphone_SetVolume(int value, int mode);//设置音量,音量0-100,默认音量value==10。 | 95 | T_JZsdkReturnCode Megaphone_SetVolume(int value, int mode);//设置音量,音量0-100,默认音量value==10。 |
97 | 96 | ||
98 | 97 | ||
@@ -142,7 +141,6 @@ T_JZsdkReturnCode Start_voice(); | @@ -142,7 +141,6 @@ T_JZsdkReturnCode Start_voice(); | ||
142 | T_JZsdkReturnCode Meg_SetVolumeFun(int volume); | 141 | T_JZsdkReturnCode Meg_SetVolumeFun(int volume); |
143 | int Megaphone_get_RealSetVolume(); | 142 | int Megaphone_get_RealSetVolume(); |
144 | int Megaphone_get_RealTargetVolume(); | 143 | int Megaphone_get_RealTargetVolume(); |
145 | -T_JZsdkReturnCode Megaphone_PrintVolume(int Value, int flag); | ||
146 | 144 | ||
147 | 145 | ||
148 | T_JZsdkReturnCode Megaphone_PresetTask(); | 146 | T_JZsdkReturnCode Megaphone_PresetTask(); |
1 | +#include "JZsdkLib.h" | ||
2 | +#include "Megaphone/Volume/volume.h" | ||
3 | +#include "Megaphone/Megaphone.h" | ||
4 | + | ||
5 | +static double PowerSimulation = 0; //用于模拟喊话器功率状态 | ||
6 | + | ||
7 | +static void *JZsdk_PowerSimulationThread(void *args) | ||
8 | +{ | ||
9 | + T_JZsdkOsalHandler *OsalHandle = JZsdk_Platform_GetOsalHandler(); | ||
10 | + | ||
11 | + while(1) | ||
12 | + { | ||
13 | + //获取当前播放状态 | ||
14 | + int play_status = Megaphone_GetMegaphoneStatus(); | ||
15 | + | ||
16 | + //生产一个随机数 | ||
17 | + U16_t randomNum; | ||
18 | + OsalHandle->GetRandomNum(&randomNum); // 获取 0~65535 的随机数 | ||
19 | + | ||
20 | + // 转换为 [0.5, 1.2) 范围 | ||
21 | + double normalized = 0.5 + ((double)randomNum / 65535.0) * 0.7; | ||
22 | + | ||
23 | + //获取音量百分比 | ||
24 | + int volume = Megaphone_GetUiVolume(); | ||
25 | + double _volume = (double)volume / 100; | ||
26 | + if (_volume < 0.1) | ||
27 | + { | ||
28 | + _volume = 0.1; | ||
29 | + } | ||
30 | + | ||
31 | + if (play_status == AUDIO_PLAY_STATUS_IDLE) | ||
32 | + { | ||
33 | + PowerSimulation = 25 * 0.1 * normalized; | ||
34 | + } | ||
35 | + else | ||
36 | + { | ||
37 | + PowerSimulation = 25* _volume * normalized; | ||
38 | + } | ||
39 | + | ||
40 | + //printf("PowerSimulation:%0.1f\n",PowerSimulation); | ||
41 | + | ||
42 | + OsalHandle->TaskSleepMs(1000); | ||
43 | + } | ||
44 | +} | ||
45 | + | ||
46 | +//获取模拟功率 | ||
47 | +double JZsdk_GetMagaphonePowerSimulation() | ||
48 | +{ | ||
49 | + return PowerSimulation; | ||
50 | +} | ||
51 | + | ||
52 | +static T_JZsdkReturnCode PowerSimulation_Init() | ||
53 | +{ | ||
54 | + T_JZsdkOsalHandler *OsalHandle = JZsdk_Platform_GetOsalHandler(); | ||
55 | + | ||
56 | + T_JZTaskHandle single_task = NULL; | ||
57 | + OsalHandle->TaskCreate("PowerSimulation", JZsdk_PowerSimulationThread, 8192, NULL , &single_task); | ||
58 | + | ||
59 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
60 | +} |
@@ -16,13 +16,11 @@ static int g_tts_add = JZ_FLAGCODE_OFF; //追加声音 | @@ -16,13 +16,11 @@ static int g_tts_add = JZ_FLAGCODE_OFF; //追加声音 | ||
16 | **********/ | 16 | **********/ |
17 | T_JZsdkReturnCode Megaphone_TTS_Init() | 17 | T_JZsdkReturnCode Megaphone_TTS_Init() |
18 | { | 18 | { |
19 | - int OriginValue = FOMAT_Get_FirewareOriginRegion(); | 19 | + //讯飞初始化 |
20 | Megaphone_cnTTS_Init(); | 20 | Megaphone_cnTTS_Init(); |
21 | - if (OriginValue != ORIGIN_CN) | ||
22 | - { | ||
23 | - //海外固件,外语初始化 | ||
24 | - Espeak_init(); | ||
25 | - } | 21 | + |
22 | + //海外固件,外语初始化 | ||
23 | + Espeak_init(); | ||
26 | 24 | ||
27 | JZSDK_LOG_DEBUG("Megaphone_TTS_Init"); | 25 | JZSDK_LOG_DEBUG("Megaphone_TTS_Init"); |
28 | } | 26 | } |
@@ -203,6 +203,31 @@ static T_JZsdkReturnCode TTS_GetSoundSource(int tone,unsigned char *name_tts, un | @@ -203,6 +203,31 @@ static T_JZsdkReturnCode TTS_GetSoundSource(int tone,unsigned char *name_tts, un | ||
203 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 203 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
204 | } | 204 | } |
205 | 205 | ||
206 | +static void remove_letters(char *str) | ||
207 | +{ | ||
208 | + if (str == NULL) return; | ||
209 | + | ||
210 | + int i = 0, j = 0; | ||
211 | + while (str[i] != '\0') { | ||
212 | + // 如果是多字节字符(如中文),直接保留(UTF-8 的高位为 1) | ||
213 | + if ((str[i] & 0x80) != 0) { | ||
214 | + // 复制完整的 UTF-8 字符(可能占 2~4 字节) | ||
215 | + do { | ||
216 | + str[j++] = str[i++]; | ||
217 | + } while ((str[i] & 0xC0) == 0x80); // 继续复制后续字节 | ||
218 | + } | ||
219 | + // 如果是 ASCII 字符且不是字母,则保留 | ||
220 | + else if (!isalpha(str[i])) { | ||
221 | + str[j++] = str[i++]; | ||
222 | + } | ||
223 | + // 如果是字母,跳过 | ||
224 | + else { | ||
225 | + i++; | ||
226 | + } | ||
227 | + } | ||
228 | + str[j] = '\0'; // 终止字符串 | ||
229 | +} | ||
230 | + | ||
206 | static T_JZsdkReturnCode TTS_FILE_GenerateAndPlay(struct t_Megaphone_tts_param *Megaphone_tts_param) | 231 | static T_JZsdkReturnCode TTS_FILE_GenerateAndPlay(struct t_Megaphone_tts_param *Megaphone_tts_param) |
207 | { | 232 | { |
208 | int tone = Megaphone_tts_param->tts_tone; | 233 | int tone = Megaphone_tts_param->tts_tone; |
@@ -223,6 +248,12 @@ static T_JZsdkReturnCode TTS_FILE_GenerateAndPlay(struct t_Megaphone_tts_param * | @@ -223,6 +248,12 @@ static T_JZsdkReturnCode TTS_FILE_GenerateAndPlay(struct t_Megaphone_tts_param * | ||
223 | //获取音源,以及规则 | 248 | //获取音源,以及规则 |
224 | TTS_GetSoundSource(tone, name_tts, name_path, rule); | 249 | TTS_GetSoundSource(tone, name_tts, name_path, rule); |
225 | 250 | ||
251 | + //如果是方言和男生,则去掉字母 | ||
252 | + if (tone == 0x31 || tone == 0x32 || tone == 0x33 || tone == 0x34 || tone == 0x35 || tone == 0x36 || tone == 0x02) | ||
253 | + { | ||
254 | + remove_letters(argv); | ||
255 | + } | ||
256 | + | ||
226 | //配置合成参数 | 257 | //配置合成参数 |
227 | snprintf(session_begin_params,512, | 258 | snprintf(session_begin_params,512, |
228 | "engine_type = local,voice_name=%s, text_encoding = UTF8, tts_res_path = %s;fo|%s, sample_rate = 16000, speed = %d, volume = %d, pitch = 50, rdn = 2" | 259 | "engine_type = local,voice_name=%s, text_encoding = UTF8, tts_res_path = %s;fo|%s, sample_rate = 16000, speed = %d, volume = %d, pitch = 50, rdn = 2" |
@@ -307,7 +338,7 @@ static void *Play_cntts_pthread(void *arg) | @@ -307,7 +338,7 @@ static void *Play_cntts_pthread(void *arg) | ||
307 | JZsdk_Free(Megaphone_tts_param); | 338 | JZsdk_Free(Megaphone_tts_param); |
308 | 339 | ||
309 | //恢复音量 | 340 | //恢复音量 |
310 | - int audio_volume = Megaphone_get_now_volume(); | 341 | + int audio_volume = Megaphone_GetUiVolume(); |
311 | Megaphone_SetVolume(audio_volume,0); | 342 | Megaphone_SetVolume(audio_volume,0); |
312 | 343 | ||
313 | amplifier = JZ_FLAGCODE_OFF; | 344 | amplifier = JZ_FLAGCODE_OFF; |
@@ -23,20 +23,29 @@ extern "C" { | @@ -23,20 +23,29 @@ extern "C" { | ||
23 | /* 常亮定义*/ | 23 | /* 常亮定义*/ |
24 | 24 | ||
25 | #if DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T | 25 | #if DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T |
26 | - #define MAX_VOLUME (61) | ||
27 | - #define MAX_TTS_VOLUME (75) | 26 | + // #define MAX_VOLUME (61) |
27 | + // #define MAX_TTS_VOLUME (75) | ||
28 | + | ||
29 | + //2025 4 10 改滤波 降低到90% | ||
30 | + #define MAX_VOLUME (51) | ||
31 | + #define MAX_TTS_VOLUME (60) | ||
32 | + | ||
28 | #elif DEVICE_VERSION == JZ_H1E | 33 | #elif DEVICE_VERSION == JZ_H1E |
29 | - #define MAX_VOLUME (75) | ||
30 | - #define MAX_TTS_VOLUME (82) | 34 | + // #define MAX_VOLUME (75) |
35 | + // #define MAX_TTS_VOLUME (82) | ||
36 | + | ||
37 | + //2025 4 10 改滤波 降低到80% | ||
38 | + #define MAX_VOLUME (61) | ||
39 | + #define MAX_TTS_VOLUME (66) | ||
40 | + | ||
31 | #elif DEVICE_VERSION == JZ_H1T | 41 | #elif DEVICE_VERSION == JZ_H1T |
32 | // #define MAX_VOLUME 75 | 42 | // #define MAX_VOLUME 75 |
33 | // #define MAX_TTS_VOLUME 84 | 43 | // #define MAX_TTS_VOLUME 84 |
34 | 44 | ||
35 | - //新班子 116.8 | ||
36 | - //95 115.7 | ||
37 | - //90 | ||
38 | - #define MAX_VOLUME 82 | ||
39 | - #define MAX_TTS_VOLUME 92 | 45 | + //2025 4 10 改滤波 降低到u85% |
46 | + #define MAX_VOLUME (61) | ||
47 | + #define MAX_TTS_VOLUME (69) | ||
48 | + | ||
40 | // #define MAX_VOLUME 100 | 49 | // #define MAX_VOLUME 100 |
41 | // #define MAX_TTS_VOLUME 100 | 50 | // #define MAX_TTS_VOLUME 100 |
42 | 51 |
Module/Megaphone/Volume/volume.c
0 → 100644
1 | +#include "JZsdkLib.h" | ||
2 | +#include "Megaphone.h" | ||
3 | +#include "./VolumeLimit.h" | ||
4 | + | ||
5 | + | ||
6 | +//喊话器的ui音量 | ||
7 | +static int g_Megaphone_Volume = 30; | ||
8 | + | ||
9 | +//喊话器的设置目标音量 | ||
10 | +static int g_Megaphone_RealTargetVolume = 30; | ||
11 | + | ||
12 | +//喊话器的实际音量 | ||
13 | +static int g_Megaphone_RealSetVolume = 30; | ||
14 | + | ||
15 | +//用于存储tts最大音量限制 | ||
16 | +static int g_TTS_Max_volume = 0; | ||
17 | + | ||
18 | +//用于存储音频最大音量限制 | ||
19 | +static int g_Max_volume = 0; | ||
20 | + | ||
21 | +//系统音量值 | ||
22 | +static int system_volume = 0; | ||
23 | + | ||
24 | +T_JZsdkReturnCode Meg_SetVolumeFun(int volume) | ||
25 | +{ | ||
26 | + char cmdBuffer[128]; | ||
27 | + | ||
28 | + if (DEVICE_VERSION == JZ_H150S || DEVICE_VERSION == JZ_H150T || DEVICE_VERSION == JZ_H10) | ||
29 | + { | ||
30 | + snprintf(cmdBuffer,128, "amixer set -c 4 Master %d",volume); | ||
31 | + } | ||
32 | + else if (DEVICE_VERSION == JZ_H1E || DEVICE_VERSION == JZ_H1T || DEVICE_VERSION == TF_A1) | ||
33 | + { | ||
34 | + snprintf(cmdBuffer,128, "amixer set -c 0 Master %d",volume); | ||
35 | + } | ||
36 | + else if (DEVICE_VERSION == JZ_H10T || DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) | ||
37 | + { | ||
38 | + snprintf(cmdBuffer,128, "amixer sset -c 0 'Headphone' %d unmute",volume); | ||
39 | + } | ||
40 | + | ||
41 | + g_Megaphone_RealSetVolume = volume; | ||
42 | + JZsdk_RunSystemCmd(cmdBuffer); | ||
43 | + printf("线程设置音量为:%d\n",volume); | ||
44 | +} | ||
45 | + | ||
46 | +// static void *Meg_VolumeSetThread(void *args) | ||
47 | +// { | ||
48 | +// T_JZsdkOsalHandler *OsalHandle = JZsdk_Platform_GetOsalHandler(); | ||
49 | +// if (OsalHandle == NULL) | ||
50 | +// { | ||
51 | +// JZSDK_LOG_ERROR("获取OsalHandle失败"); | ||
52 | +// return NULL; | ||
53 | +// } | ||
54 | + | ||
55 | +// int last_system_volume = 0; | ||
56 | + | ||
57 | +// while(1) | ||
58 | +// { | ||
59 | +// if (last_system_volume != system_volume) | ||
60 | +// { | ||
61 | +// Meg_SetVolumeFun(system_volume); | ||
62 | +// last_system_volume = system_volume; | ||
63 | +// } | ||
64 | + | ||
65 | +// //每毫秒检查一次音量 | ||
66 | +// OsalHandle->TaskSleepMs(1); | ||
67 | +// } | ||
68 | +// } | ||
69 | + | ||
70 | +static void *Meg_VolumeSetThread(void *args) | ||
71 | +{ | ||
72 | + int *value = (int *)args; | ||
73 | + Meg_SetVolumeFun(*value); | ||
74 | + free(value); | ||
75 | + value = NULL; | ||
76 | +} | ||
77 | + | ||
78 | +static T_JZsdkReturnCode Megaphone_SetSystemVolume_byThread(int systemVolume) | ||
79 | +{ | ||
80 | + | ||
81 | + T_JZsdkOsalHandler *OsalHandle = JZsdk_Platform_GetOsalHandler(); | ||
82 | + if (OsalHandle == NULL) | ||
83 | + { | ||
84 | + JZSDK_LOG_ERROR("获取OsalHandle失败"); | ||
85 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
86 | + } | ||
87 | + | ||
88 | + T_JZTaskHandle Meg_Volume_task = NULL; | ||
89 | + int *value = (int *)malloc(sizeof(int)); | ||
90 | + *value = systemVolume; | ||
91 | + OsalHandle->TaskCreate("Meg_Volume_task", Meg_VolumeSetThread, 8192, (void *)value , &Meg_Volume_task); | ||
92 | + | ||
93 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
94 | + | ||
95 | +} | ||
96 | + | ||
97 | +/************* | ||
98 | + * | ||
99 | + * | ||
100 | + * 音量线程的入口 | ||
101 | + * | ||
102 | + * **********/ | ||
103 | +T_JZsdkReturnCode Megaphone_SetSystemVolume(int systemVolume) | ||
104 | +{ | ||
105 | + //system_volume = systemVolume; | ||
106 | + Meg_SetVolumeFun(systemVolume); | ||
107 | +} | ||
108 | + | ||
109 | +/***************** | ||
110 | + * | ||
111 | + * 调节文本的音量,文本的音量和音乐的音量是不同的 | ||
112 | + * | ||
113 | + * ******************/ | ||
114 | +static T_JZsdkReturnCode Megaphone_SetTTSvolume() | ||
115 | +{ | ||
116 | + int value = g_Megaphone_Volume; | ||
117 | + printf("TTS音量修改\n"); | ||
118 | + | ||
119 | + //v3s自设系统 要提高10初始音量 | ||
120 | + if (DEVICE_VERSION == JZ_H10T || DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) | ||
121 | + { | ||
122 | + if (value > 0) | ||
123 | + { | ||
124 | + value = 20 + value * 10/8; | ||
125 | + } | ||
126 | + } | ||
127 | + | ||
128 | + if(value<=0) | ||
129 | + { | ||
130 | + value=0; | ||
131 | + } | ||
132 | + | ||
133 | + else if(value>0&&value<100) | ||
134 | + { | ||
135 | + value=value*g_TTS_Max_volume/100 *255/100; | ||
136 | + } | ||
137 | + | ||
138 | + else if(value>=100) | ||
139 | + { | ||
140 | + value=100*g_TTS_Max_volume/100 *255/100; | ||
141 | + } | ||
142 | + | ||
143 | + g_Megaphone_RealTargetVolume = value; | ||
144 | + Megaphone_SetSystemVolume_byThread(value); | ||
145 | + | ||
146 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
147 | +} | ||
148 | + | ||
149 | + | ||
150 | +/********************* | ||
151 | + * | ||
152 | + * mode == 0 正常调音量 | ||
153 | + * mode == 1 tts调音量 | ||
154 | + * | ||
155 | + * ************************/ | ||
156 | +T_JZsdkReturnCode Megaphone_SetVolume(int value, int mode)//设置音量,音量0-100,默认音量value==10。 | ||
157 | +{ | ||
158 | + | ||
159 | + if (mode == 1) | ||
160 | + { | ||
161 | + printf("设置文本音量"); | ||
162 | + | ||
163 | + return Megaphone_SetTTSvolume(); | ||
164 | + } | ||
165 | + | ||
166 | + printf("设置音量,传入的值:%d\n",value); | ||
167 | + | ||
168 | + g_Megaphone_Volume = value;//获取当前音量 | ||
169 | + | ||
170 | + //v3s自设系统 要提高10初始音量 | ||
171 | + if (DEVICE_VERSION == JZ_H10T || DEVICE_VERSION == JZ_U3 || DEVICE_VERSION == JZ_U3S || DEVICE_VERSION == JZ_U3D || DEVICE_VERSION == JZ_U30) | ||
172 | + { | ||
173 | + if (value > 0) | ||
174 | + { | ||
175 | + value = 20 + value * 10/8; | ||
176 | + } | ||
177 | + } | ||
178 | + | ||
179 | + if(value<=0) | ||
180 | + { | ||
181 | + value=0; | ||
182 | + } | ||
183 | + | ||
184 | + else if(value>0&&value<100) | ||
185 | + { | ||
186 | + value=value*g_Max_volume/100 *255/100; | ||
187 | + } | ||
188 | + | ||
189 | + else if(value>=100) | ||
190 | + { | ||
191 | + value=100*g_Max_volume/100 *255/100; | ||
192 | + } | ||
193 | + | ||
194 | + g_Megaphone_RealTargetVolume = value; | ||
195 | + Megaphone_SetSystemVolume_byThread(value); | ||
196 | + | ||
197 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
198 | +} | ||
199 | + | ||
200 | +/***************** | ||
201 | + * | ||
202 | + * 温控控制音量 UI 变化 | ||
203 | + * | ||
204 | + * | ||
205 | + * *************/ | ||
206 | +T_JZsdkReturnCode Meg_TempControlVolumeUi(int value) | ||
207 | +{ | ||
208 | + //根据调整量反应到ui界面上 | ||
209 | + //分为文本和歌曲 | ||
210 | + int PlayStatus = Megaphone_GetMegaphoneStatus(); | ||
211 | + int Ui_num = 0; | ||
212 | + int HundredMarkNum = 0; | ||
213 | + | ||
214 | +#if DEVICE_VERSION == JZ_H1T | ||
215 | + HundredMarkNum = (value * 100 /255); | ||
216 | +#else | ||
217 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
218 | +#endif | ||
219 | + | ||
220 | + //如果是文本 | ||
221 | + if (PlayStatus == 0x20) | ||
222 | + { | ||
223 | + //计算出ui值 | ||
224 | + Ui_num = HundredMarkNum * 100 / g_TTS_Max_volume; | ||
225 | + } | ||
226 | + else | ||
227 | + { | ||
228 | + //计算出ui值 | ||
229 | + Ui_num = HundredMarkNum * 100 / g_Max_volume; | ||
230 | + } | ||
231 | + | ||
232 | + if (g_Megaphone_Volume > Ui_num) | ||
233 | + { | ||
234 | + g_Megaphone_Volume--; | ||
235 | + } | ||
236 | + else if (g_Megaphone_Volume < Ui_num) | ||
237 | + { | ||
238 | + g_Megaphone_Volume++; | ||
239 | + } | ||
240 | + else | ||
241 | + { | ||
242 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
243 | + } | ||
244 | + | ||
245 | + //修改ui值, | ||
246 | + UIcontrol_SetVolume(NO_SPECIFIED, JZ_FLAGCODE_OFF, JZ_FLAGCODE_OFF); | ||
247 | +} | ||
248 | + | ||
249 | + | ||
250 | + | ||
251 | +/********************* | ||
252 | + * | ||
253 | + * 最大音量加载 | ||
254 | + * | ||
255 | + * ***********************/ | ||
256 | +static T_JZsdkReturnCode Megaphone_MaxVolume_Init() | ||
257 | +{ | ||
258 | + g_Max_volume = MAX_VOLUME; | ||
259 | + g_TTS_Max_volume = MAX_TTS_VOLUME; | ||
260 | + | ||
261 | + if (DEVICE_VERSION == JZ_H1T) | ||
262 | + { | ||
263 | + //检索版本号,从2板子改成1板子的h1t改动 | ||
264 | + if (HardwareInfo_GetVersion(0) == 0x01 | ||
265 | + && HardwareInfo_GetVersion(1) == 0x02 | ||
266 | + && HardwareInfo_GetVersion(2) == 0x00 | ||
267 | + && HardwareInfo_GetVersion(3) == 0x00 | ||
268 | + ) | ||
269 | + { | ||
270 | + g_Max_volume = MAX_VOLUME; | ||
271 | + g_TTS_Max_volume = MAX_TTS_VOLUME; | ||
272 | + } | ||
273 | + | ||
274 | + //检索版本号,振膜更换版本 | ||
275 | + else if (HardwareInfo_GetVersion(0) == 25 | ||
276 | + && HardwareInfo_GetVersion(1) == 04 | ||
277 | + && HardwareInfo_GetVersion(2) == 21 | ||
278 | + && HardwareInfo_GetVersion(3) == 0x00 | ||
279 | + ) | ||
280 | + { | ||
281 | + g_Max_volume = MAX_VOLUME * 100 / 94; | ||
282 | + g_TTS_Max_volume = MAX_TTS_VOLUME * 100 / 94; | ||
283 | + } | ||
284 | + | ||
285 | + //最初的h1t板子音量 | ||
286 | + else | ||
287 | + { | ||
288 | + g_Max_volume = 70; | ||
289 | + g_TTS_Max_volume = 78; | ||
290 | + } | ||
291 | + } | ||
292 | + | ||
293 | + else if(DEVICE_VERSION == JZ_H1E) | ||
294 | + { | ||
295 | + //检索版本号,振膜更换版本 | ||
296 | + if (HardwareInfo_GetVersion(0) == 25 | ||
297 | + && HardwareInfo_GetVersion(1) == 04 | ||
298 | + && HardwareInfo_GetVersion(2) == 21 | ||
299 | + && HardwareInfo_GetVersion(3) == 0x00 | ||
300 | + ) | ||
301 | + { | ||
302 | + g_Max_volume = MAX_VOLUME * 100 / 94; | ||
303 | + g_TTS_Max_volume = MAX_TTS_VOLUME * 100 / 94; | ||
304 | + } | ||
305 | + | ||
306 | + else | ||
307 | + { | ||
308 | + g_Max_volume = MAX_VOLUME; | ||
309 | + g_TTS_Max_volume = MAX_TTS_VOLUME; | ||
310 | + } | ||
311 | + } | ||
312 | + | ||
313 | + else if (DEBUG_VERSION == JZ_H150S / JZ_H150T) | ||
314 | + { | ||
315 | + //检索版本号,振膜更换版本 | ||
316 | + if (HardwareInfo_GetVersion(0) == 25 | ||
317 | + && HardwareInfo_GetVersion(1) == 04 | ||
318 | + && HardwareInfo_GetVersion(2) == 21 | ||
319 | + && HardwareInfo_GetVersion(3) == 0x00 | ||
320 | + ) | ||
321 | + { | ||
322 | + g_Max_volume = MAX_VOLUME * 100 / 94; | ||
323 | + g_TTS_Max_volume = MAX_TTS_VOLUME * 100 / 94; | ||
324 | + } | ||
325 | + | ||
326 | + else | ||
327 | + { | ||
328 | + g_Max_volume = MAX_VOLUME; | ||
329 | + g_TTS_Max_volume = MAX_TTS_VOLUME; | ||
330 | + } | ||
331 | + } | ||
332 | + | ||
333 | + JZSDK_LOG_INFO("MaxV:%d MaxTTS_V:%d",g_Max_volume, g_TTS_Max_volume); | ||
334 | + | ||
335 | + return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | ||
336 | +} | ||
337 | + | ||
338 | + | ||
339 | + | ||
340 | +/* | ||
341 | + | ||
342 | + 函数功能:喊话器音量模块初始化 | ||
343 | + | ||
344 | +*/ | ||
345 | +T_JZsdkReturnCode Megaphone_Volume_Init() | ||
346 | +{ | ||
347 | + //加载音量限制 | ||
348 | + Megaphone_MaxVolume_Init(); | ||
349 | + | ||
350 | + //加载音量设置线程 | ||
351 | + T_JZsdkOsalHandler *OsalHandle = JZsdk_Platform_GetOsalHandler(); | ||
352 | + if (OsalHandle == NULL) | ||
353 | + { | ||
354 | + JZSDK_LOG_ERROR("获取OsalHandle失败"); | ||
355 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
356 | + } | ||
357 | + | ||
358 | + // T_JZTaskHandle Meg_Volume_task = NULL; | ||
359 | + // OsalHandle->TaskCreate("Meg_Volume_task", Meg_VolumeSetThread, 8192, NULL , &Meg_Volume_task); | ||
360 | + | ||
361 | + //设置喊话器默认音量 | ||
362 | + Megaphone_SetVolume(30, 0); | ||
363 | +} | ||
364 | + | ||
365 | + | ||
366 | + | ||
367 | + | ||
368 | + | ||
369 | + | ||
370 | + | ||
371 | +/*************** | ||
372 | + * | ||
373 | + * 获取ui音量 | ||
374 | + * | ||
375 | + * | ||
376 | + * ********************/ | ||
377 | +int Megaphone_GetUiVolume() | ||
378 | +{ | ||
379 | + return g_Megaphone_Volume; | ||
380 | +} | ||
381 | + | ||
382 | +/*** | ||
383 | + * | ||
384 | + * | ||
385 | + * 获取实际设置音量值,用于温控 | ||
386 | + * | ||
387 | + * ***/ | ||
388 | +int Megaphone_get_RealSetVolume() | ||
389 | +{ | ||
390 | + return g_Megaphone_RealSetVolume; | ||
391 | +} | ||
392 | + | ||
393 | +/*** | ||
394 | + * | ||
395 | + * | ||
396 | + * 获取实际目标音量值,用于温控 | ||
397 | + * | ||
398 | + * ***/ | ||
399 | +int Megaphone_get_RealTargetVolume() | ||
400 | +{ | ||
401 | + return g_Megaphone_RealTargetVolume; | ||
402 | +} | ||
403 | + | ||
404 | + |
Module/Megaphone/Volume/volume.h
0 → 100644
1 | +/** | ||
2 | + ******************************************************************** | ||
3 | + * @file volume.h | ||
4 | + * volume.c 的头文件 | ||
5 | + * | ||
6 | + ********************************************************************* | ||
7 | + */ | ||
8 | + | ||
9 | +/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/ | ||
10 | +#ifndef VOLUME_H | ||
11 | +#define VOLUME_H | ||
12 | + | ||
13 | +/* Includes ------------------------------------------------------------------*/ | ||
14 | +#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h" | ||
15 | + | ||
16 | +#ifdef __cplusplus | ||
17 | +extern "C" { | ||
18 | +#endif | ||
19 | + | ||
20 | +/* Exported constants --------------------------------------------------------*/ | ||
21 | +/* 常亮定义*/ | ||
22 | + | ||
23 | + | ||
24 | +/* Exported types ------------------------------------------------------------*/ | ||
25 | + | ||
26 | +/* Exported functions --------------------------------------------------------*/ | ||
27 | +T_JZsdkReturnCode Megaphone_Volume_Init(); | ||
28 | +int Megaphone_GetUiVolume(); | ||
29 | +T_JZsdkReturnCode Megaphone_SetVolume(int value, int mode); //设置音量,音量0-100,默认音量value==10。 | ||
30 | +int Megaphone_GetUiVolume(); | ||
31 | +int Megaphone_get_RealSetVolume(); | ||
32 | +int Megaphone_get_RealTargetVolume(); | ||
33 | +T_JZsdkReturnCode Meg_TempControlVolumeUi(int value); | ||
34 | +T_JZsdkReturnCode Megaphone_SetSystemVolume(int systemVolume); | ||
35 | + | ||
36 | + | ||
37 | +#ifdef __cplusplus | ||
38 | +} | ||
39 | +#endif | ||
40 | + | ||
41 | +#endif |
@@ -27,6 +27,7 @@ static int Opus_RealTimeVoice_Loop_Head = 0; //池数头 | @@ -27,6 +27,7 @@ static int Opus_RealTimeVoice_Loop_Head = 0; //池数头 | ||
27 | static int Opus_RealTimeVoice_Loop_End = 0; //池数尾 | 27 | static int Opus_RealTimeVoice_Loop_End = 0; //池数尾 |
28 | static int Opus_RealTimeVoice_LoopReadFlag=0;//读取标志位0为停止,1为开始 | 28 | static int Opus_RealTimeVoice_LoopReadFlag=0;//读取标志位0为停止,1为开始 |
29 | static int Opus_RealTimeVoice_LoopReadStopFlag = 0; | 29 | static int Opus_RealTimeVoice_LoopReadStopFlag = 0; |
30 | +static int decode_error_count = 0; //解码错误计数 | ||
30 | 31 | ||
31 | static T_JZsdkReturnCode Opus_RealTimeVoice_DecodeAndPlay_init(); | 32 | static T_JZsdkReturnCode Opus_RealTimeVoice_DecodeAndPlay_init(); |
32 | static T_JZsdkReturnCode Opus_RealTimeVoice_ClearLoop(); | 33 | static T_JZsdkReturnCode Opus_RealTimeVoice_ClearLoop(); |
@@ -34,7 +35,8 @@ static void *Opus_RealTimeVoice_LoopPlay(void *arg); | @@ -34,7 +35,8 @@ static void *Opus_RealTimeVoice_LoopPlay(void *arg); | ||
34 | static T_JZsdkReturnCode Opus_RealTimeVoice_PlayLoop_HeadReset(); | 35 | static T_JZsdkReturnCode Opus_RealTimeVoice_PlayLoop_HeadReset(); |
35 | 36 | ||
36 | //写入数据部分 | 37 | //写入数据部分 |
37 | -static unsigned char Opus_RealTimeVoice_WriteDataLoop[ (15 + 1) ][80];//写入缓存池 最高同时存15组数据 用于写入缓冲 | 38 | +#define WRTTE_MAX_DATA_GROUP 15 |
39 | +static unsigned char Opus_RealTimeVoice_WriteDataLoop[ (WRTTE_MAX_DATA_GROUP + 1) ][80];//写入缓存池 最高同时存WRTTE_MAX_DATA_GROUP组数据 用于写入缓冲 | ||
38 | static int Opus_RealTimeVoice_WriteData_LoopHead = 0; //池数头 | 40 | static int Opus_RealTimeVoice_WriteData_LoopHead = 0; //池数头 |
39 | static int Opus_RealTimeVoice_WriteData_LoopEnd = 0; //池数尾 | 41 | static int Opus_RealTimeVoice_WriteData_LoopEnd = 0; //池数尾 |
40 | static int Opus_RealTimeVoice_WriteData_ResidueLenth; // 写入缓存池池子残余物长度 | 42 | static int Opus_RealTimeVoice_WriteData_ResidueLenth; // 写入缓存池池子残余物长度 |
@@ -165,18 +167,53 @@ static T_JZsdkReturnCode Opus_RealTimeVoice_PlayData(unsigned char *data,int len | @@ -165,18 +167,53 @@ static T_JZsdkReturnCode Opus_RealTimeVoice_PlayData(unsigned char *data,int len | ||
165 | int frame_size; | 167 | int frame_size; |
166 | opus_int16 out[WIDGET_SPEAKER_AUDIO_OPUS_MAX_FRAME_SIZE * WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS ]; | 168 | opus_int16 out[WIDGET_SPEAKER_AUDIO_OPUS_MAX_FRAME_SIZE * WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS ]; |
167 | 169 | ||
170 | + int decodeErrorFlag = JZ_FLAGCODE_OFF; | ||
171 | + | ||
168 | //解码 | 172 | //解码 |
169 | frame_size = opus_decode(Opus_RealTimeVoice_decoder, (const unsigned char *)data, len, out, WIDGET_SPEAKER_AUDIO_OPUS_MAX_FRAME_SIZE, 0); | 173 | frame_size = opus_decode(Opus_RealTimeVoice_decoder, (const unsigned char *)data, len, out, WIDGET_SPEAKER_AUDIO_OPUS_MAX_FRAME_SIZE, 0); |
170 | - if (frame_size < 0) { | ||
171 | - JZSDK_LOG_ERROR("decoder failed"); | ||
172 | - return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | 174 | + if (frame_size < 0) |
175 | + { | ||
176 | + decodeErrorFlag = JZ_FLAGCODE_ON; | ||
177 | + | ||
178 | + switch (frame_size) | ||
179 | + { | ||
180 | + case OPUS_BAD_ARG: | ||
181 | + JZSDK_LOG_ERROR("decoder failed: OPUS_BAD_ARG 一个或多个参数无效"); | ||
182 | + break; | ||
183 | + | ||
184 | + case OPUS_BUFFER_TOO_SMALL: | ||
185 | + JZSDK_LOG_ERROR("decoder failed: OPUS_BUFFER_TOO_SMALL 输出缓冲区不足"); | ||
186 | + break; | ||
187 | + | ||
188 | + case OPUS_INTERNAL_ERROR: | ||
189 | + JZSDK_LOG_ERROR("decoder failed: OPUS_INTERNAL_ERROR Opus内部错误"); | ||
190 | + break; | ||
191 | + | ||
192 | + case OPUS_INVALID_PACKET: | ||
193 | + JZSDK_LOG_ERROR("decoder failed: OPUS_INVALID_PACKET 压缩数据损坏或无效"); | ||
194 | + break; | ||
195 | + | ||
196 | + case OPUS_UNIMPLEMENTED: | ||
197 | + JZSDK_LOG_ERROR("decoder failed: OPUS_UNIMPLEMENTED 不支持的特性/模式"); | ||
198 | + break; | ||
199 | + | ||
200 | + case OPUS_INVALID_STATE: | ||
201 | + JZSDK_LOG_ERROR("decoder failed: OPUS_INVALID_STATE 解码器处于无效状态"); | ||
202 | + break; | ||
203 | + | ||
204 | + default: | ||
205 | + JZSDK_LOG_ERROR("decoder failed"); | ||
206 | + break; | ||
207 | + } | ||
208 | + | ||
209 | + // 解码失败时生成静音数据 | ||
210 | + memset(out, 0, sizeof(opus_int16) * WIDGET_SPEAKER_AUDIO_OPUS_MAX_FRAME_SIZE * WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS); | ||
211 | + frame_size = WIDGET_SPEAKER_AUDIO_OPUS_MAX_FRAME_SIZE; | ||
173 | } | 212 | } |
174 | 213 | ||
175 | //转换 | 214 | //转换 |
176 | opus_int16 TempPcm[WIDGET_SPEAKER_AUDIO_OPUS_MAX_FRAME_SIZE * WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS]; | 215 | opus_int16 TempPcm[WIDGET_SPEAKER_AUDIO_OPUS_MAX_FRAME_SIZE * WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS]; |
177 | 216 | ||
178 | - | ||
179 | - | ||
180 | for (i = 0; i < WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS * frame_size; i++) | 217 | for (i = 0; i < WIDGET_SPEAKER_AUDIO_OPUS_CHANNELS * frame_size; i++) |
181 | { | 218 | { |
182 | TempPcm[i] = out[i] & 0xFF | (out[i] >> 8) << 8; | 219 | TempPcm[i] = out[i] & 0xFF | (out[i] >> 8) << 8; |
@@ -190,6 +227,11 @@ static T_JZsdkReturnCode Opus_RealTimeVoice_PlayData(unsigned char *data,int len | @@ -190,6 +227,11 @@ static T_JZsdkReturnCode Opus_RealTimeVoice_PlayData(unsigned char *data,int len | ||
190 | 227 | ||
191 | AudioDeal_PcmDataInput(RealTimeDecodeRate, pcm_bytes, frame_size*2, 1); | 228 | AudioDeal_PcmDataInput(RealTimeDecodeRate, pcm_bytes, frame_size*2, 1); |
192 | 229 | ||
230 | + if (decodeErrorFlag == JZ_FLAGCODE_ON) | ||
231 | + { | ||
232 | + return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE; | ||
233 | + } | ||
234 | + | ||
193 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; | 235 | return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS; |
194 | } | 236 | } |
195 | 237 | ||
@@ -223,6 +265,15 @@ static void *Opus_RealTimeVoice_LoopPlay(void *arg) | @@ -223,6 +265,15 @@ static void *Opus_RealTimeVoice_LoopPlay(void *arg) | ||
223 | Opus_RealTimeVoice_PlayLoop_HeadReset(); //池满判断 | 265 | Opus_RealTimeVoice_PlayLoop_HeadReset(); //池满判断 |
224 | if(ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | 266 | if(ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) |
225 | { | 267 | { |
268 | + // // 记录解码错误次数,超过阈值则重置解码器 | ||
269 | + // if (++decode_error_count > 10) { | ||
270 | + // JZSDK_LOG_WARN("Too many decode errors, resetting decoder"); | ||
271 | + // decode_error_count = 0; | ||
272 | + // } | ||
273 | + | ||
274 | + | ||
275 | + // 后续改进建议,重新注册解码器的同时,不进行数据的清空 | ||
276 | + | ||
226 | break; | 277 | break; |
227 | } | 278 | } |
228 | } | 279 | } |
@@ -350,7 +401,7 @@ static T_JZsdkReturnCode Opus_RealTimeVoice_WriteDataClear() | @@ -350,7 +401,7 @@ static T_JZsdkReturnCode Opus_RealTimeVoice_WriteDataClear() | ||
350 | // 写入池子头部到底了,重置池头 | 401 | // 写入池子头部到底了,重置池头 |
351 | static T_JZsdkReturnCode Opus_RealTimeVoice_WriteDataHeadReset() | 402 | static T_JZsdkReturnCode Opus_RealTimeVoice_WriteDataHeadReset() |
352 | { | 403 | { |
353 | - if (Opus_RealTimeVoice_WriteData_LoopHead >= 15) | 404 | + if (Opus_RealTimeVoice_WriteData_LoopHead >= WRTTE_MAX_DATA_GROUP) |
354 | { | 405 | { |
355 | Opus_RealTimeVoice_WriteData_LoopHead = 0; | 406 | Opus_RealTimeVoice_WriteData_LoopHead = 0; |
356 | } | 407 | } |
@@ -359,7 +410,7 @@ static T_JZsdkReturnCode Opus_RealTimeVoice_WriteDataHeadReset() | @@ -359,7 +410,7 @@ static T_JZsdkReturnCode Opus_RealTimeVoice_WriteDataHeadReset() | ||
359 | // 写入池子尾部到底了,重置池尾 | 410 | // 写入池子尾部到底了,重置池尾 |
360 | static T_JZsdkReturnCode Opus_RealTimeVoice_WriteDataEndReset() | 411 | static T_JZsdkReturnCode Opus_RealTimeVoice_WriteDataEndReset() |
361 | { | 412 | { |
362 | - if (Opus_RealTimeVoice_WriteData_LoopEnd >= 15) | 413 | + if (Opus_RealTimeVoice_WriteData_LoopEnd >= WRTTE_MAX_DATA_GROUP) |
363 | { | 414 | { |
364 | Opus_RealTimeVoice_WriteData_LoopEnd = 0; | 415 | Opus_RealTimeVoice_WriteData_LoopEnd = 0; |
365 | } | 416 | } |
@@ -409,6 +409,9 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_Audio_PauseAndPlayContinue(int wheather_contr | @@ -409,6 +409,9 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_Audio_PauseAndPlayContinue(int wheather_contr | ||
409 | { | 409 | { |
410 | // 将控件界面的播放开关 转化为关闭 | 410 | // 将控件界面的播放开关 转化为关闭 |
411 | UI_control_WidgetSet(PSDK_UI_WIDGET_PLAYSTATUS, 1); | 411 | UI_control_WidgetSet(PSDK_UI_WIDGET_PLAYSTATUS, 1); |
412 | + | ||
413 | + // 将ttsSpeaker的开关关闭 | ||
414 | + UI_control_WidgetSet(PSDK_UI_SECONDARY_WIDGET_PLAYSTATUS, 0); | ||
412 | 415 | ||
413 | // 如果有进行控制,不只是改控件 | 416 | // 如果有进行控制,不只是改控件 |
414 | if (wheather_control == 1) | 417 | if (wheather_control == 1) |
@@ -488,7 +491,7 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_SetVolume(int wheather_control, int value) | @@ -488,7 +491,7 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_SetVolume(int wheather_control, int value) | ||
488 | // 如果有进行控制,不只是改控件 | 491 | // 如果有进行控制,不只是改控件 |
489 | if (wheather_control == 1) | 492 | if (wheather_control == 1) |
490 | { | 493 | { |
491 | - ret = UIcontrol_SetVolume(DEVICE_PSDK, value); | 494 | + ret = UIcontrol_SetVolume(DEVICE_PSDK, value, JZ_FLAGCODE_ON); |
492 | return ret; | 495 | return ret; |
493 | } | 496 | } |
494 | } | 497 | } |
@@ -553,8 +556,8 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_Set_TTS_speed(int wheather_control, int speed | @@ -553,8 +556,8 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_Set_TTS_speed(int wheather_control, int speed | ||
553 | //psdk 变量获取tts音色 | 556 | //psdk 变量获取tts音色 |
554 | int JZsdk_Psdk_UI_io_GetTTSTone_ByValue(int value) | 557 | int JZsdk_Psdk_UI_io_GetTTSTone_ByValue(int value) |
555 | { | 558 | { |
556 | - int OriginValue = FOMAT_Get_FirewareOriginRegion(); | ||
557 | - if (OriginValue == ORIGIN_DEFAULT || OriginValue == ORIGIN_CN) | 559 | + E_LanguageInfo LanguageInfo = LanguageInfo_Get_LanguageInfo(); |
560 | + if (LanguageInfo == LANGUAGE_INFO_CHINESE) | ||
558 | { | 561 | { |
559 | switch (value) | 562 | switch (value) |
560 | { | 563 | { |
@@ -651,8 +654,8 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_Set_TTS_tone(int wheather_control, int tone) | @@ -651,8 +654,8 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_Set_TTS_tone(int wheather_control, int tone) | ||
651 | 654 | ||
652 | T_JZsdkReturnCode ret; | 655 | T_JZsdkReturnCode ret; |
653 | int value; | 656 | int value; |
654 | - int OriginValue = FOMAT_Get_FirewareOriginRegion(); | ||
655 | - if (OriginValue == ORIGIN_DEFAULT || OriginValue == ORIGIN_CN) | 657 | + E_LanguageInfo LanguageInfo = LanguageInfo_Get_LanguageInfo(); |
658 | + if (LanguageInfo == LANGUAGE_INFO_CHINESE) | ||
656 | { | 659 | { |
657 | switch (tone) | 660 | switch (tone) |
658 | { | 661 | { |
@@ -1093,6 +1096,9 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_Set_TTS_Play(char *data, int len) | @@ -1093,6 +1096,9 @@ T_JZsdkReturnCode JZsdk_Psdk_UI_io_Set_TTS_Play(char *data, int len) | ||
1093 | //关闭音乐控件 | 1096 | //关闭音乐控件 |
1094 | UI_control_WidgetSet(PSDK_UI_WIDGET_PLAYSTATUS, 1); | 1097 | UI_control_WidgetSet(PSDK_UI_WIDGET_PLAYSTATUS, 1); |
1095 | 1098 | ||
1099 | + //关闭内ui的三角形 讲道理不能在这里关,不然就是明明在播,但是没有显示播放按键 | ||
1100 | + //UI_control_WidgetSet(PSDK_UI_SECONDARY_WIDGET_PLAYSTATUS, 0); | ||
1101 | + | ||
1096 | T_JZsdkReturnCode ret; | 1102 | T_JZsdkReturnCode ret; |
1097 | ret = UIcontrol_TTS_Play(DEVICE_PSDK, data, len); | 1103 | ret = UIcontrol_TTS_Play(DEVICE_PSDK, data, len); |
1098 | return ret; | 1104 | return ret; |
@@ -96,23 +96,31 @@ T_JZsdkReturnCode UI_control_Set_DJI_SkyPort_SerialNumber(char *str) | @@ -96,23 +96,31 @@ T_JZsdkReturnCode UI_control_Set_DJI_SkyPort_SerialNumber(char *str) | ||
96 | * | 96 | * |
97 | * ****************************************************************************************************************************************/ | 97 | * ****************************************************************************************************************************************/ |
98 | //音量调节 | 98 | //音量调节 |
99 | -T_JZsdkReturnCode UIcontrol_SetVolume(int DeviceName,int value) | 99 | +T_JZsdkReturnCode UIcontrol_SetVolume(int DeviceName,int value, int flag) |
100 | { | 100 | { |
101 | #ifdef MEGAPHONE_CONFIG_STATUS_ON | 101 | #ifdef MEGAPHONE_CONFIG_STATUS_ON |
102 | - //调用喊话器的接口 | ||
103 | - T_JZsdkReturnCode ret = Megaphone_param(JZ_FLAGCODE_SET, MEGAPHONE_VOLUME, &value); | ||
104 | - if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
105 | - { | ||
106 | - printf("%s:%s\n",UI_CONTROL_ERROR,JZsdk_GetReturnCodeMessage(ret)); | ||
107 | - return ret; | ||
108 | - } | ||
109 | - | ||
110 | - delayMs(1); | ||
111 | 102 | ||
112 | //获取本地音量 | 103 | //获取本地音量 |
113 | int Volume; | 104 | int Volume; |
114 | - Megaphone_param(JZ_FLAGCODE_GET, MEGAPHONE_VOLUME, &Volume); | ||
115 | 105 | ||
106 | + //如果开启控制 | ||
107 | + if (flag == JZ_FLAGCODE_ON) | ||
108 | + { | ||
109 | + //调用喊话器的接口 | ||
110 | + T_JZsdkReturnCode ret = Megaphone_param(JZ_FLAGCODE_SET, MEGAPHONE_VOLUME, &value); | ||
111 | + if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS) | ||
112 | + { | ||
113 | + printf("%s:%s\n",UI_CONTROL_ERROR,JZsdk_GetReturnCodeMessage(ret)); | ||
114 | + return ret; | ||
115 | + } | ||
116 | + | ||
117 | + Megaphone_param(JZ_FLAGCODE_GET, MEGAPHONE_VOLUME, &Volume); | ||
118 | + } | ||
119 | + else | ||
120 | + { | ||
121 | + Megaphone_param(JZ_FLAGCODE_GET, MEGAPHONE_VOLUME, &Volume); | ||
122 | + } | ||
123 | + | ||
116 | //通知其他设备的ui界面变化 | 124 | //通知其他设备的ui界面变化 |
117 | //如果4G模块有启动 | 125 | //如果4G模块有启动 |
118 | if ( (JZsdk_HalPort_UseFlag(UART_4G) == JZ_FLAGCODE_ON) && (DeviceName != UART_4G) ) | 126 | if ( (JZsdk_HalPort_UseFlag(UART_4G) == JZ_FLAGCODE_ON) && (DeviceName != UART_4G) ) |
@@ -31,7 +31,7 @@ T_JZsdkReturnCode UI_control_Set_DJI_SkyPort_SerialNumber(char *str); | @@ -31,7 +31,7 @@ T_JZsdkReturnCode UI_control_Set_DJI_SkyPort_SerialNumber(char *str); | ||
31 | 31 | ||
32 | //喊话器通用操作类 | 32 | //喊话器通用操作类 |
33 | T_JZsdkReturnCode UIcontrol_Set_AudioPlayLoop(int DeviceName, int value); | 33 | T_JZsdkReturnCode UIcontrol_Set_AudioPlayLoop(int DeviceName, int value); |
34 | -T_JZsdkReturnCode UIcontrol_SetVolume(int DeviceName, int value); | 34 | +T_JZsdkReturnCode UIcontrol_SetVolume(int DeviceName,int value, int flag); |
35 | T_JZsdkReturnCode UIcontrol_Set_AudioPlayLoopInterval(int DeviceName,int value); | 35 | T_JZsdkReturnCode UIcontrol_Set_AudioPlayLoopInterval(int DeviceName,int value); |
36 | 36 | ||
37 | //音频类 | 37 | //音频类 |
1 | # This is the CMakeCache file. | 1 | # This is the CMakeCache file. |
2 | # For build in directory: /mnt/hgfs/share/JZSDK_Linux/project_build/Attention_提示程序/build | 2 | # For build in directory: /mnt/hgfs/share/JZSDK_Linux/project_build/Attention_提示程序/build |
3 | -# It was generated by CMake: /usr/local/bin/cmake | 3 | +# It was generated by CMake: /usr/bin/cmake |
4 | # You can edit this file to change values found and used by cmake. | 4 | # You can edit this file to change values found and used by cmake. |
5 | # If you do not want to change any of the values, simply exit the editor. | 5 | # If you do not want to change any of the values, simply exit the editor. |
6 | # If you do want to change a value, simply edit, save, and exit the editor. | 6 | # If you do want to change a value, simply edit, save, and exit the editor. |
@@ -18,19 +18,13 @@ | @@ -18,19 +18,13 @@ | ||
18 | ATTENTION_APP_BINARY_DIR:STATIC=/mnt/hgfs/share/JZSDK_Linux/project_build/Attention_提示程序/build | 18 | ATTENTION_APP_BINARY_DIR:STATIC=/mnt/hgfs/share/JZSDK_Linux/project_build/Attention_提示程序/build |
19 | 19 | ||
20 | //Value Computed by CMake | 20 | //Value Computed by CMake |
21 | -ATTENTION_APP_IS_TOP_LEVEL:STATIC=ON | ||
22 | - | ||
23 | -//Value Computed by CMake | ||
24 | ATTENTION_APP_SOURCE_DIR:STATIC=/mnt/hgfs/share/JZSDK_Linux/project_build/Attention_提示程序 | 21 | ATTENTION_APP_SOURCE_DIR:STATIC=/mnt/hgfs/share/JZSDK_Linux/project_build/Attention_提示程序 |
25 | 22 | ||
26 | //Path to a program. | 23 | //Path to a program. |
27 | -CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line | ||
28 | - | ||
29 | -//Path to a program. | ||
30 | CMAKE_AR:FILEPATH=/usr/bin/ar | 24 | CMAKE_AR:FILEPATH=/usr/bin/ar |
31 | 25 | ||
32 | -//Choose the type of build, options are: None Debug Release RelWithDebInfo | ||
33 | -// MinSizeRel ... | 26 | +//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or |
27 | +// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. | ||
34 | CMAKE_BUILD_TYPE:STRING= | 28 | CMAKE_BUILD_TYPE:STRING= |
35 | 29 | ||
36 | //Enable/Disable color output during build. | 30 | //Enable/Disable color output during build. |
@@ -39,78 +33,58 @@ CMAKE_COLOR_MAKEFILE:BOOL=ON | @@ -39,78 +33,58 @@ CMAKE_COLOR_MAKEFILE:BOOL=ON | ||
39 | //CXX compiler | 33 | //CXX compiler |
40 | CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ | 34 | CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ |
41 | 35 | ||
42 | -//A wrapper around 'ar' adding the appropriate '--plugin' option | ||
43 | -// for the GCC compiler | ||
44 | -CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-5 | ||
45 | - | ||
46 | -//A wrapper around 'ranlib' adding the appropriate '--plugin' option | ||
47 | -// for the GCC compiler | ||
48 | -CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-5 | ||
49 | - | ||
50 | -//Flags used by the CXX compiler during all build types. | 36 | +//Flags used by the compiler during all build types. |
51 | CMAKE_CXX_FLAGS:STRING= | 37 | CMAKE_CXX_FLAGS:STRING= |
52 | 38 | ||
53 | -//Flags used by the CXX compiler during DEBUG builds. | 39 | +//Flags used by the compiler during debug builds. |
54 | CMAKE_CXX_FLAGS_DEBUG:STRING=-g | 40 | CMAKE_CXX_FLAGS_DEBUG:STRING=-g |
55 | 41 | ||
56 | -//Flags used by the CXX compiler during MINSIZEREL builds. | 42 | +//Flags used by the compiler during release builds for minimum |
43 | +// size. | ||
57 | CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG | 44 | CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG |
58 | 45 | ||
59 | -//Flags used by the CXX compiler during RELEASE builds. | 46 | +//Flags used by the compiler during release builds. |
60 | CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG | 47 | CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG |
61 | 48 | ||
62 | -//Flags used by the CXX compiler during RELWITHDEBINFO builds. | 49 | +//Flags used by the compiler during release builds with debug info. |
63 | CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG | 50 | CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG |
64 | 51 | ||
65 | //C compiler | 52 | //C compiler |
66 | CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc | 53 | CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc |
67 | 54 | ||
68 | -//A wrapper around 'ar' adding the appropriate '--plugin' option | ||
69 | -// for the GCC compiler | ||
70 | -CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-5 | ||
71 | - | ||
72 | -//A wrapper around 'ranlib' adding the appropriate '--plugin' option | ||
73 | -// for the GCC compiler | ||
74 | -CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-5 | ||
75 | - | ||
76 | -//Flags used by the C compiler during all build types. | 55 | +//Flags used by the compiler during all build types. |
77 | CMAKE_C_FLAGS:STRING= | 56 | CMAKE_C_FLAGS:STRING= |
78 | 57 | ||
79 | -//Flags used by the C compiler during DEBUG builds. | 58 | +//Flags used by the compiler during debug builds. |
80 | CMAKE_C_FLAGS_DEBUG:STRING=-g | 59 | CMAKE_C_FLAGS_DEBUG:STRING=-g |
81 | 60 | ||
82 | -//Flags used by the C compiler during MINSIZEREL builds. | 61 | +//Flags used by the compiler during release builds for minimum |
62 | +// size. | ||
83 | CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG | 63 | CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG |
84 | 64 | ||
85 | -//Flags used by the C compiler during RELEASE builds. | 65 | +//Flags used by the compiler during release builds. |
86 | CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG | 66 | CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG |
87 | 67 | ||
88 | -//Flags used by the C compiler during RELWITHDEBINFO builds. | 68 | +//Flags used by the compiler during release builds with debug info. |
89 | CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG | 69 | CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG |
90 | 70 | ||
91 | -//Path to a program. | ||
92 | -CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND | ||
93 | - | ||
94 | -//Flags used by the linker during all build types. | 71 | +//Flags used by the linker. |
95 | CMAKE_EXE_LINKER_FLAGS:STRING= | 72 | CMAKE_EXE_LINKER_FLAGS:STRING= |
96 | 73 | ||
97 | -//Flags used by the linker during DEBUG builds. | 74 | +//Flags used by the linker during debug builds. |
98 | CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= | 75 | CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= |
99 | 76 | ||
100 | -//Flags used by the linker during MINSIZEREL builds. | 77 | +//Flags used by the linker during release minsize builds. |
101 | CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= | 78 | CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= |
102 | 79 | ||
103 | -//Flags used by the linker during RELEASE builds. | 80 | +//Flags used by the linker during release builds. |
104 | CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= | 81 | CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= |
105 | 82 | ||
106 | -//Flags used by the linker during RELWITHDEBINFO builds. | 83 | +//Flags used by the linker during Release with Debug Info builds. |
107 | CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= | 84 | CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= |
108 | 85 | ||
109 | //Enable/Disable output of compile commands during generation. | 86 | //Enable/Disable output of compile commands during generation. |
110 | -CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= | ||
111 | - | ||
112 | -//Value Computed by CMake. | ||
113 | -CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/mnt/hgfs/share/JZSDK_Linux/project_build/Attention_提示程序/build/CMakeFiles/pkgRedirects | 87 | +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF |
114 | 88 | ||
115 | //Install path prefix, prepended onto install directories. | 89 | //Install path prefix, prepended onto install directories. |
116 | CMAKE_INSTALL_PREFIX:PATH=/usr/local | 90 | CMAKE_INSTALL_PREFIX:PATH=/usr/local |
@@ -121,24 +95,19 @@ CMAKE_LINKER:FILEPATH=/usr/bin/ld | @@ -121,24 +95,19 @@ CMAKE_LINKER:FILEPATH=/usr/bin/ld | ||
121 | //Path to a program. | 95 | //Path to a program. |
122 | CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make | 96 | CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make |
123 | 97 | ||
124 | -//Flags used by the linker during the creation of modules during | ||
125 | -// all build types. | 98 | +//Flags used by the linker during the creation of modules. |
126 | CMAKE_MODULE_LINKER_FLAGS:STRING= | 99 | CMAKE_MODULE_LINKER_FLAGS:STRING= |
127 | 100 | ||
128 | -//Flags used by the linker during the creation of modules during | ||
129 | -// DEBUG builds. | 101 | +//Flags used by the linker during debug builds. |
130 | CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= | 102 | CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= |
131 | 103 | ||
132 | -//Flags used by the linker during the creation of modules during | ||
133 | -// MINSIZEREL builds. | 104 | +//Flags used by the linker during release minsize builds. |
134 | CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= | 105 | CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= |
135 | 106 | ||
136 | -//Flags used by the linker during the creation of modules during | ||
137 | -// RELEASE builds. | 107 | +//Flags used by the linker during release builds. |
138 | CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= | 108 | CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= |
139 | 109 | ||
140 | -//Flags used by the linker during the creation of modules during | ||
141 | -// RELWITHDEBINFO builds. | 110 | +//Flags used by the linker during Release with Debug Info builds. |
142 | CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= | 111 | CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= |
143 | 112 | ||
144 | //Path to a program. | 113 | //Path to a program. |
@@ -151,38 +120,24 @@ CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy | @@ -151,38 +120,24 @@ CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy | ||
151 | CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump | 120 | CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump |
152 | 121 | ||
153 | //Value Computed by CMake | 122 | //Value Computed by CMake |
154 | -CMAKE_PROJECT_DESCRIPTION:STATIC= | ||
155 | - | ||
156 | -//Value Computed by CMake | ||
157 | -CMAKE_PROJECT_HOMEPAGE_URL:STATIC= | ||
158 | - | ||
159 | -//Value Computed by CMake | ||
160 | CMAKE_PROJECT_NAME:STATIC=ATTENTION_APP | 123 | CMAKE_PROJECT_NAME:STATIC=ATTENTION_APP |
161 | 124 | ||
162 | //Path to a program. | 125 | //Path to a program. |
163 | CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib | 126 | CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib |
164 | 127 | ||
165 | -//Path to a program. | ||
166 | -CMAKE_READELF:FILEPATH=/usr/bin/readelf | ||
167 | - | ||
168 | -//Flags used by the linker during the creation of shared libraries | ||
169 | -// during all build types. | 128 | +//Flags used by the linker during the creation of dll's. |
170 | CMAKE_SHARED_LINKER_FLAGS:STRING= | 129 | CMAKE_SHARED_LINKER_FLAGS:STRING= |
171 | 130 | ||
172 | -//Flags used by the linker during the creation of shared libraries | ||
173 | -// during DEBUG builds. | 131 | +//Flags used by the linker during debug builds. |
174 | CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= | 132 | CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= |
175 | 133 | ||
176 | -//Flags used by the linker during the creation of shared libraries | ||
177 | -// during MINSIZEREL builds. | 134 | +//Flags used by the linker during release minsize builds. |
178 | CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= | 135 | CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= |
179 | 136 | ||
180 | -//Flags used by the linker during the creation of shared libraries | ||
181 | -// during RELEASE builds. | 137 | +//Flags used by the linker during release builds. |
182 | CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= | 138 | CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= |
183 | 139 | ||
184 | -//Flags used by the linker during the creation of shared libraries | ||
185 | -// during RELWITHDEBINFO builds. | 140 | +//Flags used by the linker during Release with Debug Info builds. |
186 | CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= | 141 | CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= |
187 | 142 | ||
188 | //If set, runtime paths are not added when installing shared libraries, | 143 | //If set, runtime paths are not added when installing shared libraries, |
@@ -192,24 +147,19 @@ CMAKE_SKIP_INSTALL_RPATH:BOOL=NO | @@ -192,24 +147,19 @@ CMAKE_SKIP_INSTALL_RPATH:BOOL=NO | ||
192 | //If set, runtime paths are not added when using shared libraries. | 147 | //If set, runtime paths are not added when using shared libraries. |
193 | CMAKE_SKIP_RPATH:BOOL=NO | 148 | CMAKE_SKIP_RPATH:BOOL=NO |
194 | 149 | ||
195 | -//Flags used by the linker during the creation of static libraries | ||
196 | -// during all build types. | 150 | +//Flags used by the linker during the creation of static libraries. |
197 | CMAKE_STATIC_LINKER_FLAGS:STRING= | 151 | CMAKE_STATIC_LINKER_FLAGS:STRING= |
198 | 152 | ||
199 | -//Flags used by the linker during the creation of static libraries | ||
200 | -// during DEBUG builds. | 153 | +//Flags used by the linker during debug builds. |
201 | CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= | 154 | CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= |
202 | 155 | ||
203 | -//Flags used by the linker during the creation of static libraries | ||
204 | -// during MINSIZEREL builds. | 156 | +//Flags used by the linker during release minsize builds. |
205 | CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= | 157 | CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= |
206 | 158 | ||
207 | -//Flags used by the linker during the creation of static libraries | ||
208 | -// during RELEASE builds. | 159 | +//Flags used by the linker during release builds. |
209 | CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= | 160 | CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= |
210 | 161 | ||
211 | -//Flags used by the linker during the creation of static libraries | ||
212 | -// during RELWITHDEBINFO builds. | 162 | +//Flags used by the linker during Release with Debug Info builds. |
213 | CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= | 163 | CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= |
214 | 164 | ||
215 | //Path to a program. | 165 | //Path to a program. |
@@ -226,8 +176,6 @@ CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE | @@ -226,8 +176,6 @@ CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE | ||
226 | # INTERNAL cache entries | 176 | # INTERNAL cache entries |
227 | ######################## | 177 | ######################## |
228 | 178 | ||
229 | -//ADVANCED property for variable: CMAKE_ADDR2LINE | ||
230 | -CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 | ||
231 | //ADVANCED property for variable: CMAKE_AR | 179 | //ADVANCED property for variable: CMAKE_AR |
232 | CMAKE_AR-ADVANCED:INTERNAL=1 | 180 | CMAKE_AR-ADVANCED:INTERNAL=1 |
233 | //This is the directory where this CMakeCache.txt was created | 181 | //This is the directory where this CMakeCache.txt was created |
@@ -235,23 +183,19 @@ CMAKE_CACHEFILE_DIR:INTERNAL=/mnt/hgfs/share/JZSDK_Linux/project_build/Attention | @@ -235,23 +183,19 @@ CMAKE_CACHEFILE_DIR:INTERNAL=/mnt/hgfs/share/JZSDK_Linux/project_build/Attention | ||
235 | //Major version of cmake used to create the current loaded cache | 183 | //Major version of cmake used to create the current loaded cache |
236 | CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 | 184 | CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 |
237 | //Minor version of cmake used to create the current loaded cache | 185 | //Minor version of cmake used to create the current loaded cache |
238 | -CMAKE_CACHE_MINOR_VERSION:INTERNAL=24 | 186 | +CMAKE_CACHE_MINOR_VERSION:INTERNAL=5 |
239 | //Patch version of cmake used to create the current loaded cache | 187 | //Patch version of cmake used to create the current loaded cache |
240 | CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 | 188 | CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 |
241 | //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE | 189 | //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE |
242 | CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 | 190 | CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 |
243 | //Path to CMake executable. | 191 | //Path to CMake executable. |
244 | -CMAKE_COMMAND:INTERNAL=/usr/local/bin/cmake | 192 | +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake |
245 | //Path to cpack program executable. | 193 | //Path to cpack program executable. |
246 | -CMAKE_CPACK_COMMAND:INTERNAL=/usr/local/bin/cpack | 194 | +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack |
247 | //Path to ctest program executable. | 195 | //Path to ctest program executable. |
248 | -CMAKE_CTEST_COMMAND:INTERNAL=/usr/local/bin/ctest | 196 | +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest |
249 | //ADVANCED property for variable: CMAKE_CXX_COMPILER | 197 | //ADVANCED property for variable: CMAKE_CXX_COMPILER |
250 | CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 | 198 | CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 |
251 | -//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR | ||
252 | -CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 | ||
253 | -//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB | ||
254 | -CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 | ||
255 | //ADVANCED property for variable: CMAKE_CXX_FLAGS | 199 | //ADVANCED property for variable: CMAKE_CXX_FLAGS |
256 | CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 | 200 | CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 |
257 | //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG | 201 | //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG |
@@ -264,10 +208,6 @@ CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 | @@ -264,10 +208,6 @@ CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 | ||
264 | CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 | 208 | CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 |
265 | //ADVANCED property for variable: CMAKE_C_COMPILER | 209 | //ADVANCED property for variable: CMAKE_C_COMPILER |
266 | CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 | 210 | CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 |
267 | -//ADVANCED property for variable: CMAKE_C_COMPILER_AR | ||
268 | -CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 | ||
269 | -//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB | ||
270 | -CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 | ||
271 | //ADVANCED property for variable: CMAKE_C_FLAGS | 211 | //ADVANCED property for variable: CMAKE_C_FLAGS |
272 | CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 | 212 | CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 |
273 | //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG | 213 | //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG |
@@ -278,8 +218,6 @@ CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 | @@ -278,8 +218,6 @@ CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 | ||
278 | CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 | 218 | CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 |
279 | //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO | 219 | //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO |
280 | CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 | 220 | CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 |
281 | -//ADVANCED property for variable: CMAKE_DLLTOOL | ||
282 | -CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 | ||
283 | //Executable file format | 221 | //Executable file format |
284 | CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF | 222 | CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF |
285 | //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS | 223 | //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS |
@@ -298,8 +236,6 @@ CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 | @@ -298,8 +236,6 @@ CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 | ||
298 | CMAKE_EXTRA_GENERATOR:INTERNAL= | 236 | CMAKE_EXTRA_GENERATOR:INTERNAL= |
299 | //Name of generator. | 237 | //Name of generator. |
300 | CMAKE_GENERATOR:INTERNAL=Unix Makefiles | 238 | CMAKE_GENERATOR:INTERNAL=Unix Makefiles |
301 | -//Generator instance identifier. | ||
302 | -CMAKE_GENERATOR_INSTANCE:INTERNAL= | ||
303 | //Name of generator platform. | 239 | //Name of generator platform. |
304 | CMAKE_GENERATOR_PLATFORM:INTERNAL= | 240 | CMAKE_GENERATOR_PLATFORM:INTERNAL= |
305 | //Name of generator toolset. | 241 | //Name of generator toolset. |
@@ -331,14 +267,10 @@ CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 | @@ -331,14 +267,10 @@ CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 | ||
331 | CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 | 267 | CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 |
332 | //ADVANCED property for variable: CMAKE_OBJDUMP | 268 | //ADVANCED property for variable: CMAKE_OBJDUMP |
333 | CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 | 269 | CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 |
334 | -//Platform information initialized | ||
335 | -CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 | ||
336 | //ADVANCED property for variable: CMAKE_RANLIB | 270 | //ADVANCED property for variable: CMAKE_RANLIB |
337 | CMAKE_RANLIB-ADVANCED:INTERNAL=1 | 271 | CMAKE_RANLIB-ADVANCED:INTERNAL=1 |
338 | -//ADVANCED property for variable: CMAKE_READELF | ||
339 | -CMAKE_READELF-ADVANCED:INTERNAL=1 | ||
340 | //Path to CMake installation. | 272 | //Path to CMake installation. |
341 | -CMAKE_ROOT:INTERNAL=/usr/local/share/cmake-3.24 | 273 | +CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.5 |
342 | //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS | 274 | //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS |
343 | CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 | 275 | CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 |
344 | //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG | 276 | //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG |
@@ -369,6 +301,4 @@ CMAKE_STRIP-ADVANCED:INTERNAL=1 | @@ -369,6 +301,4 @@ CMAKE_STRIP-ADVANCED:INTERNAL=1 | ||
369 | CMAKE_UNAME:INTERNAL=/bin/uname | 301 | CMAKE_UNAME:INTERNAL=/bin/uname |
370 | //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE | 302 | //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE |
371 | CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 | 303 | CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 |
372 | -//linker supports push/pop state | ||
373 | -_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE | ||
374 | 304 |
1 | -set(CMAKE_C_COMPILER "/usr/bin/cc") | ||
2 | -set(CMAKE_C_COMPILER_ARG1 "") | ||
3 | -set(CMAKE_C_COMPILER_ID "GNU") | ||
4 | -set(CMAKE_C_COMPILER_VERSION "5.4.0") | ||
5 | -set(CMAKE_C_COMPILER_VERSION_INTERNAL "") | ||
6 | -set(CMAKE_C_COMPILER_WRAPPER "") | ||
7 | -set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") | ||
8 | -set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") | ||
9 | -set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert") | ||
10 | -set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") | ||
11 | -set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") | ||
12 | -set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") | ||
13 | -set(CMAKE_C17_COMPILE_FEATURES "") | ||
14 | -set(CMAKE_C23_COMPILE_FEATURES "") | ||
15 | - | ||
16 | -set(CMAKE_C_PLATFORM_ID "Linux") | ||
17 | -set(CMAKE_C_SIMULATE_ID "") | ||
18 | -set(CMAKE_C_COMPILER_FRONTEND_VARIANT "") | ||
19 | -set(CMAKE_C_SIMULATE_VERSION "") | ||
20 | - | ||
21 | - | ||
22 | - | ||
23 | - | ||
24 | -set(CMAKE_AR "/usr/bin/ar") | ||
25 | -set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-5") | ||
26 | -set(CMAKE_RANLIB "/usr/bin/ranlib") | ||
27 | -set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-5") | ||
28 | -set(CMAKE_LINKER "/usr/bin/ld") | ||
29 | -set(CMAKE_MT "") | ||
30 | -set(CMAKE_COMPILER_IS_GNUCC 1) | ||
31 | -set(CMAKE_C_COMPILER_LOADED 1) | ||
32 | -set(CMAKE_C_COMPILER_WORKS TRUE) | ||
33 | -set(CMAKE_C_ABI_COMPILED TRUE) | ||
34 | - | ||
35 | -set(CMAKE_C_COMPILER_ENV_VAR "CC") | ||
36 | - | ||
37 | -set(CMAKE_C_COMPILER_ID_RUN 1) | ||
38 | -set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) | ||
39 | -set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) | ||
40 | -set(CMAKE_C_LINKER_PREFERENCE 10) | ||
41 | - | ||
42 | -# Save compiler ABI information. | ||
43 | -set(CMAKE_C_SIZEOF_DATA_PTR "8") | ||
44 | -set(CMAKE_C_COMPILER_ABI "ELF") | ||
45 | -set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") | ||
46 | -set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") | ||
47 | - | ||
48 | -if(CMAKE_C_SIZEOF_DATA_PTR) | ||
49 | - set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") | ||
50 | -endif() | ||
51 | - | ||
52 | -if(CMAKE_C_COMPILER_ABI) | ||
53 | - set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") | ||
54 | -endif() | ||
55 | - | ||
56 | -if(CMAKE_C_LIBRARY_ARCHITECTURE) | ||
57 | - set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") | ||
58 | -endif() | ||
59 | - | ||
60 | -set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") | ||
61 | -if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) | ||
62 | - set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") | ||
63 | -endif() | ||
64 | - | ||
65 | - | ||
66 | - | ||
67 | - | ||
68 | - | ||
69 | -set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/5/include;/usr/local/include;/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed;/usr/include/x86_64-linux-gnu;/usr/include") | ||
70 | -set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") | ||
71 | -set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/5;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") | ||
72 | -set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") |
1 | -set(CMAKE_CXX_COMPILER "/usr/bin/c++") | ||
2 | -set(CMAKE_CXX_COMPILER_ARG1 "") | ||
3 | -set(CMAKE_CXX_COMPILER_ID "GNU") | ||
4 | -set(CMAKE_CXX_COMPILER_VERSION "5.4.0") | ||
5 | -set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") | ||
6 | -set(CMAKE_CXX_COMPILER_WRAPPER "") | ||
7 | -set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "98") | ||
8 | -set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") | ||
9 | -set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17") | ||
10 | -set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") | ||
11 | -set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") | ||
12 | -set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") | ||
13 | -set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") | ||
14 | -set(CMAKE_CXX20_COMPILE_FEATURES "") | ||
15 | -set(CMAKE_CXX23_COMPILE_FEATURES "") | ||
16 | - | ||
17 | -set(CMAKE_CXX_PLATFORM_ID "Linux") | ||
18 | -set(CMAKE_CXX_SIMULATE_ID "") | ||
19 | -set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "") | ||
20 | -set(CMAKE_CXX_SIMULATE_VERSION "") | ||
21 | - | ||
22 | - | ||
23 | - | ||
24 | - | ||
25 | -set(CMAKE_AR "/usr/bin/ar") | ||
26 | -set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-5") | ||
27 | -set(CMAKE_RANLIB "/usr/bin/ranlib") | ||
28 | -set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-5") | ||
29 | -set(CMAKE_LINKER "/usr/bin/ld") | ||
30 | -set(CMAKE_MT "") | ||
31 | -set(CMAKE_COMPILER_IS_GNUCXX 1) | ||
32 | -set(CMAKE_CXX_COMPILER_LOADED 1) | ||
33 | -set(CMAKE_CXX_COMPILER_WORKS TRUE) | ||
34 | -set(CMAKE_CXX_ABI_COMPILED TRUE) | ||
35 | - | ||
36 | -set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") | ||
37 | - | ||
38 | -set(CMAKE_CXX_COMPILER_ID_RUN 1) | ||
39 | -set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm) | ||
40 | -set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) | ||
41 | - | ||
42 | -foreach (lang C OBJC OBJCXX) | ||
43 | - if (CMAKE_${lang}_COMPILER_ID_RUN) | ||
44 | - foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) | ||
45 | - list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) | ||
46 | - endforeach() | ||
47 | - endif() | ||
48 | -endforeach() | ||
49 | - | ||
50 | -set(CMAKE_CXX_LINKER_PREFERENCE 30) | ||
51 | -set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) | ||
52 | - | ||
53 | -# Save compiler ABI information. | ||
54 | -set(CMAKE_CXX_SIZEOF_DATA_PTR "8") | ||
55 | -set(CMAKE_CXX_COMPILER_ABI "ELF") | ||
56 | -set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") | ||
57 | -set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") | ||
58 | - | ||
59 | -if(CMAKE_CXX_SIZEOF_DATA_PTR) | ||
60 | - set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") | ||
61 | -endif() | ||
62 | - | ||
63 | -if(CMAKE_CXX_COMPILER_ABI) | ||
64 | - set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") | ||
65 | -endif() | ||
66 | - | ||
67 | -if(CMAKE_CXX_LIBRARY_ARCHITECTURE) | ||
68 | - set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") | ||
69 | -endif() | ||
70 | - | ||
71 | -set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") | ||
72 | -if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) | ||
73 | - set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") | ||
74 | -endif() | ||
75 | - | ||
76 | - | ||
77 | - | ||
78 | - | ||
79 | - | ||
80 | -set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/5;/usr/include/x86_64-linux-gnu/c++/5;/usr/include/c++/5/backward;/usr/lib/gcc/x86_64-linux-gnu/5/include;/usr/local/include;/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed;/usr/include/x86_64-linux-gnu;/usr/include") | ||
81 | -set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc") | ||
82 | -set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/5;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") | ||
83 | -set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") |
不能预览此文件类型
project_build/Attention_提示程序/build/CMakeFiles/3.24.1/CMakeDetermineCompilerABI_CXX.bin
已删除
100644 → 0
不能预览此文件类型
1 | -set(CMAKE_HOST_SYSTEM "Linux-4.15.0-142-generic") | ||
2 | -set(CMAKE_HOST_SYSTEM_NAME "Linux") | ||
3 | -set(CMAKE_HOST_SYSTEM_VERSION "4.15.0-142-generic") | ||
4 | -set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") | ||
5 | - | ||
6 | - | ||
7 | - | ||
8 | -set(CMAKE_SYSTEM "Linux-4.15.0-142-generic") | ||
9 | -set(CMAKE_SYSTEM_NAME "Linux") | ||
10 | -set(CMAKE_SYSTEM_VERSION "4.15.0-142-generic") | ||
11 | -set(CMAKE_SYSTEM_PROCESSOR "x86_64") | ||
12 | - | ||
13 | -set(CMAKE_CROSSCOMPILING "FALSE") | ||
14 | - | ||
15 | -set(CMAKE_SYSTEM_LOADED 1) |
1 | -#ifdef __cplusplus | ||
2 | -# error "A C++ compiler has been selected for C." | ||
3 | -#endif | ||
4 | - | ||
5 | -#if defined(__18CXX) | ||
6 | -# define ID_VOID_MAIN | ||
7 | -#endif | ||
8 | -#if defined(__CLASSIC_C__) | ||
9 | -/* cv-qualifiers did not exist in K&R C */ | ||
10 | -# define const | ||
11 | -# define volatile | ||
12 | -#endif | ||
13 | - | ||
14 | -#if !defined(__has_include) | ||
15 | -/* If the compiler does not have __has_include, pretend the answer is | ||
16 | - always no. */ | ||
17 | -# define __has_include(x) 0 | ||
18 | -#endif | ||
19 | - | ||
20 | - | ||
21 | -/* Version number components: V=Version, R=Revision, P=Patch | ||
22 | - Version date components: YYYY=Year, MM=Month, DD=Day */ | ||
23 | - | ||
24 | -#if defined(__INTEL_COMPILER) || defined(__ICC) | ||
25 | -# define COMPILER_ID "Intel" | ||
26 | -# if defined(_MSC_VER) | ||
27 | -# define SIMULATE_ID "MSVC" | ||
28 | -# endif | ||
29 | -# if defined(__GNUC__) | ||
30 | -# define SIMULATE_ID "GNU" | ||
31 | -# endif | ||
32 | - /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, | ||
33 | - except that a few beta releases use the old format with V=2021. */ | ||
34 | -# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 | ||
35 | -# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) | ||
36 | -# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) | ||
37 | -# if defined(__INTEL_COMPILER_UPDATE) | ||
38 | -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) | ||
39 | -# else | ||
40 | -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) | ||
41 | -# endif | ||
42 | -# else | ||
43 | -# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) | ||
44 | -# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) | ||
45 | - /* The third version component from --version is an update index, | ||
46 | - but no macro is provided for it. */ | ||
47 | -# define COMPILER_VERSION_PATCH DEC(0) | ||
48 | -# endif | ||
49 | -# if defined(__INTEL_COMPILER_BUILD_DATE) | ||
50 | - /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ | ||
51 | -# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) | ||
52 | -# endif | ||
53 | -# if defined(_MSC_VER) | ||
54 | - /* _MSC_VER = VVRR */ | ||
55 | -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) | ||
56 | -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) | ||
57 | -# endif | ||
58 | -# if defined(__GNUC__) | ||
59 | -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) | ||
60 | -# elif defined(__GNUG__) | ||
61 | -# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) | ||
62 | -# endif | ||
63 | -# if defined(__GNUC_MINOR__) | ||
64 | -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) | ||
65 | -# endif | ||
66 | -# if defined(__GNUC_PATCHLEVEL__) | ||
67 | -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) | ||
68 | -# endif | ||
69 | - | ||
70 | -#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) | ||
71 | -# define COMPILER_ID "IntelLLVM" | ||
72 | -#if defined(_MSC_VER) | ||
73 | -# define SIMULATE_ID "MSVC" | ||
74 | -#endif | ||
75 | -#if defined(__GNUC__) | ||
76 | -# define SIMULATE_ID "GNU" | ||
77 | -#endif | ||
78 | -/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and | ||
79 | - * later. Look for 6 digit vs. 8 digit version number to decide encoding. | ||
80 | - * VVVV is no smaller than the current year when a version is released. | ||
81 | - */ | ||
82 | -#if __INTEL_LLVM_COMPILER < 1000000L | ||
83 | -# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) | ||
84 | -# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) | ||
85 | -# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) | ||
86 | -#else | ||
87 | -# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) | ||
88 | -# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) | ||
89 | -# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) | ||
90 | -#endif | ||
91 | -#if defined(_MSC_VER) | ||
92 | - /* _MSC_VER = VVRR */ | ||
93 | -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) | ||
94 | -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) | ||
95 | -#endif | ||
96 | -#if defined(__GNUC__) | ||
97 | -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) | ||
98 | -#elif defined(__GNUG__) | ||
99 | -# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) | ||
100 | -#endif | ||
101 | -#if defined(__GNUC_MINOR__) | ||
102 | -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) | ||
103 | -#endif | ||
104 | -#if defined(__GNUC_PATCHLEVEL__) | ||
105 | -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) | ||
106 | -#endif | ||
107 | - | ||
108 | -#elif defined(__PATHCC__) | ||
109 | -# define COMPILER_ID "PathScale" | ||
110 | -# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) | ||
111 | -# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) | ||
112 | -# if defined(__PATHCC_PATCHLEVEL__) | ||
113 | -# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) | ||
114 | -# endif | ||
115 | - | ||
116 | -#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) | ||
117 | -# define COMPILER_ID "Embarcadero" | ||
118 | -# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) | ||
119 | -# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) | ||
120 | -# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) | ||
121 | - | ||
122 | -#elif defined(__BORLANDC__) | ||
123 | -# define COMPILER_ID "Borland" | ||
124 | - /* __BORLANDC__ = 0xVRR */ | ||
125 | -# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) | ||
126 | -# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) | ||
127 | - | ||
128 | -#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 | ||
129 | -# define COMPILER_ID "Watcom" | ||
130 | - /* __WATCOMC__ = VVRR */ | ||
131 | -# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) | ||
132 | -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) | ||
133 | -# if (__WATCOMC__ % 10) > 0 | ||
134 | -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) | ||
135 | -# endif | ||
136 | - | ||
137 | -#elif defined(__WATCOMC__) | ||
138 | -# define COMPILER_ID "OpenWatcom" | ||
139 | - /* __WATCOMC__ = VVRP + 1100 */ | ||
140 | -# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) | ||
141 | -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) | ||
142 | -# if (__WATCOMC__ % 10) > 0 | ||
143 | -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) | ||
144 | -# endif | ||
145 | - | ||
146 | -#elif defined(__SUNPRO_C) | ||
147 | -# define COMPILER_ID "SunPro" | ||
148 | -# if __SUNPRO_C >= 0x5100 | ||
149 | - /* __SUNPRO_C = 0xVRRP */ | ||
150 | -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) | ||
151 | -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) | ||
152 | -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) | ||
153 | -# else | ||
154 | - /* __SUNPRO_CC = 0xVRP */ | ||
155 | -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) | ||
156 | -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) | ||
157 | -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) | ||
158 | -# endif | ||
159 | - | ||
160 | -#elif defined(__HP_cc) | ||
161 | -# define COMPILER_ID "HP" | ||
162 | - /* __HP_cc = VVRRPP */ | ||
163 | -# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) | ||
164 | -# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) | ||
165 | -# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) | ||
166 | - | ||
167 | -#elif defined(__DECC) | ||
168 | -# define COMPILER_ID "Compaq" | ||
169 | - /* __DECC_VER = VVRRTPPPP */ | ||
170 | -# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) | ||
171 | -# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) | ||
172 | -# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) | ||
173 | - | ||
174 | -#elif defined(__IBMC__) && defined(__COMPILER_VER__) | ||
175 | -# define COMPILER_ID "zOS" | ||
176 | - /* __IBMC__ = VRP */ | ||
177 | -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) | ||
178 | -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) | ||
179 | -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) | ||
180 | - | ||
181 | -#elif defined(__open_xl__) && defined(__clang__) | ||
182 | -# define COMPILER_ID "IBMClang" | ||
183 | -# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) | ||
184 | -# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) | ||
185 | -# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) | ||
186 | -# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) | ||
187 | - | ||
188 | - | ||
189 | -#elif defined(__ibmxl__) && defined(__clang__) | ||
190 | -# define COMPILER_ID "XLClang" | ||
191 | -# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) | ||
192 | -# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) | ||
193 | -# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) | ||
194 | -# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) | ||
195 | - | ||
196 | - | ||
197 | -#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 | ||
198 | -# define COMPILER_ID "XL" | ||
199 | - /* __IBMC__ = VRP */ | ||
200 | -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) | ||
201 | -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) | ||
202 | -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) | ||
203 | - | ||
204 | -#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 | ||
205 | -# define COMPILER_ID "VisualAge" | ||
206 | - /* __IBMC__ = VRP */ | ||
207 | -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) | ||
208 | -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) | ||
209 | -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) | ||
210 | - | ||
211 | -#elif defined(__NVCOMPILER) | ||
212 | -# define COMPILER_ID "NVHPC" | ||
213 | -# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) | ||
214 | -# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) | ||
215 | -# if defined(__NVCOMPILER_PATCHLEVEL__) | ||
216 | -# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) | ||
217 | -# endif | ||
218 | - | ||
219 | -#elif defined(__PGI) | ||
220 | -# define COMPILER_ID "PGI" | ||
221 | -# define COMPILER_VERSION_MAJOR DEC(__PGIC__) | ||
222 | -# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) | ||
223 | -# if defined(__PGIC_PATCHLEVEL__) | ||
224 | -# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) | ||
225 | -# endif | ||
226 | - | ||
227 | -#elif defined(_CRAYC) | ||
228 | -# define COMPILER_ID "Cray" | ||
229 | -# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) | ||
230 | -# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) | ||
231 | - | ||
232 | -#elif defined(__TI_COMPILER_VERSION__) | ||
233 | -# define COMPILER_ID "TI" | ||
234 | - /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ | ||
235 | -# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) | ||
236 | -# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) | ||
237 | -# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) | ||
238 | - | ||
239 | -#elif defined(__CLANG_FUJITSU) | ||
240 | -# define COMPILER_ID "FujitsuClang" | ||
241 | -# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) | ||
242 | -# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) | ||
243 | -# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) | ||
244 | -# define COMPILER_VERSION_INTERNAL_STR __clang_version__ | ||
245 | - | ||
246 | - | ||
247 | -#elif defined(__FUJITSU) | ||
248 | -# define COMPILER_ID "Fujitsu" | ||
249 | -# if defined(__FCC_version__) | ||
250 | -# define COMPILER_VERSION __FCC_version__ | ||
251 | -# elif defined(__FCC_major__) | ||
252 | -# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) | ||
253 | -# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) | ||
254 | -# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) | ||
255 | -# endif | ||
256 | -# if defined(__fcc_version) | ||
257 | -# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) | ||
258 | -# elif defined(__FCC_VERSION) | ||
259 | -# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) | ||
260 | -# endif | ||
261 | - | ||
262 | - | ||
263 | -#elif defined(__ghs__) | ||
264 | -# define COMPILER_ID "GHS" | ||
265 | -/* __GHS_VERSION_NUMBER = VVVVRP */ | ||
266 | -# ifdef __GHS_VERSION_NUMBER | ||
267 | -# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) | ||
268 | -# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) | ||
269 | -# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) | ||
270 | -# endif | ||
271 | - | ||
272 | -#elif defined(__TINYC__) | ||
273 | -# define COMPILER_ID "TinyCC" | ||
274 | - | ||
275 | -#elif defined(__BCC__) | ||
276 | -# define COMPILER_ID "Bruce" | ||
277 | - | ||
278 | -#elif defined(__SCO_VERSION__) | ||
279 | -# define COMPILER_ID "SCO" | ||
280 | - | ||
281 | -#elif defined(__ARMCC_VERSION) && !defined(__clang__) | ||
282 | -# define COMPILER_ID "ARMCC" | ||
283 | -#if __ARMCC_VERSION >= 1000000 | ||
284 | - /* __ARMCC_VERSION = VRRPPPP */ | ||
285 | - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) | ||
286 | - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) | ||
287 | - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) | ||
288 | -#else | ||
289 | - /* __ARMCC_VERSION = VRPPPP */ | ||
290 | - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) | ||
291 | - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) | ||
292 | - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) | ||
293 | -#endif | ||
294 | - | ||
295 | - | ||
296 | -#elif defined(__clang__) && defined(__apple_build_version__) | ||
297 | -# define COMPILER_ID "AppleClang" | ||
298 | -# if defined(_MSC_VER) | ||
299 | -# define SIMULATE_ID "MSVC" | ||
300 | -# endif | ||
301 | -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) | ||
302 | -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) | ||
303 | -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) | ||
304 | -# if defined(_MSC_VER) | ||
305 | - /* _MSC_VER = VVRR */ | ||
306 | -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) | ||
307 | -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) | ||
308 | -# endif | ||
309 | -# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) | ||
310 | - | ||
311 | -#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) | ||
312 | -# define COMPILER_ID "ARMClang" | ||
313 | - # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) | ||
314 | - # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) | ||
315 | - # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) | ||
316 | -# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) | ||
317 | - | ||
318 | -#elif defined(__clang__) | ||
319 | -# define COMPILER_ID "Clang" | ||
320 | -# if defined(_MSC_VER) | ||
321 | -# define SIMULATE_ID "MSVC" | ||
322 | -# endif | ||
323 | -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) | ||
324 | -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) | ||
325 | -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) | ||
326 | -# if defined(_MSC_VER) | ||
327 | - /* _MSC_VER = VVRR */ | ||
328 | -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) | ||
329 | -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) | ||
330 | -# endif | ||
331 | - | ||
332 | -#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) | ||
333 | -# define COMPILER_ID "LCC" | ||
334 | -# define COMPILER_VERSION_MAJOR DEC(1) | ||
335 | -# if defined(__LCC__) | ||
336 | -# define COMPILER_VERSION_MINOR DEC(__LCC__- 100) | ||
337 | -# endif | ||
338 | -# if defined(__LCC_MINOR__) | ||
339 | -# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) | ||
340 | -# endif | ||
341 | -# if defined(__GNUC__) && defined(__GNUC_MINOR__) | ||
342 | -# define SIMULATE_ID "GNU" | ||
343 | -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) | ||
344 | -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) | ||
345 | -# if defined(__GNUC_PATCHLEVEL__) | ||
346 | -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) | ||
347 | -# endif | ||
348 | -# endif | ||
349 | - | ||
350 | -#elif defined(__GNUC__) | ||
351 | -# define COMPILER_ID "GNU" | ||
352 | -# define COMPILER_VERSION_MAJOR DEC(__GNUC__) | ||
353 | -# if defined(__GNUC_MINOR__) | ||
354 | -# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) | ||
355 | -# endif | ||
356 | -# if defined(__GNUC_PATCHLEVEL__) | ||
357 | -# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) | ||
358 | -# endif | ||
359 | - | ||
360 | -#elif defined(_MSC_VER) | ||
361 | -# define COMPILER_ID "MSVC" | ||
362 | - /* _MSC_VER = VVRR */ | ||
363 | -# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) | ||
364 | -# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) | ||
365 | -# if defined(_MSC_FULL_VER) | ||
366 | -# if _MSC_VER >= 1400 | ||
367 | - /* _MSC_FULL_VER = VVRRPPPPP */ | ||
368 | -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) | ||
369 | -# else | ||
370 | - /* _MSC_FULL_VER = VVRRPPPP */ | ||
371 | -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) | ||
372 | -# endif | ||
373 | -# endif | ||
374 | -# if defined(_MSC_BUILD) | ||
375 | -# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) | ||
376 | -# endif | ||
377 | - | ||
378 | -#elif defined(_ADI_COMPILER) | ||
379 | -# define COMPILER_ID "ADSP" | ||
380 | -#if defined(__VERSIONNUM__) | ||
381 | - /* __VERSIONNUM__ = 0xVVRRPPTT */ | ||
382 | -# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) | ||
383 | -# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) | ||
384 | -# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) | ||
385 | -# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) | ||
386 | -#endif | ||
387 | - | ||
388 | -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) | ||
389 | -# define COMPILER_ID "IAR" | ||
390 | -# if defined(__VER__) && defined(__ICCARM__) | ||
391 | -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) | ||
392 | -# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) | ||
393 | -# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) | ||
394 | -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) | ||
395 | -# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) | ||
396 | -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) | ||
397 | -# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) | ||
398 | -# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) | ||
399 | -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) | ||
400 | -# endif | ||
401 | - | ||
402 | -#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) | ||
403 | -# define COMPILER_ID "SDCC" | ||
404 | -# if defined(__SDCC_VERSION_MAJOR) | ||
405 | -# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) | ||
406 | -# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) | ||
407 | -# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) | ||
408 | -# else | ||
409 | - /* SDCC = VRP */ | ||
410 | -# define COMPILER_VERSION_MAJOR DEC(SDCC/100) | ||
411 | -# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) | ||
412 | -# define COMPILER_VERSION_PATCH DEC(SDCC % 10) | ||
413 | -# endif | ||
414 | - | ||
415 | - | ||
416 | -/* These compilers are either not known or too old to define an | ||
417 | - identification macro. Try to identify the platform and guess that | ||
418 | - it is the native compiler. */ | ||
419 | -#elif defined(__hpux) || defined(__hpua) | ||
420 | -# define COMPILER_ID "HP" | ||
421 | - | ||
422 | -#else /* unknown compiler */ | ||
423 | -# define COMPILER_ID "" | ||
424 | -#endif | ||
425 | - | ||
426 | -/* Construct the string literal in pieces to prevent the source from | ||
427 | - getting matched. Store it in a pointer rather than an array | ||
428 | - because some compilers will just produce instructions to fill the | ||
429 | - array rather than assigning a pointer to a static array. */ | ||
430 | -char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; | ||
431 | -#ifdef SIMULATE_ID | ||
432 | -char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; | ||
433 | -#endif | ||
434 | - | ||
435 | -#ifdef __QNXNTO__ | ||
436 | -char const* qnxnto = "INFO" ":" "qnxnto[]"; | ||
437 | -#endif | ||
438 | - | ||
439 | -#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) | ||
440 | -char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; | ||
441 | -#endif | ||
442 | - | ||
443 | -#define STRINGIFY_HELPER(X) #X | ||
444 | -#define STRINGIFY(X) STRINGIFY_HELPER(X) | ||
445 | - | ||
446 | -/* Identify known platforms by name. */ | ||
447 | -#if defined(__linux) || defined(__linux__) || defined(linux) | ||
448 | -# define PLATFORM_ID "Linux" | ||
449 | - | ||
450 | -#elif defined(__MSYS__) | ||
451 | -# define PLATFORM_ID "MSYS" | ||
452 | - | ||
453 | -#elif defined(__CYGWIN__) | ||
454 | -# define PLATFORM_ID "Cygwin" | ||
455 | - | ||
456 | -#elif defined(__MINGW32__) | ||
457 | -# define PLATFORM_ID "MinGW" | ||
458 | - | ||
459 | -#elif defined(__APPLE__) | ||
460 | -# define PLATFORM_ID "Darwin" | ||
461 | - | ||
462 | -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) | ||
463 | -# define PLATFORM_ID "Windows" | ||
464 | - | ||
465 | -#elif defined(__FreeBSD__) || defined(__FreeBSD) | ||
466 | -# define PLATFORM_ID "FreeBSD" | ||
467 | - | ||
468 | -#elif defined(__NetBSD__) || defined(__NetBSD) | ||
469 | -# define PLATFORM_ID "NetBSD" | ||
470 | - | ||
471 | -#elif defined(__OpenBSD__) || defined(__OPENBSD) | ||
472 | -# define PLATFORM_ID "OpenBSD" | ||
473 | - | ||
474 | -#elif defined(__sun) || defined(sun) | ||
475 | -# define PLATFORM_ID "SunOS" | ||
476 | - | ||
477 | -#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) | ||
478 | -# define PLATFORM_ID "AIX" | ||
479 | - | ||
480 | -#elif defined(__hpux) || defined(__hpux__) | ||
481 | -# define PLATFORM_ID "HP-UX" | ||
482 | - | ||
483 | -#elif defined(__HAIKU__) | ||
484 | -# define PLATFORM_ID "Haiku" | ||
485 | - | ||
486 | -#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) | ||
487 | -# define PLATFORM_ID "BeOS" | ||
488 | - | ||
489 | -#elif defined(__QNX__) || defined(__QNXNTO__) | ||
490 | -# define PLATFORM_ID "QNX" | ||
491 | - | ||
492 | -#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) | ||
493 | -# define PLATFORM_ID "Tru64" | ||
494 | - | ||
495 | -#elif defined(__riscos) || defined(__riscos__) | ||
496 | -# define PLATFORM_ID "RISCos" | ||
497 | - | ||
498 | -#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) | ||
499 | -# define PLATFORM_ID "SINIX" | ||
500 | - | ||
501 | -#elif defined(__UNIX_SV__) | ||
502 | -# define PLATFORM_ID "UNIX_SV" | ||
503 | - | ||
504 | -#elif defined(__bsdos__) | ||
505 | -# define PLATFORM_ID "BSDOS" | ||
506 | - | ||
507 | -#elif defined(_MPRAS) || defined(MPRAS) | ||
508 | -# define PLATFORM_ID "MP-RAS" | ||
509 | - | ||
510 | -#elif defined(__osf) || defined(__osf__) | ||
511 | -# define PLATFORM_ID "OSF1" | ||
512 | - | ||
513 | -#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) | ||
514 | -# define PLATFORM_ID "SCO_SV" | ||
515 | - | ||
516 | -#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) | ||
517 | -# define PLATFORM_ID "ULTRIX" | ||
518 | - | ||
519 | -#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) | ||
520 | -# define PLATFORM_ID "Xenix" | ||
521 | - | ||
522 | -#elif defined(__WATCOMC__) | ||
523 | -# if defined(__LINUX__) | ||
524 | -# define PLATFORM_ID "Linux" | ||
525 | - | ||
526 | -# elif defined(__DOS__) | ||
527 | -# define PLATFORM_ID "DOS" | ||
528 | - | ||
529 | -# elif defined(__OS2__) | ||
530 | -# define PLATFORM_ID "OS2" | ||
531 | - | ||
532 | -# elif defined(__WINDOWS__) | ||
533 | -# define PLATFORM_ID "Windows3x" | ||
534 | - | ||
535 | -# elif defined(__VXWORKS__) | ||
536 | -# define PLATFORM_ID "VxWorks" | ||
537 | - | ||
538 | -# else /* unknown platform */ | ||
539 | -# define PLATFORM_ID | ||
540 | -# endif | ||
541 | - | ||
542 | -#elif defined(__INTEGRITY) | ||
543 | -# if defined(INT_178B) | ||
544 | -# define PLATFORM_ID "Integrity178" | ||
545 | - | ||
546 | -# else /* regular Integrity */ | ||
547 | -# define PLATFORM_ID "Integrity" | ||
548 | -# endif | ||
549 | - | ||
550 | -# elif defined(_ADI_COMPILER) | ||
551 | -# define PLATFORM_ID "ADSP" | ||
552 | - | ||
553 | -#else /* unknown platform */ | ||
554 | -# define PLATFORM_ID | ||
555 | - | ||
556 | -#endif | ||
557 | - | ||
558 | -/* For windows compilers MSVC and Intel we can determine | ||
559 | - the architecture of the compiler being used. This is because | ||
560 | - the compilers do not have flags that can change the architecture, | ||
561 | - but rather depend on which compiler is being used | ||
562 | -*/ | ||
563 | -#if defined(_WIN32) && defined(_MSC_VER) | ||
564 | -# if defined(_M_IA64) | ||
565 | -# define ARCHITECTURE_ID "IA64" | ||
566 | - | ||
567 | -# elif defined(_M_ARM64EC) | ||
568 | -# define ARCHITECTURE_ID "ARM64EC" | ||
569 | - | ||
570 | -# elif defined(_M_X64) || defined(_M_AMD64) | ||
571 | -# define ARCHITECTURE_ID "x64" | ||
572 | - | ||
573 | -# elif defined(_M_IX86) | ||
574 | -# define ARCHITECTURE_ID "X86" | ||
575 | - | ||
576 | -# elif defined(_M_ARM64) | ||
577 | -# define ARCHITECTURE_ID "ARM64" | ||
578 | - | ||
579 | -# elif defined(_M_ARM) | ||
580 | -# if _M_ARM == 4 | ||
581 | -# define ARCHITECTURE_ID "ARMV4I" | ||
582 | -# elif _M_ARM == 5 | ||
583 | -# define ARCHITECTURE_ID "ARMV5I" | ||
584 | -# else | ||
585 | -# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) | ||
586 | -# endif | ||
587 | - | ||
588 | -# elif defined(_M_MIPS) | ||
589 | -# define ARCHITECTURE_ID "MIPS" | ||
590 | - | ||
591 | -# elif defined(_M_SH) | ||
592 | -# define ARCHITECTURE_ID "SHx" | ||
593 | - | ||
594 | -# else /* unknown architecture */ | ||
595 | -# define ARCHITECTURE_ID "" | ||
596 | -# endif | ||
597 | - | ||
598 | -#elif defined(__WATCOMC__) | ||
599 | -# if defined(_M_I86) | ||
600 | -# define ARCHITECTURE_ID "I86" | ||
601 | - | ||
602 | -# elif defined(_M_IX86) | ||
603 | -# define ARCHITECTURE_ID "X86" | ||
604 | - | ||
605 | -# else /* unknown architecture */ | ||
606 | -# define ARCHITECTURE_ID "" | ||
607 | -# endif | ||
608 | - | ||
609 | -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) | ||
610 | -# if defined(__ICCARM__) | ||
611 | -# define ARCHITECTURE_ID "ARM" | ||
612 | - | ||
613 | -# elif defined(__ICCRX__) | ||
614 | -# define ARCHITECTURE_ID "RX" | ||
615 | - | ||
616 | -# elif defined(__ICCRH850__) | ||
617 | -# define ARCHITECTURE_ID "RH850" | ||
618 | - | ||
619 | -# elif defined(__ICCRL78__) | ||
620 | -# define ARCHITECTURE_ID "RL78" | ||
621 | - | ||
622 | -# elif defined(__ICCRISCV__) | ||
623 | -# define ARCHITECTURE_ID "RISCV" | ||
624 | - | ||
625 | -# elif defined(__ICCAVR__) | ||
626 | -# define ARCHITECTURE_ID "AVR" | ||
627 | - | ||
628 | -# elif defined(__ICC430__) | ||
629 | -# define ARCHITECTURE_ID "MSP430" | ||
630 | - | ||
631 | -# elif defined(__ICCV850__) | ||
632 | -# define ARCHITECTURE_ID "V850" | ||
633 | - | ||
634 | -# elif defined(__ICC8051__) | ||
635 | -# define ARCHITECTURE_ID "8051" | ||
636 | - | ||
637 | -# elif defined(__ICCSTM8__) | ||
638 | -# define ARCHITECTURE_ID "STM8" | ||
639 | - | ||
640 | -# else /* unknown architecture */ | ||
641 | -# define ARCHITECTURE_ID "" | ||
642 | -# endif | ||
643 | - | ||
644 | -#elif defined(__ghs__) | ||
645 | -# if defined(__PPC64__) | ||
646 | -# define ARCHITECTURE_ID "PPC64" | ||
647 | - | ||
648 | -# elif defined(__ppc__) | ||
649 | -# define ARCHITECTURE_ID "PPC" | ||
650 | - | ||
651 | -# elif defined(__ARM__) | ||
652 | -# define ARCHITECTURE_ID "ARM" | ||
653 | - | ||
654 | -# elif defined(__x86_64__) | ||
655 | -# define ARCHITECTURE_ID "x64" | ||
656 | - | ||
657 | -# elif defined(__i386__) | ||
658 | -# define ARCHITECTURE_ID "X86" | ||
659 | - | ||
660 | -# else /* unknown architecture */ | ||
661 | -# define ARCHITECTURE_ID "" | ||
662 | -# endif | ||
663 | - | ||
664 | -#elif defined(__TI_COMPILER_VERSION__) | ||
665 | -# if defined(__TI_ARM__) | ||
666 | -# define ARCHITECTURE_ID "ARM" | ||
667 | - | ||
668 | -# elif defined(__MSP430__) | ||
669 | -# define ARCHITECTURE_ID "MSP430" | ||
670 | - | ||
671 | -# elif defined(__TMS320C28XX__) | ||
672 | -# define ARCHITECTURE_ID "TMS320C28x" | ||
673 | - | ||
674 | -# elif defined(__TMS320C6X__) || defined(_TMS320C6X) | ||
675 | -# define ARCHITECTURE_ID "TMS320C6x" | ||
676 | - | ||
677 | -# else /* unknown architecture */ | ||
678 | -# define ARCHITECTURE_ID "" | ||
679 | -# endif | ||
680 | - | ||
681 | -# elif defined(__ADSPSHARC__) | ||
682 | -# define ARCHITECTURE_ID "SHARC" | ||
683 | - | ||
684 | -# elif defined(__ADSPBLACKFIN__) | ||
685 | -# define ARCHITECTURE_ID "Blackfin" | ||
686 | - | ||
687 | -#else | ||
688 | -# define ARCHITECTURE_ID | ||
689 | -#endif | ||
690 | - | ||
691 | -/* Convert integer to decimal digit literals. */ | ||
692 | -#define DEC(n) \ | ||
693 | - ('0' + (((n) / 10000000)%10)), \ | ||
694 | - ('0' + (((n) / 1000000)%10)), \ | ||
695 | - ('0' + (((n) / 100000)%10)), \ | ||
696 | - ('0' + (((n) / 10000)%10)), \ | ||
697 | - ('0' + (((n) / 1000)%10)), \ | ||
698 | - ('0' + (((n) / 100)%10)), \ | ||
699 | - ('0' + (((n) / 10)%10)), \ | ||
700 | - ('0' + ((n) % 10)) | ||
701 | - | ||
702 | -/* Convert integer to hex digit literals. */ | ||
703 | -#define HEX(n) \ | ||
704 | - ('0' + ((n)>>28 & 0xF)), \ | ||
705 | - ('0' + ((n)>>24 & 0xF)), \ | ||
706 | - ('0' + ((n)>>20 & 0xF)), \ | ||
707 | - ('0' + ((n)>>16 & 0xF)), \ | ||
708 | - ('0' + ((n)>>12 & 0xF)), \ | ||
709 | - ('0' + ((n)>>8 & 0xF)), \ | ||
710 | - ('0' + ((n)>>4 & 0xF)), \ | ||
711 | - ('0' + ((n) & 0xF)) | ||
712 | - | ||
713 | -/* Construct a string literal encoding the version number. */ | ||
714 | -#ifdef COMPILER_VERSION | ||
715 | -char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; | ||
716 | - | ||
717 | -/* Construct a string literal encoding the version number components. */ | ||
718 | -#elif defined(COMPILER_VERSION_MAJOR) | ||
719 | -char const info_version[] = { | ||
720 | - 'I', 'N', 'F', 'O', ':', | ||
721 | - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', | ||
722 | - COMPILER_VERSION_MAJOR, | ||
723 | -# ifdef COMPILER_VERSION_MINOR | ||
724 | - '.', COMPILER_VERSION_MINOR, | ||
725 | -# ifdef COMPILER_VERSION_PATCH | ||
726 | - '.', COMPILER_VERSION_PATCH, | ||
727 | -# ifdef COMPILER_VERSION_TWEAK | ||
728 | - '.', COMPILER_VERSION_TWEAK, | ||
729 | -# endif | ||
730 | -# endif | ||
731 | -# endif | ||
732 | - ']','\0'}; | ||
733 | -#endif | ||
734 | - | ||
735 | -/* Construct a string literal encoding the internal version number. */ | ||
736 | -#ifdef COMPILER_VERSION_INTERNAL | ||
737 | -char const info_version_internal[] = { | ||
738 | - 'I', 'N', 'F', 'O', ':', | ||
739 | - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', | ||
740 | - 'i','n','t','e','r','n','a','l','[', | ||
741 | - COMPILER_VERSION_INTERNAL,']','\0'}; | ||
742 | -#elif defined(COMPILER_VERSION_INTERNAL_STR) | ||
743 | -char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; | ||
744 | -#endif | ||
745 | - | ||
746 | -/* Construct a string literal encoding the version number components. */ | ||
747 | -#ifdef SIMULATE_VERSION_MAJOR | ||
748 | -char const info_simulate_version[] = { | ||
749 | - 'I', 'N', 'F', 'O', ':', | ||
750 | - 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', | ||
751 | - SIMULATE_VERSION_MAJOR, | ||
752 | -# ifdef SIMULATE_VERSION_MINOR | ||
753 | - '.', SIMULATE_VERSION_MINOR, | ||
754 | -# ifdef SIMULATE_VERSION_PATCH | ||
755 | - '.', SIMULATE_VERSION_PATCH, | ||
756 | -# ifdef SIMULATE_VERSION_TWEAK | ||
757 | - '.', SIMULATE_VERSION_TWEAK, | ||
758 | -# endif | ||
759 | -# endif | ||
760 | -# endif | ||
761 | - ']','\0'}; | ||
762 | -#endif | ||
763 | - | ||
764 | -/* Construct the string literal in pieces to prevent the source from | ||
765 | - getting matched. Store it in a pointer rather than an array | ||
766 | - because some compilers will just produce instructions to fill the | ||
767 | - array rather than assigning a pointer to a static array. */ | ||
768 | -char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; | ||
769 | -char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; | ||
770 | - | ||
771 | - | ||
772 | - | ||
773 | -#if !defined(__STDC__) && !defined(__clang__) | ||
774 | -# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) | ||
775 | -# define C_VERSION "90" | ||
776 | -# else | ||
777 | -# define C_VERSION | ||
778 | -# endif | ||
779 | -#elif __STDC_VERSION__ > 201710L | ||
780 | -# define C_VERSION "23" | ||
781 | -#elif __STDC_VERSION__ >= 201710L | ||
782 | -# define C_VERSION "17" | ||
783 | -#elif __STDC_VERSION__ >= 201000L | ||
784 | -# define C_VERSION "11" | ||
785 | -#elif __STDC_VERSION__ >= 199901L | ||
786 | -# define C_VERSION "99" | ||
787 | -#else | ||
788 | -# define C_VERSION "90" | ||
789 | -#endif | ||
790 | -const char* info_language_standard_default = | ||
791 | - "INFO" ":" "standard_default[" C_VERSION "]"; | ||
792 | - | ||
793 | -const char* info_language_extensions_default = "INFO" ":" "extensions_default[" | ||
794 | -#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ | ||
795 | - defined(__TI_COMPILER_VERSION__)) && \ | ||
796 | - !defined(__STRICT_ANSI__) | ||
797 | - "ON" | ||
798 | -#else | ||
799 | - "OFF" | ||
800 | -#endif | ||
801 | -"]"; | ||
802 | - | ||
803 | -/*--------------------------------------------------------------------------*/ | ||
804 | - | ||
805 | -#ifdef ID_VOID_MAIN | ||
806 | -void main() {} | ||
807 | -#else | ||
808 | -# if defined(__CLASSIC_C__) | ||
809 | -int main(argc, argv) int argc; char *argv[]; | ||
810 | -# else | ||
811 | -int main(int argc, char* argv[]) | ||
812 | -# endif | ||
813 | -{ | ||
814 | - int require = 0; | ||
815 | - require += info_compiler[argc]; | ||
816 | - require += info_platform[argc]; | ||
817 | - require += info_arch[argc]; | ||
818 | -#ifdef COMPILER_VERSION_MAJOR | ||
819 | - require += info_version[argc]; | ||
820 | -#endif | ||
821 | -#ifdef COMPILER_VERSION_INTERNAL | ||
822 | - require += info_version_internal[argc]; | ||
823 | -#endif | ||
824 | -#ifdef SIMULATE_ID | ||
825 | - require += info_simulate[argc]; | ||
826 | -#endif | ||
827 | -#ifdef SIMULATE_VERSION_MAJOR | ||
828 | - require += info_simulate_version[argc]; | ||
829 | -#endif | ||
830 | -#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) | ||
831 | - require += info_cray[argc]; | ||
832 | -#endif | ||
833 | - require += info_language_standard_default[argc]; | ||
834 | - require += info_language_extensions_default[argc]; | ||
835 | - (void)argv; | ||
836 | - return require; | ||
837 | -} | ||
838 | -#endif |
不能预览此文件类型
project_build/Attention_提示程序/build/CMakeFiles/3.24.1/CompilerIdCXX/CMakeCXXCompilerId.cpp
已删除
100644 → 0
1 | -/* This source file must have a .cpp extension so that all C++ compilers | ||
2 | - recognize the extension without flags. Borland does not know .cxx for | ||
3 | - example. */ | ||
4 | -#ifndef __cplusplus | ||
5 | -# error "A C compiler has been selected for C++." | ||
6 | -#endif | ||
7 | - | ||
8 | -#if !defined(__has_include) | ||
9 | -/* If the compiler does not have __has_include, pretend the answer is | ||
10 | - always no. */ | ||
11 | -# define __has_include(x) 0 | ||
12 | -#endif | ||
13 | - | ||
14 | - | ||
15 | -/* Version number components: V=Version, R=Revision, P=Patch | ||
16 | - Version date components: YYYY=Year, MM=Month, DD=Day */ | ||
17 | - | ||
18 | -#if defined(__COMO__) | ||
19 | -# define COMPILER_ID "Comeau" | ||
20 | - /* __COMO_VERSION__ = VRR */ | ||
21 | -# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) | ||
22 | -# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) | ||
23 | - | ||
24 | -#elif defined(__INTEL_COMPILER) || defined(__ICC) | ||
25 | -# define COMPILER_ID "Intel" | ||
26 | -# if defined(_MSC_VER) | ||
27 | -# define SIMULATE_ID "MSVC" | ||
28 | -# endif | ||
29 | -# if defined(__GNUC__) | ||
30 | -# define SIMULATE_ID "GNU" | ||
31 | -# endif | ||
32 | - /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, | ||
33 | - except that a few beta releases use the old format with V=2021. */ | ||
34 | -# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 | ||
35 | -# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) | ||
36 | -# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) | ||
37 | -# if defined(__INTEL_COMPILER_UPDATE) | ||
38 | -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) | ||
39 | -# else | ||
40 | -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) | ||
41 | -# endif | ||
42 | -# else | ||
43 | -# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) | ||
44 | -# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) | ||
45 | - /* The third version component from --version is an update index, | ||
46 | - but no macro is provided for it. */ | ||
47 | -# define COMPILER_VERSION_PATCH DEC(0) | ||
48 | -# endif | ||
49 | -# if defined(__INTEL_COMPILER_BUILD_DATE) | ||
50 | - /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ | ||
51 | -# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) | ||
52 | -# endif | ||
53 | -# if defined(_MSC_VER) | ||
54 | - /* _MSC_VER = VVRR */ | ||
55 | -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) | ||
56 | -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) | ||
57 | -# endif | ||
58 | -# if defined(__GNUC__) | ||
59 | -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) | ||
60 | -# elif defined(__GNUG__) | ||
61 | -# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) | ||
62 | -# endif | ||
63 | -# if defined(__GNUC_MINOR__) | ||
64 | -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) | ||
65 | -# endif | ||
66 | -# if defined(__GNUC_PATCHLEVEL__) | ||
67 | -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) | ||
68 | -# endif | ||
69 | - | ||
70 | -#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) | ||
71 | -# define COMPILER_ID "IntelLLVM" | ||
72 | -#if defined(_MSC_VER) | ||
73 | -# define SIMULATE_ID "MSVC" | ||
74 | -#endif | ||
75 | -#if defined(__GNUC__) | ||
76 | -# define SIMULATE_ID "GNU" | ||
77 | -#endif | ||
78 | -/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and | ||
79 | - * later. Look for 6 digit vs. 8 digit version number to decide encoding. | ||
80 | - * VVVV is no smaller than the current year when a version is released. | ||
81 | - */ | ||
82 | -#if __INTEL_LLVM_COMPILER < 1000000L | ||
83 | -# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) | ||
84 | -# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) | ||
85 | -# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) | ||
86 | -#else | ||
87 | -# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) | ||
88 | -# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) | ||
89 | -# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) | ||
90 | -#endif | ||
91 | -#if defined(_MSC_VER) | ||
92 | - /* _MSC_VER = VVRR */ | ||
93 | -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) | ||
94 | -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) | ||
95 | -#endif | ||
96 | -#if defined(__GNUC__) | ||
97 | -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) | ||
98 | -#elif defined(__GNUG__) | ||
99 | -# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) | ||
100 | -#endif | ||
101 | -#if defined(__GNUC_MINOR__) | ||
102 | -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) | ||
103 | -#endif | ||
104 | -#if defined(__GNUC_PATCHLEVEL__) | ||
105 | -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) | ||
106 | -#endif | ||
107 | - | ||
108 | -#elif defined(__PATHCC__) | ||
109 | -# define COMPILER_ID "PathScale" | ||
110 | -# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) | ||
111 | -# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) | ||
112 | -# if defined(__PATHCC_PATCHLEVEL__) | ||
113 | -# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) | ||
114 | -# endif | ||
115 | - | ||
116 | -#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) | ||
117 | -# define COMPILER_ID "Embarcadero" | ||
118 | -# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) | ||
119 | -# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) | ||
120 | -# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) | ||
121 | - | ||
122 | -#elif defined(__BORLANDC__) | ||
123 | -# define COMPILER_ID "Borland" | ||
124 | - /* __BORLANDC__ = 0xVRR */ | ||
125 | -# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) | ||
126 | -# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) | ||
127 | - | ||
128 | -#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 | ||
129 | -# define COMPILER_ID "Watcom" | ||
130 | - /* __WATCOMC__ = VVRR */ | ||
131 | -# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) | ||
132 | -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) | ||
133 | -# if (__WATCOMC__ % 10) > 0 | ||
134 | -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) | ||
135 | -# endif | ||
136 | - | ||
137 | -#elif defined(__WATCOMC__) | ||
138 | -# define COMPILER_ID "OpenWatcom" | ||
139 | - /* __WATCOMC__ = VVRP + 1100 */ | ||
140 | -# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) | ||
141 | -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) | ||
142 | -# if (__WATCOMC__ % 10) > 0 | ||
143 | -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) | ||
144 | -# endif | ||
145 | - | ||
146 | -#elif defined(__SUNPRO_CC) | ||
147 | -# define COMPILER_ID "SunPro" | ||
148 | -# if __SUNPRO_CC >= 0x5100 | ||
149 | - /* __SUNPRO_CC = 0xVRRP */ | ||
150 | -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) | ||
151 | -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) | ||
152 | -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) | ||
153 | -# else | ||
154 | - /* __SUNPRO_CC = 0xVRP */ | ||
155 | -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) | ||
156 | -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) | ||
157 | -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) | ||
158 | -# endif | ||
159 | - | ||
160 | -#elif defined(__HP_aCC) | ||
161 | -# define COMPILER_ID "HP" | ||
162 | - /* __HP_aCC = VVRRPP */ | ||
163 | -# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) | ||
164 | -# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) | ||
165 | -# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) | ||
166 | - | ||
167 | -#elif defined(__DECCXX) | ||
168 | -# define COMPILER_ID "Compaq" | ||
169 | - /* __DECCXX_VER = VVRRTPPPP */ | ||
170 | -# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) | ||
171 | -# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) | ||
172 | -# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) | ||
173 | - | ||
174 | -#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) | ||
175 | -# define COMPILER_ID "zOS" | ||
176 | - /* __IBMCPP__ = VRP */ | ||
177 | -# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) | ||
178 | -# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) | ||
179 | -# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) | ||
180 | - | ||
181 | -#elif defined(__open_xl__) && defined(__clang__) | ||
182 | -# define COMPILER_ID "IBMClang" | ||
183 | -# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) | ||
184 | -# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) | ||
185 | -# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) | ||
186 | -# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) | ||
187 | - | ||
188 | - | ||
189 | -#elif defined(__ibmxl__) && defined(__clang__) | ||
190 | -# define COMPILER_ID "XLClang" | ||
191 | -# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) | ||
192 | -# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) | ||
193 | -# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) | ||
194 | -# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) | ||
195 | - | ||
196 | - | ||
197 | -#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 | ||
198 | -# define COMPILER_ID "XL" | ||
199 | - /* __IBMCPP__ = VRP */ | ||
200 | -# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) | ||
201 | -# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) | ||
202 | -# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) | ||
203 | - | ||
204 | -#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 | ||
205 | -# define COMPILER_ID "VisualAge" | ||
206 | - /* __IBMCPP__ = VRP */ | ||
207 | -# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) | ||
208 | -# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) | ||
209 | -# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) | ||
210 | - | ||
211 | -#elif defined(__NVCOMPILER) | ||
212 | -# define COMPILER_ID "NVHPC" | ||
213 | -# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) | ||
214 | -# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) | ||
215 | -# if defined(__NVCOMPILER_PATCHLEVEL__) | ||
216 | -# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) | ||
217 | -# endif | ||
218 | - | ||
219 | -#elif defined(__PGI) | ||
220 | -# define COMPILER_ID "PGI" | ||
221 | -# define COMPILER_VERSION_MAJOR DEC(__PGIC__) | ||
222 | -# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) | ||
223 | -# if defined(__PGIC_PATCHLEVEL__) | ||
224 | -# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) | ||
225 | -# endif | ||
226 | - | ||
227 | -#elif defined(_CRAYC) | ||
228 | -# define COMPILER_ID "Cray" | ||
229 | -# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) | ||
230 | -# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) | ||
231 | - | ||
232 | -#elif defined(__TI_COMPILER_VERSION__) | ||
233 | -# define COMPILER_ID "TI" | ||
234 | - /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ | ||
235 | -# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) | ||
236 | -# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) | ||
237 | -# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) | ||
238 | - | ||
239 | -#elif defined(__CLANG_FUJITSU) | ||
240 | -# define COMPILER_ID "FujitsuClang" | ||
241 | -# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) | ||
242 | -# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) | ||
243 | -# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) | ||
244 | -# define COMPILER_VERSION_INTERNAL_STR __clang_version__ | ||
245 | - | ||
246 | - | ||
247 | -#elif defined(__FUJITSU) | ||
248 | -# define COMPILER_ID "Fujitsu" | ||
249 | -# if defined(__FCC_version__) | ||
250 | -# define COMPILER_VERSION __FCC_version__ | ||
251 | -# elif defined(__FCC_major__) | ||
252 | -# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) | ||
253 | -# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) | ||
254 | -# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) | ||
255 | -# endif | ||
256 | -# if defined(__fcc_version) | ||
257 | -# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) | ||
258 | -# elif defined(__FCC_VERSION) | ||
259 | -# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) | ||
260 | -# endif | ||
261 | - | ||
262 | - | ||
263 | -#elif defined(__ghs__) | ||
264 | -# define COMPILER_ID "GHS" | ||
265 | -/* __GHS_VERSION_NUMBER = VVVVRP */ | ||
266 | -# ifdef __GHS_VERSION_NUMBER | ||
267 | -# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) | ||
268 | -# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) | ||
269 | -# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) | ||
270 | -# endif | ||
271 | - | ||
272 | -#elif defined(__SCO_VERSION__) | ||
273 | -# define COMPILER_ID "SCO" | ||
274 | - | ||
275 | -#elif defined(__ARMCC_VERSION) && !defined(__clang__) | ||
276 | -# define COMPILER_ID "ARMCC" | ||
277 | -#if __ARMCC_VERSION >= 1000000 | ||
278 | - /* __ARMCC_VERSION = VRRPPPP */ | ||
279 | - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) | ||
280 | - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) | ||
281 | - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) | ||
282 | -#else | ||
283 | - /* __ARMCC_VERSION = VRPPPP */ | ||
284 | - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) | ||
285 | - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) | ||
286 | - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) | ||
287 | -#endif | ||
288 | - | ||
289 | - | ||
290 | -#elif defined(__clang__) && defined(__apple_build_version__) | ||
291 | -# define COMPILER_ID "AppleClang" | ||
292 | -# if defined(_MSC_VER) | ||
293 | -# define SIMULATE_ID "MSVC" | ||
294 | -# endif | ||
295 | -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) | ||
296 | -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) | ||
297 | -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) | ||
298 | -# if defined(_MSC_VER) | ||
299 | - /* _MSC_VER = VVRR */ | ||
300 | -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) | ||
301 | -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) | ||
302 | -# endif | ||
303 | -# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) | ||
304 | - | ||
305 | -#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) | ||
306 | -# define COMPILER_ID "ARMClang" | ||
307 | - # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) | ||
308 | - # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) | ||
309 | - # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) | ||
310 | -# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) | ||
311 | - | ||
312 | -#elif defined(__clang__) | ||
313 | -# define COMPILER_ID "Clang" | ||
314 | -# if defined(_MSC_VER) | ||
315 | -# define SIMULATE_ID "MSVC" | ||
316 | -# endif | ||
317 | -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) | ||
318 | -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) | ||
319 | -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) | ||
320 | -# if defined(_MSC_VER) | ||
321 | - /* _MSC_VER = VVRR */ | ||
322 | -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) | ||
323 | -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) | ||
324 | -# endif | ||
325 | - | ||
326 | -#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) | ||
327 | -# define COMPILER_ID "LCC" | ||
328 | -# define COMPILER_VERSION_MAJOR DEC(1) | ||
329 | -# if defined(__LCC__) | ||
330 | -# define COMPILER_VERSION_MINOR DEC(__LCC__- 100) | ||
331 | -# endif | ||
332 | -# if defined(__LCC_MINOR__) | ||
333 | -# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) | ||
334 | -# endif | ||
335 | -# if defined(__GNUC__) && defined(__GNUC_MINOR__) | ||
336 | -# define SIMULATE_ID "GNU" | ||
337 | -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) | ||
338 | -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) | ||
339 | -# if defined(__GNUC_PATCHLEVEL__) | ||
340 | -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) | ||
341 | -# endif | ||
342 | -# endif | ||
343 | - | ||
344 | -#elif defined(__GNUC__) || defined(__GNUG__) | ||
345 | -# define COMPILER_ID "GNU" | ||
346 | -# if defined(__GNUC__) | ||
347 | -# define COMPILER_VERSION_MAJOR DEC(__GNUC__) | ||
348 | -# else | ||
349 | -# define COMPILER_VERSION_MAJOR DEC(__GNUG__) | ||
350 | -# endif | ||
351 | -# if defined(__GNUC_MINOR__) | ||
352 | -# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) | ||
353 | -# endif | ||
354 | -# if defined(__GNUC_PATCHLEVEL__) | ||
355 | -# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) | ||
356 | -# endif | ||
357 | - | ||
358 | -#elif defined(_MSC_VER) | ||
359 | -# define COMPILER_ID "MSVC" | ||
360 | - /* _MSC_VER = VVRR */ | ||
361 | -# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) | ||
362 | -# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) | ||
363 | -# if defined(_MSC_FULL_VER) | ||
364 | -# if _MSC_VER >= 1400 | ||
365 | - /* _MSC_FULL_VER = VVRRPPPPP */ | ||
366 | -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) | ||
367 | -# else | ||
368 | - /* _MSC_FULL_VER = VVRRPPPP */ | ||
369 | -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) | ||
370 | -# endif | ||
371 | -# endif | ||
372 | -# if defined(_MSC_BUILD) | ||
373 | -# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) | ||
374 | -# endif | ||
375 | - | ||
376 | -#elif defined(_ADI_COMPILER) | ||
377 | -# define COMPILER_ID "ADSP" | ||
378 | -#if defined(__VERSIONNUM__) | ||
379 | - /* __VERSIONNUM__ = 0xVVRRPPTT */ | ||
380 | -# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) | ||
381 | -# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) | ||
382 | -# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) | ||
383 | -# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) | ||
384 | -#endif | ||
385 | - | ||
386 | -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) | ||
387 | -# define COMPILER_ID "IAR" | ||
388 | -# if defined(__VER__) && defined(__ICCARM__) | ||
389 | -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) | ||
390 | -# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) | ||
391 | -# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) | ||
392 | -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) | ||
393 | -# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) | ||
394 | -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) | ||
395 | -# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) | ||
396 | -# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) | ||
397 | -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) | ||
398 | -# endif | ||
399 | - | ||
400 | - | ||
401 | -/* These compilers are either not known or too old to define an | ||
402 | - identification macro. Try to identify the platform and guess that | ||
403 | - it is the native compiler. */ | ||
404 | -#elif defined(__hpux) || defined(__hpua) | ||
405 | -# define COMPILER_ID "HP" | ||
406 | - | ||
407 | -#else /* unknown compiler */ | ||
408 | -# define COMPILER_ID "" | ||
409 | -#endif | ||
410 | - | ||
411 | -/* Construct the string literal in pieces to prevent the source from | ||
412 | - getting matched. Store it in a pointer rather than an array | ||
413 | - because some compilers will just produce instructions to fill the | ||
414 | - array rather than assigning a pointer to a static array. */ | ||
415 | -char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; | ||
416 | -#ifdef SIMULATE_ID | ||
417 | -char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; | ||
418 | -#endif | ||
419 | - | ||
420 | -#ifdef __QNXNTO__ | ||
421 | -char const* qnxnto = "INFO" ":" "qnxnto[]"; | ||
422 | -#endif | ||
423 | - | ||
424 | -#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) | ||
425 | -char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; | ||
426 | -#endif | ||
427 | - | ||
428 | -#define STRINGIFY_HELPER(X) #X | ||
429 | -#define STRINGIFY(X) STRINGIFY_HELPER(X) | ||
430 | - | ||
431 | -/* Identify known platforms by name. */ | ||
432 | -#if defined(__linux) || defined(__linux__) || defined(linux) | ||
433 | -# define PLATFORM_ID "Linux" | ||
434 | - | ||
435 | -#elif defined(__MSYS__) | ||
436 | -# define PLATFORM_ID "MSYS" | ||
437 | - | ||
438 | -#elif defined(__CYGWIN__) | ||
439 | -# define PLATFORM_ID "Cygwin" | ||
440 | - | ||
441 | -#elif defined(__MINGW32__) | ||
442 | -# define PLATFORM_ID "MinGW" | ||
443 | - | ||
444 | -#elif defined(__APPLE__) | ||
445 | -# define PLATFORM_ID "Darwin" | ||
446 | - | ||
447 | -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) | ||
448 | -# define PLATFORM_ID "Windows" | ||
449 | - | ||
450 | -#elif defined(__FreeBSD__) || defined(__FreeBSD) | ||
451 | -# define PLATFORM_ID "FreeBSD" | ||
452 | - | ||
453 | -#elif defined(__NetBSD__) || defined(__NetBSD) | ||
454 | -# define PLATFORM_ID "NetBSD" | ||
455 | - | ||
456 | -#elif defined(__OpenBSD__) || defined(__OPENBSD) | ||
457 | -# define PLATFORM_ID "OpenBSD" | ||
458 | - | ||
459 | -#elif defined(__sun) || defined(sun) | ||
460 | -# define PLATFORM_ID "SunOS" | ||
461 | - | ||
462 | -#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) | ||
463 | -# define PLATFORM_ID "AIX" | ||
464 | - | ||
465 | -#elif defined(__hpux) || defined(__hpux__) | ||
466 | -# define PLATFORM_ID "HP-UX" | ||
467 | - | ||
468 | -#elif defined(__HAIKU__) | ||
469 | -# define PLATFORM_ID "Haiku" | ||
470 | - | ||
471 | -#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) | ||
472 | -# define PLATFORM_ID "BeOS" | ||
473 | - | ||
474 | -#elif defined(__QNX__) || defined(__QNXNTO__) | ||
475 | -# define PLATFORM_ID "QNX" | ||
476 | - | ||
477 | -#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) | ||
478 | -# define PLATFORM_ID "Tru64" | ||
479 | - | ||
480 | -#elif defined(__riscos) || defined(__riscos__) | ||
481 | -# define PLATFORM_ID "RISCos" | ||
482 | - | ||
483 | -#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) | ||
484 | -# define PLATFORM_ID "SINIX" | ||
485 | - | ||
486 | -#elif defined(__UNIX_SV__) | ||
487 | -# define PLATFORM_ID "UNIX_SV" | ||
488 | - | ||
489 | -#elif defined(__bsdos__) | ||
490 | -# define PLATFORM_ID "BSDOS" | ||
491 | - | ||
492 | -#elif defined(_MPRAS) || defined(MPRAS) | ||
493 | -# define PLATFORM_ID "MP-RAS" | ||
494 | - | ||
495 | -#elif defined(__osf) || defined(__osf__) | ||
496 | -# define PLATFORM_ID "OSF1" | ||
497 | - | ||
498 | -#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) | ||
499 | -# define PLATFORM_ID "SCO_SV" | ||
500 | - | ||
501 | -#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) | ||
502 | -# define PLATFORM_ID "ULTRIX" | ||
503 | - | ||
504 | -#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) | ||
505 | -# define PLATFORM_ID "Xenix" | ||
506 | - | ||
507 | -#elif defined(__WATCOMC__) | ||
508 | -# if defined(__LINUX__) | ||
509 | -# define PLATFORM_ID "Linux" | ||
510 | - | ||
511 | -# elif defined(__DOS__) | ||
512 | -# define PLATFORM_ID "DOS" | ||
513 | - | ||
514 | -# elif defined(__OS2__) | ||
515 | -# define PLATFORM_ID "OS2" | ||
516 | - | ||
517 | -# elif defined(__WINDOWS__) | ||
518 | -# define PLATFORM_ID "Windows3x" | ||
519 | - | ||
520 | -# elif defined(__VXWORKS__) | ||
521 | -# define PLATFORM_ID "VxWorks" | ||
522 | - | ||
523 | -# else /* unknown platform */ | ||
524 | -# define PLATFORM_ID | ||
525 | -# endif | ||
526 | - | ||
527 | -#elif defined(__INTEGRITY) | ||
528 | -# if defined(INT_178B) | ||
529 | -# define PLATFORM_ID "Integrity178" | ||
530 | - | ||
531 | -# else /* regular Integrity */ | ||
532 | -# define PLATFORM_ID "Integrity" | ||
533 | -# endif | ||
534 | - | ||
535 | -# elif defined(_ADI_COMPILER) | ||
536 | -# define PLATFORM_ID "ADSP" | ||
537 | - | ||
538 | -#else /* unknown platform */ | ||
539 | -# define PLATFORM_ID | ||
540 | - | ||
541 | -#endif | ||
542 | - | ||
543 | -/* For windows compilers MSVC and Intel we can determine | ||
544 | - the architecture of the compiler being used. This is because | ||
545 | - the compilers do not have flags that can change the architecture, | ||
546 | - but rather depend on which compiler is being used | ||
547 | -*/ | ||
548 | -#if defined(_WIN32) && defined(_MSC_VER) | ||
549 | -# if defined(_M_IA64) | ||
550 | -# define ARCHITECTURE_ID "IA64" | ||
551 | - | ||
552 | -# elif defined(_M_ARM64EC) | ||
553 | -# define ARCHITECTURE_ID "ARM64EC" | ||
554 | - | ||
555 | -# elif defined(_M_X64) || defined(_M_AMD64) | ||
556 | -# define ARCHITECTURE_ID "x64" | ||
557 | - | ||
558 | -# elif defined(_M_IX86) | ||
559 | -# define ARCHITECTURE_ID "X86" | ||
560 | - | ||
561 | -# elif defined(_M_ARM64) | ||
562 | -# define ARCHITECTURE_ID "ARM64" | ||
563 | - | ||
564 | -# elif defined(_M_ARM) | ||
565 | -# if _M_ARM == 4 | ||
566 | -# define ARCHITECTURE_ID "ARMV4I" | ||
567 | -# elif _M_ARM == 5 | ||
568 | -# define ARCHITECTURE_ID "ARMV5I" | ||
569 | -# else | ||
570 | -# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) | ||
571 | -# endif | ||
572 | - | ||
573 | -# elif defined(_M_MIPS) | ||
574 | -# define ARCHITECTURE_ID "MIPS" | ||
575 | - | ||
576 | -# elif defined(_M_SH) | ||
577 | -# define ARCHITECTURE_ID "SHx" | ||
578 | - | ||
579 | -# else /* unknown architecture */ | ||
580 | -# define ARCHITECTURE_ID "" | ||
581 | -# endif | ||
582 | - | ||
583 | -#elif defined(__WATCOMC__) | ||
584 | -# if defined(_M_I86) | ||
585 | -# define ARCHITECTURE_ID "I86" | ||
586 | - | ||
587 | -# elif defined(_M_IX86) | ||
588 | -# define ARCHITECTURE_ID "X86" | ||
589 | - | ||
590 | -# else /* unknown architecture */ | ||
591 | -# define ARCHITECTURE_ID "" | ||
592 | -# endif | ||
593 | - | ||
594 | -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) | ||
595 | -# if defined(__ICCARM__) | ||
596 | -# define ARCHITECTURE_ID "ARM" | ||
597 | - | ||
598 | -# elif defined(__ICCRX__) | ||
599 | -# define ARCHITECTURE_ID "RX" | ||
600 | - | ||
601 | -# elif defined(__ICCRH850__) | ||
602 | -# define ARCHITECTURE_ID "RH850" | ||
603 | - | ||
604 | -# elif defined(__ICCRL78__) | ||
605 | -# define ARCHITECTURE_ID "RL78" | ||
606 | - | ||
607 | -# elif defined(__ICCRISCV__) | ||
608 | -# define ARCHITECTURE_ID "RISCV" | ||
609 | - | ||
610 | -# elif defined(__ICCAVR__) | ||
611 | -# define ARCHITECTURE_ID "AVR" | ||
612 | - | ||
613 | -# elif defined(__ICC430__) | ||
614 | -# define ARCHITECTURE_ID "MSP430" | ||
615 | - | ||
616 | -# elif defined(__ICCV850__) | ||
617 | -# define ARCHITECTURE_ID "V850" | ||
618 | - | ||
619 | -# elif defined(__ICC8051__) | ||
620 | -# define ARCHITECTURE_ID "8051" | ||
621 | - | ||
622 | -# elif defined(__ICCSTM8__) | ||
623 | -# define ARCHITECTURE_ID "STM8" | ||
624 | - | ||
625 | -# else /* unknown architecture */ | ||
626 | -# define ARCHITECTURE_ID "" | ||
627 | -# endif | ||
628 | - | ||
629 | -#elif defined(__ghs__) | ||
630 | -# if defined(__PPC64__) | ||
631 | -# define ARCHITECTURE_ID "PPC64" | ||
632 | - | ||
633 | -# elif defined(__ppc__) | ||
634 | -# define ARCHITECTURE_ID "PPC" | ||
635 | - | ||
636 | -# elif defined(__ARM__) | ||
637 | -# define ARCHITECTURE_ID "ARM" | ||
638 | - | ||
639 | -# elif defined(__x86_64__) | ||
640 | -# define ARCHITECTURE_ID "x64" | ||
641 | - | ||
642 | -# elif defined(__i386__) | ||
643 | -# define ARCHITECTURE_ID "X86" | ||
644 | - | ||
645 | -# else /* unknown architecture */ | ||
646 | -# define ARCHITECTURE_ID "" | ||
647 | -# endif | ||
648 | - | ||
649 | -#elif defined(__TI_COMPILER_VERSION__) | ||
650 | -# if defined(__TI_ARM__) | ||
651 | -# define ARCHITECTURE_ID "ARM" | ||
652 | - | ||
653 | -# elif defined(__MSP430__) | ||
654 | -# define ARCHITECTURE_ID "MSP430" | ||
655 | - | ||
656 | -# elif defined(__TMS320C28XX__) | ||
657 | -# define ARCHITECTURE_ID "TMS320C28x" | ||
658 | - | ||
659 | -# elif defined(__TMS320C6X__) || defined(_TMS320C6X) | ||
660 | -# define ARCHITECTURE_ID "TMS320C6x" | ||
661 | - | ||
662 | -# else /* unknown architecture */ | ||
663 | -# define ARCHITECTURE_ID "" | ||
664 | -# endif | ||
665 | - | ||
666 | -# elif defined(__ADSPSHARC__) | ||
667 | -# define ARCHITECTURE_ID "SHARC" | ||
668 | - | ||
669 | -# elif defined(__ADSPBLACKFIN__) | ||
670 | -# define ARCHITECTURE_ID "Blackfin" | ||
671 | - | ||
672 | -#else | ||
673 | -# define ARCHITECTURE_ID | ||
674 | -#endif | ||
675 | - | ||
676 | -/* Convert integer to decimal digit literals. */ | ||
677 | -#define DEC(n) \ | ||
678 | - ('0' + (((n) / 10000000)%10)), \ | ||
679 | - ('0' + (((n) / 1000000)%10)), \ | ||
680 | - ('0' + (((n) / 100000)%10)), \ | ||
681 | - ('0' + (((n) / 10000)%10)), \ | ||
682 | - ('0' + (((n) / 1000)%10)), \ | ||
683 | - ('0' + (((n) / 100)%10)), \ | ||
684 | - ('0' + (((n) / 10)%10)), \ | ||
685 | - ('0' + ((n) % 10)) | ||
686 | - | ||
687 | -/* Convert integer to hex digit literals. */ | ||
688 | -#define HEX(n) \ | ||
689 | - ('0' + ((n)>>28 & 0xF)), \ | ||
690 | - ('0' + ((n)>>24 & 0xF)), \ | ||
691 | - ('0' + ((n)>>20 & 0xF)), \ | ||
692 | - ('0' + ((n)>>16 & 0xF)), \ | ||
693 | - ('0' + ((n)>>12 & 0xF)), \ | ||
694 | - ('0' + ((n)>>8 & 0xF)), \ | ||
695 | - ('0' + ((n)>>4 & 0xF)), \ | ||
696 | - ('0' + ((n) & 0xF)) | ||
697 | - | ||
698 | -/* Construct a string literal encoding the version number. */ | ||
699 | -#ifdef COMPILER_VERSION | ||
700 | -char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; | ||
701 | - | ||
702 | -/* Construct a string literal encoding the version number components. */ | ||
703 | -#elif defined(COMPILER_VERSION_MAJOR) | ||
704 | -char const info_version[] = { | ||
705 | - 'I', 'N', 'F', 'O', ':', | ||
706 | - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', | ||
707 | - COMPILER_VERSION_MAJOR, | ||
708 | -# ifdef COMPILER_VERSION_MINOR | ||
709 | - '.', COMPILER_VERSION_MINOR, | ||
710 | -# ifdef COMPILER_VERSION_PATCH | ||
711 | - '.', COMPILER_VERSION_PATCH, | ||
712 | -# ifdef COMPILER_VERSION_TWEAK | ||
713 | - '.', COMPILER_VERSION_TWEAK, | ||
714 | -# endif | ||
715 | -# endif | ||
716 | -# endif | ||
717 | - ']','\0'}; | ||
718 | -#endif | ||
719 | - | ||
720 | -/* Construct a string literal encoding the internal version number. */ | ||
721 | -#ifdef COMPILER_VERSION_INTERNAL | ||
722 | -char const info_version_internal[] = { | ||
723 | - 'I', 'N', 'F', 'O', ':', | ||
724 | - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', | ||
725 | - 'i','n','t','e','r','n','a','l','[', | ||
726 | - COMPILER_VERSION_INTERNAL,']','\0'}; | ||
727 | -#elif defined(COMPILER_VERSION_INTERNAL_STR) | ||
728 | -char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; | ||
729 | -#endif | ||
730 | - | ||
731 | -/* Construct a string literal encoding the version number components. */ | ||
732 | -#ifdef SIMULATE_VERSION_MAJOR | ||
733 | -char const info_simulate_version[] = { | ||
734 | - 'I', 'N', 'F', 'O', ':', | ||
735 | - 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', | ||
736 | - SIMULATE_VERSION_MAJOR, | ||
737 | -# ifdef SIMULATE_VERSION_MINOR | ||
738 | - '.', SIMULATE_VERSION_MINOR, | ||
739 | -# ifdef SIMULATE_VERSION_PATCH | ||
740 | - '.', SIMULATE_VERSION_PATCH, | ||
741 | -# ifdef SIMULATE_VERSION_TWEAK | ||
742 | - '.', SIMULATE_VERSION_TWEAK, | ||
743 | -# endif | ||
744 | -# endif | ||
745 | -# endif | ||
746 | - ']','\0'}; | ||
747 | -#endif | ||
748 | - | ||
749 | -/* Construct the string literal in pieces to prevent the source from | ||
750 | - getting matched. Store it in a pointer rather than an array | ||
751 | - because some compilers will just produce instructions to fill the | ||
752 | - array rather than assigning a pointer to a static array. */ | ||
753 | -char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; | ||
754 | -char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; | ||
755 | - | ||
756 | - | ||
757 | - | ||
758 | -#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L | ||
759 | -# if defined(__INTEL_CXX11_MODE__) | ||
760 | -# if defined(__cpp_aggregate_nsdmi) | ||
761 | -# define CXX_STD 201402L | ||
762 | -# else | ||
763 | -# define CXX_STD 201103L | ||
764 | -# endif | ||
765 | -# else | ||
766 | -# define CXX_STD 199711L | ||
767 | -# endif | ||
768 | -#elif defined(_MSC_VER) && defined(_MSVC_LANG) | ||
769 | -# define CXX_STD _MSVC_LANG | ||
770 | -#else | ||
771 | -# define CXX_STD __cplusplus | ||
772 | -#endif | ||
773 | - | ||
774 | -const char* info_language_standard_default = "INFO" ":" "standard_default[" | ||
775 | -#if CXX_STD > 202002L | ||
776 | - "23" | ||
777 | -#elif CXX_STD > 201703L | ||
778 | - "20" | ||
779 | -#elif CXX_STD >= 201703L | ||
780 | - "17" | ||
781 | -#elif CXX_STD >= 201402L | ||
782 | - "14" | ||
783 | -#elif CXX_STD >= 201103L | ||
784 | - "11" | ||
785 | -#else | ||
786 | - "98" | ||
787 | -#endif | ||
788 | -"]"; | ||
789 | - | ||
790 | -const char* info_language_extensions_default = "INFO" ":" "extensions_default[" | ||
791 | -#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ | ||
792 | - defined(__TI_COMPILER_VERSION__)) && \ | ||
793 | - !defined(__STRICT_ANSI__) | ||
794 | - "ON" | ||
795 | -#else | ||
796 | - "OFF" | ||
797 | -#endif | ||
798 | -"]"; | ||
799 | - | ||
800 | -/*--------------------------------------------------------------------------*/ | ||
801 | - | ||
802 | -int main(int argc, char* argv[]) | ||
803 | -{ | ||
804 | - int require = 0; | ||
805 | - require += info_compiler[argc]; | ||
806 | - require += info_platform[argc]; | ||
807 | -#ifdef COMPILER_VERSION_MAJOR | ||
808 | - require += info_version[argc]; | ||
809 | -#endif | ||
810 | -#ifdef COMPILER_VERSION_INTERNAL | ||
811 | - require += info_version_internal[argc]; | ||
812 | -#endif | ||
813 | -#ifdef SIMULATE_ID | ||
814 | - require += info_simulate[argc]; | ||
815 | -#endif | ||
816 | -#ifdef SIMULATE_VERSION_MAJOR | ||
817 | - require += info_simulate_version[argc]; | ||
818 | -#endif | ||
819 | -#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) | ||
820 | - require += info_cray[argc]; | ||
821 | -#endif | ||
822 | - require += info_language_standard_default[argc]; | ||
823 | - require += info_language_extensions_default[argc]; | ||
824 | - (void)argv; | ||
825 | - return require; | ||
826 | -} |
不能预览此文件类型
-
请 注册 或 登录 后发表评论