作者 王振宇

修复温控关灯自动开灯问题,音量调整为112.6

@@ -36,7 +36,7 @@ static void* TempControl_Task(void *arg) @@ -36,7 +36,7 @@ static void* TempControl_Task(void *arg)
36 // printf("触发调控,输入温度%d,输入亮度%d,设置亮度%d,调控时间%d\n",tempData->InputTemp,tempData->InputLumen,InitialLumen,OutTime); 36 // printf("触发调控,输入温度%d,输入亮度%d,设置亮度%d,调控时间%d\n",tempData->InputTemp,tempData->InputLumen,InitialLumen,OutTime);
37 if(OutTime > 0) 37 if(OutTime > 0)
38 { 38 {
39 - tempControlFlag = TEMP_TRIGGER; 39 + //tempControlFlag = TEMP_TRIGGER;
40 printf("触发调控,输入温度%d,输入亮度%d,设置亮度%d,调控时间%d\n",tempData->InputTemp,tempData->InputLumen,InitialLumen,OutTime); 40 printf("触发调控,输入温度%d,输入亮度%d,设置亮度%d,调控时间%d\n",tempData->InputTemp,tempData->InputLumen,InitialLumen,OutTime);
41 usleep(OutTime*1000); 41 usleep(OutTime*1000);
42 } 42 }
@@ -280,13 +280,11 @@ void JZ_TempStructInit(void) @@ -280,13 +280,11 @@ void JZ_TempStructInit(void)
280 *返回值: 280 *返回值:
281 *函数作者:wzy 281 *函数作者:wzy
282 *************************************/ 282 *************************************/
283 -  
284 static void *TempControl_TempChangeTask(void *arg) 283 static void *TempControl_TempChangeTask(void *arg)
285 { 284 {
286 int Lumen = 0; //亮度 285 int Lumen = 0; //亮度
287 int lastLumen;//上一次亮度 286 int lastLumen;//上一次亮度
288 287
289 -  
290 while (1) 288 while (1)
291 { 289 {
292 if(tempData->OutLumen < 0) 290 if(tempData->OutLumen < 0)
@@ -310,18 +308,19 @@ static void *TempControl_TempChangeTask(void *arg) @@ -310,18 +308,19 @@ static void *TempControl_TempChangeTask(void *arg)
310 { 308 {
311 lastLumen = Lumen; 309 lastLumen = Lumen;
312 310
313 - if(tempControlFlag == TEMP_TRIGGER)//触发了温控 311 + if(tempControlFlag == TEMP_NOTTRIGGER)//触发了温控
314 { 312 {
315 - tempControlFlag = TEMP_NOTTRIGGER; 313 + tempControlFlag = TEMP_TRIGGER;
  314 + continue;
  315 + }
316 if(Lumen != 0) 316 if(Lumen != 0)
317 { 317 {
318 - //重设亮度  
319 - 318 + //重设亮度
320 Jz_LampLumenControl(Lumen,Lumen); 319 Jz_LampLumenControl(Lumen,Lumen);
321 tempData->InputLumen = Lumen; 320 tempData->InputLumen = Lumen;
322 Jz_set_widget_value(4,Lumen); 321 Jz_set_widget_value(4,Lumen);
323 } 322 }
324 - } 323 +
325 } 324 }
326 usleep(200*1000); 325 usleep(200*1000);
327 } 326 }
@@ -15,8 +15,7 @@ int gimbalLinkageState = GIMBALLINKAGE_OFF;//云台联动初始状态为开启 @@ -15,8 +15,7 @@ int gimbalLinkageState = GIMBALLINKAGE_OFF;//云台联动初始状态为开启
15 pthread_mutex_t gimbalMutex; //无人机云台角度互斥锁 15 pthread_mutex_t gimbalMutex; //无人机云台角度互斥锁
16 Lamp_Temp *lampTemp; //左右灯温度 16 Lamp_Temp *lampTemp; //左右灯温度
17 int gimbalFineTuneAngle = 0; //云台微调角度 17 int gimbalFineTuneAngle = 0; //云台微调角度
18 -extern int tempControlFlag;  
19 -extern TempControlData *tempData; 18 +
20 /* Private functions declaration ---------------------------------------------*/ 19 /* Private functions declaration ---------------------------------------------*/
21 20
22 /* Exported functions definition ---------------------------------------------*/ 21 /* Exported functions definition ---------------------------------------------*/
@@ -195,7 +194,7 @@ static void *GimbalLinkage_Task(void *arg) @@ -195,7 +194,7 @@ static void *GimbalLinkage_Task(void *arg)
195 { 194 {
196 lastX = 200; 195 lastX = 200;
197 } 196 }
198 - usleep(10); 197 + usleep(1);
199 } 198 }
200 199
201 } 200 }
@@ -378,38 +377,3 @@ void JZ_LampModeGet(void)//操作失败 @@ -378,38 +377,3 @@ void JZ_LampModeGet(void)//操作失败
378 377
379 } 378 }
380 379
381 -/************************************  
382 -*亮度控制功能  
383 -*函数名:Jz_LampLumenControlFeature  
384 -*函数参数:  
385 - @value1: 左灯亮度(十进制) 0~100  
386 - @value2: 右灯亮度(十进制) 0~100  
387 -*返回值:  
388 -*函数作者:wzy  
389 -*************************************/  
390 -void JZ_LampLumenControlFeature(uint8_t value1,uint8_t value2)  
391 -{  
392 - int value = 0;  
393 - Jz_LampLumenControl(value1,value2);  
394 - value = value1 > value2 ? value1 : value2;  
395 - tempData->InputLumen = value;//改变温控输入亮度  
396 - JZ_LightSetInitialLumen(value);//改变设置的亮度初值  
397 - tempControlFlag = TEMP_NOTTRIGGER;//防止温度跳回去  
398 -}  
399 -  
400 -/************************************  
401 -*云台控制功能  
402 -*函数名:Jz_LampGimbalControlFeature  
403 -*函数参数:  
404 - @value: 从飞机得到的云台角度  
405 -*返回值:  
406 -*函数作者:wzy  
407 -*************************************/  
408 -void Jz_LampGimbalControlFeature(int value)  
409 -{  
410 - if(value <= 0)  
411 - {  
412 - int angle = -value;  
413 - Jz_Lamp_Gimbal_Control(angle);  
414 - }  
415 -}  
@@ -47,8 +47,7 @@ void JZ_LampGimbalAngleGet(void);//获取云台角度 @@ -47,8 +47,7 @@ void JZ_LampGimbalAngleGet(void);//获取云台角度
47 void JZ_SelectPoliceLampColor(uint8_t color1,uint8_t color2);//选择警灯颜色 47 void JZ_SelectPoliceLampColor(uint8_t color1,uint8_t color2);//选择警灯颜色
48 void JZ_SelectPoliceLampMode(uint8_t value,uint8_t mode);//警灯模式选择 48 void JZ_SelectPoliceLampMode(uint8_t value,uint8_t mode);//警灯模式选择
49 void JZ_LampModeGet(void); 49 void JZ_LampModeGet(void);
50 -void JZ_LampLumenControlFeature(uint8_t value1,uint8_t value2);  
51 -void Jz_LampGimbalControlFeature(int value); 50 +
52 #ifdef __cplusplus 51 #ifdef __cplusplus
53 } 52 }
54 #endif 53 #endif
1 /* Includes ------------------------------------------------------------------*/ 1 /* Includes ------------------------------------------------------------------*/
2 #include "JZ_speaker.h" 2 #include "JZ_speaker.h"
  3 +#include "JZ_lamp.h"
3 #include "music.h" 4 #include "music.h"
4 #include "JZ_TempControl.h" 5 #include "JZ_TempControl.h"
5 #include <unistd.h> 6 #include <unistd.h>
@@ -12,6 +13,8 @@ extern int tts_add; @@ -12,6 +13,8 @@ extern int tts_add;
12 extern int tts_tone; 13 extern int tts_tone;
13 extern int tts_speed; 14 extern int tts_speed;
14 extern int readyflag;//喊话器准备就绪标志 15 extern int readyflag;//喊话器准备就绪标志
  16 +extern int tempControlFlag;
  17 +extern TempControlData *tempData;//温度控制数据
15 /* Private functions declaration ---------------------------------------------*/ 18 /* Private functions declaration ---------------------------------------------*/
16 19
17 /* Exported functions definition ---------------------------------------------*/ 20 /* Exported functions definition ---------------------------------------------*/
@@ -126,4 +129,49 @@ int JZ_TtsPlayFeature(int len,char* data) @@ -126,4 +129,49 @@ int JZ_TtsPlayFeature(int len,char* data)
126 TTS(tts_tone,100,tts_speed,len,data); 129 TTS(tts_tone,100,tts_speed,len,data);
127 } 130 }
128 131
  132 +}
  133 +
  134 +/************************************
  135 +*亮度控制功能
  136 +*函数名:Jz_LampLumenControlFeature
  137 +*函数参数:
  138 + @value1: 左灯亮度(十进制) 0~100
  139 + @value2: 右灯亮度(十进制) 0~100
  140 +*返回值:
  141 +*函数作者:wzy
  142 +*************************************/
  143 +void JZ_LampLumenControlFeature(uint8_t value1,uint8_t value2)
  144 +{
  145 + int value = 0;
  146 +
  147 + if(value1 > value2)
  148 + {
  149 + value = value1;
  150 + }
  151 + else
  152 + {
  153 + value = value2;
  154 + }
  155 + // value = value1 > value2 ? value1 : value2;
  156 + tempData->InputLumen = value;//改变温控输入亮度
  157 + JZ_LightSetInitialLumen(value);//改变设置的亮度初值
  158 + tempControlFlag = TEMP_NOTTRIGGER;//防止温度跳回去
  159 + Jz_LampLumenControl(value1,value2);//控制探照灯亮度
  160 +}
  161 +
  162 +/************************************
  163 +*云台控制功能
  164 +*函数名:Jz_LampGimbalControlFeature
  165 +*函数参数:
  166 + @value: 从飞机得到的云台角度
  167 +*返回值:
  168 +*函数作者:wzy
  169 +*************************************/
  170 +void Jz_LampGimbalControlFeature(int value)
  171 +{
  172 + if(value <= 0)
  173 + {
  174 + int angle = -value;
  175 + Jz_Lamp_Gimbal_Control(angle);
  176 + }
129 } 177 }
@@ -12,10 +12,11 @@ extern "C" { @@ -12,10 +12,11 @@ extern "C" {
12 /* Exported types ------------------------------------------------------------*/ 12 /* Exported types ------------------------------------------------------------*/
13 13
14 /* Exported functions --------------------------------------------------------*/ 14 /* Exported functions --------------------------------------------------------*/
15 -void JZ_SpeechSpeedControlFeature(uint8_t speed);  
16 -int JZ_TtsPlayFeature(int len,char* data);  
17 -void JZ_TtsToneColorFeature(uint8_t tone);  
18 - 15 +void JZ_SpeechSpeedControlFeature(uint8_t speed);//文本喊话语速控制功能
  16 +int JZ_TtsPlayFeature(int len,char* data);//文本播放功能
  17 +void JZ_TtsToneColorFeature(uint8_t tone);//文本喊话音色控制功能
  18 +void JZ_LampLumenControlFeature(uint8_t value1,uint8_t value2);//亮度控制功能
  19 +void Jz_LampGimbalControlFeature(int value);
19 #ifdef __cplusplus 20 #ifdef __cplusplus
20 } 21 }
21 #endif 22 #endif
@@ -281,11 +281,14 @@ static T_UAVReturnCode StopPlay(void) @@ -281,11 +281,14 @@ static T_UAVReturnCode StopPlay(void)
281 } 281 }
282 282
283 static T_UAVReturnCode SetVolume(uint8_t volume) 283 static T_UAVReturnCode SetVolume(uint8_t volume)
284 -{  
285 - s_speakerState.volume = volume; 284 +{
  285 + LOG_INFO("Set 文本 volume: {}", volume*81/100*255/100);
  286 +
286 287
  288 + s_speakerState.volume = volume;
287 set_volume(volume); 289 set_volume(volume);
288 - LOG_INFO("Set widget speaker volume: {}", volume); 290 + LOG_INFO("Set widget speaker volume: {}", volume);
  291 +
289 return UAV_ERROR_SYSTEM_MODULE_CODE_SUCCESS; 292 return UAV_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
290 } 293 }
291 294
@@ -339,11 +339,11 @@ void set_volume(int value)//设置音é‡ï¼ŒéŸ³é‡0-100,默认音é‡value==10〠@@ -339,11 +339,11 @@ void set_volume(int value)//设置音é‡ï¼ŒéŸ³é‡0-100,默认音é‡value==10ã€
339 } 339 }
340 else if(value>=100) 340 else if(value>=100)
341 { 341 {
342 - value = 83*255/100; 342 + value = 80*255/100;
343 } 343 }
344 else 344 else
345 { 345 {
346 - value = value*83/100*255/100; 346 + value = value*80/100*255/100;
347 } 347 }
348 348
349 set_volume_value = value; 349 set_volume_value = value;
@@ -369,10 +369,10 @@ void set_ture_volume(int value)//设置文本喊è¯éŸ³é‡ @@ -369,10 +369,10 @@ void set_ture_volume(int value)//设置文本喊è¯éŸ³é‡
369 value=0; 369 value=0;
370 } 370 }
371 else if(value>=100){ 371 else if(value>=100){
372 - value=84*255/100; 372 + value=81*255/100;
373 } 373 }
374 else if(value>0&&value<100){ 374 else if(value>0&&value<100){
375 - value=value*84/100*255/100; 375 + value=value*81/100*255/100;
376 } 376 }
377 set_volume_value = value; 377 set_volume_value = value;
378 if(set_volume_flag==0){ 378 if(set_volume_flag==0){