|
|
|
/* Includes ------------------------------------------------------------------*/
|
|
|
|
#include "JZ_speaker.h"
|
|
|
|
#include "JZ_lamp.h"
|
|
|
|
#include "music.h"
|
|
|
|
//#include "music.h"
|
|
|
|
#include "JZ_TempControl.h"
|
|
|
|
#include <unistd.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
/* Private constants ---------------------------------------------------------*/
|
|
|
|
|
|
|
|
/* Private types -------------------------------------------------------------*/
|
|
|
|
|
|
|
|
/* Private values -------------------------------------------------------------*/
|
|
|
|
extern int tts_add;
|
|
|
|
extern int tts_tone;
|
|
|
|
extern int tts_speed;
|
|
|
|
// extern int tts_add;
|
|
|
|
// extern int tts_tone;
|
|
|
|
// extern int tts_speed;
|
|
|
|
extern int readyflag;//喊话器准备就绪标志
|
|
|
|
extern int tempControlFlag;
|
|
|
|
extern TempControlData *tempData;//温度控制数据
|
|
...
|
...
|
@@ -28,23 +29,23 @@ extern TempControlData *tempData;//温度控制数据 |
|
|
|
*************************************/
|
|
|
|
void JZ_SpeechSpeedControlFeature(uint8_t speed)
|
|
|
|
{
|
|
|
|
switch(speed){
|
|
|
|
case 0:
|
|
|
|
tts_speed=25;
|
|
|
|
break;
|
|
|
|
case 1:
|
|
|
|
tts_speed=50;
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
tts_speed=75;
|
|
|
|
break;
|
|
|
|
case 3:
|
|
|
|
tts_speed=100;
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
tts_speed=50;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
// switch(speed){
|
|
|
|
// case 0:
|
|
|
|
// tts_speed=25;
|
|
|
|
// break;
|
|
|
|
// case 1:
|
|
|
|
// tts_speed=50;
|
|
|
|
// break;
|
|
|
|
// case 2:
|
|
|
|
// tts_speed=75;
|
|
|
|
// break;
|
|
|
|
// case 3:
|
|
|
|
// tts_speed=100;
|
|
|
|
// break;
|
|
|
|
// default:
|
|
|
|
// tts_speed=50;
|
|
|
|
// break;
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
|
|
|
|
/************************************
|
|
...
|
...
|
@@ -67,41 +68,41 @@ void JZ_SpeechSpeedControlFeature(uint8_t speed) |
|
|
|
*************************************/
|
|
|
|
void JZ_TtsToneColorFeature(uint8_t tone)
|
|
|
|
{
|
|
|
|
switch(tone){
|
|
|
|
case 0:
|
|
|
|
tts_tone=1;
|
|
|
|
break;
|
|
|
|
case 1:
|
|
|
|
tts_tone=2;
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
tts_tone=11;
|
|
|
|
break;
|
|
|
|
case 3:
|
|
|
|
tts_tone=12;
|
|
|
|
break;
|
|
|
|
case 4:
|
|
|
|
tts_tone=31;
|
|
|
|
break;
|
|
|
|
case 5:
|
|
|
|
tts_tone=32;
|
|
|
|
break;
|
|
|
|
case 6:
|
|
|
|
tts_tone=33;
|
|
|
|
break;
|
|
|
|
case 7:
|
|
|
|
tts_tone=34;
|
|
|
|
break;
|
|
|
|
case 8:
|
|
|
|
tts_tone=35;
|
|
|
|
break;
|
|
|
|
case 9:
|
|
|
|
tts_tone=36;
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
tts_tone=1;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
// switch(tone){
|
|
|
|
// case 0:
|
|
|
|
// tts_tone=1;
|
|
|
|
// break;
|
|
|
|
// case 1:
|
|
|
|
// tts_tone=2;
|
|
|
|
// break;
|
|
|
|
// case 2:
|
|
|
|
// tts_tone=11;
|
|
|
|
// break;
|
|
|
|
// case 3:
|
|
|
|
// tts_tone=12;
|
|
|
|
// break;
|
|
|
|
// case 4:
|
|
|
|
// tts_tone=31;
|
|
|
|
// break;
|
|
|
|
// case 5:
|
|
|
|
// tts_tone=32;
|
|
|
|
// break;
|
|
|
|
// case 6:
|
|
|
|
// tts_tone=33;
|
|
|
|
// break;
|
|
|
|
// case 7:
|
|
|
|
// tts_tone=34;
|
|
|
|
// break;
|
|
|
|
// case 8:
|
|
|
|
// tts_tone=35;
|
|
|
|
// break;
|
|
|
|
// case 9:
|
|
|
|
// tts_tone=36;
|
|
|
|
// break;
|
|
|
|
// default:
|
|
|
|
// tts_tone=1;
|
|
|
|
// break;
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
|
|
|
|
/************************************
|
|
...
|
...
|
@@ -115,19 +116,19 @@ void JZ_TtsToneColorFeature(uint8_t tone) |
|
|
|
*************************************/
|
|
|
|
int JZ_TtsPlayFeature(int len,char* data)
|
|
|
|
{
|
|
|
|
if(readyflag == 0)
|
|
|
|
{
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
while (GetRecordStatus() == 1 || GetTtsStatus() == 1)
|
|
|
|
{
|
|
|
|
usleep(100*1000);
|
|
|
|
}
|
|
|
|
usleep(600*1000);
|
|
|
|
if(GetSpeakerMode() == 2)
|
|
|
|
{
|
|
|
|
TTS(tts_tone,100,tts_speed,len,data);
|
|
|
|
}
|
|
|
|
// if(readyflag == 0)
|
|
|
|
// {
|
|
|
|
// return -1;
|
|
|
|
// }
|
|
|
|
// while (GetRecordStatus() == 1 || GetTtsStatus() == 1)
|
|
|
|
// {
|
|
|
|
// usleep(100*1000);
|
|
|
|
// }
|
|
|
|
// usleep(600*1000);
|
|
|
|
// if(GetSpeakerMode() == 2)
|
|
|
|
// {
|
|
|
|
// TTS(tts_tone,100,tts_speed,len,data);
|
|
|
|
// }
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
...
|
...
|
@@ -157,6 +158,7 @@ void JZ_LampLumenControlFeature(uint8_t value1,uint8_t value2) |
|
|
|
JZ_LightSetInitialLumen(value);//改变设置的亮度初值
|
|
|
|
tempControlFlag = TEMP_NOTTRIGGER;//防止温度跳回去
|
|
|
|
Jz_LampLumenControl(value1,value2);//控制探照灯亮度
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
/************************************
|
|
...
|
...
|
@@ -174,4 +176,57 @@ void Jz_LampGimbalControlFeature(int value) |
|
|
|
int angle = -value;
|
|
|
|
Jz_Lamp_Gimbal_Control(angle);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Jz_Lamp_Gimbal_Control(0);//U3S云台角度为0~90
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/************************************
|
|
|
|
*提取 . 之前的字符串
|
|
|
|
*函数名:JZ_GetBeforeChar
|
|
|
|
*函数参数:
|
|
|
|
@dest: 被截取的字符串
|
|
|
|
@src: 截取后的字符串
|
|
|
|
*返回值:
|
|
|
|
*函数作者:wzy
|
|
|
|
*************************************/
|
|
|
|
void JZ_GetBeforeChar(const char *dest,char *src)
|
|
|
|
{
|
|
|
|
size_t len;
|
|
|
|
len = strrchr(dest, '.') - dest;//计算文件名长度
|
|
|
|
memcpy(src, "\0", 256);
|
|
|
|
strncpy(src, dest, len);//取文件名
|
|
|
|
src[len] = '\0';
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
/************************************
|
|
|
|
*延时执行任务线程创建
|
|
|
|
*函数名: JZ_DelayThreadCreate
|
|
|
|
*函数参数:
|
|
|
|
@delayTime: 延时时间
|
|
|
|
@function: 延时执行的任务
|
|
|
|
*返回值:
|
|
|
|
*函数作者:wzy
|
|
|
|
*************************************/
|
|
|
|
void JZ_DelayThreadCreate(int delayTime)
|
|
|
|
{
|
|
|
|
pthread_t thread;
|
|
|
|
pthread_attr_t task_attr;
|
|
|
|
pthread_attr_init(&task_attr); //初始化线程属性
|
|
|
|
pthread_attr_setdetachstate(&task_attr, PTHREAD_CREATE_DETACHED); //设置线程分离属性
|
|
|
|
|
|
|
|
pthread_t tid;
|
|
|
|
int ret;
|
|
|
|
if(delayTime > 0)
|
|
|
|
{
|
|
|
|
|
|
|
|
//创建线程,延时执行
|
|
|
|
ret = pthread_create(&tid,&task_attr,JZ_TempControlFlag,(void *)&delayTime);
|
|
|
|
if (ret != 0)
|
|
|
|
{
|
|
|
|
printf("线程创建失败\n");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} |
|
|
\ No newline at end of file |
...
|
...
|
|