Commit e8b64402 authored by 957dd's avatar 957dd

加入了音频的修改配置

parent 714bd504
......@@ -42,9 +42,13 @@ int main(){
if(device_shot_cooling_init()!=0){
my_zlog_warn("该设备没有冷却");
}
if(audio_config_init()!=0){
my_zlog_warn("音频配置初始化失败");
}
if (audio_init()==0){
my_zlog_warn("音频初始化成功");
my_zlog_info("音频命令执行初始化成功");
}
int thread_rc=thread_start_init( thread_exit_time,thread_mqtt_beat,
......
......@@ -16,6 +16,9 @@ int mylog_init();
/*wiringPi初始化函数*/
int wiringPiSetup();
/*audio_config初始化*/
int audio_config_init();
/*音频初始化函数*/
int audio_init();
......
No preview for this file type
......@@ -496,13 +496,13 @@ void tank0204_pwm_value(int pin,int value){
if(pin == 27){
device_shoting_check(27,30);
}else if(pin == 5) {
softPwmWrite(7, 35);
softPwmWrite(7, 30);
my_zlog_info("pwm:7,1");
}else if(pin == 7) {
softPwmWrite(5, 35);
softPwmWrite(5, 30);
my_zlog_info("pwm:5,1");
}else {
softPwmWrite(pin, 30);
softPwmWrite(pin, 60);
my_zlog_info("pwm:%d",pin);
}
......
......@@ -3,6 +3,7 @@
#include "device_identity.h"
#include "mqtt_init.h"
#include "http_config_mqtt.h"
#include "audiotts_play.h"
int audio_status=7;
char urlbuf[512];
......@@ -141,10 +142,91 @@ int audio_speaker_init() {
}
int audio_init(){
delay_s(60);
delay_s(10);
audio_wheat_init();
delay_s(3);
audio_speaker_init();
return 0;
}
#define CONFIG_FILE "/usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf"
const char *yundea_block =
"# 为 Yundea 1076 USB 二合一设备添加配置\n"
"[Mapping yundea-input]\n"
"device-strings = hw:%f,0\n"
"direction = input\n"
"priority = 100\n"
"channel-map = mono\n"
"\n"
"[Mapping yundea-output]\n"
"device-strings = hw:%f,0\n"
"direction = output\n"
"priority = 100\n"
"channel-map = left,right\n"
"\n"
"[Profile yundea-duplex]\n"
"input-mappings = yundea-input\n"
"output-mappings = yundea-output\n"
"priority = 200\n";
/*
*功能:加入usb声卡配置
*
*/
int audio_config_init() {
delay_s(20);//延迟30s
FILE *fp = fopen(CONFIG_FILE, "r");
if (!fp) {
perror("无法打开配置文件进行读取");
return 1;
}
// 获取文件大小
fseek(fp, 0, SEEK_END);
long size = ftell(fp);
fseek(fp, 0, SEEK_SET);
char *buffer = malloc(size + 1);
if (!buffer) {
my_zlog_error("内存分配失败");
fclose(fp);
return 1;
}
size_t result =fread(buffer, 1, size, fp);
if (result != size) {
my_zlog_warn("Error: Failed to read audio data");
}
buffer[size] = '\0';
fclose(fp);
// 检查是否包含完整配置块
if (strstr(buffer, yundea_block) != NULL) {
my_zlog_info("配置文件中已包含指定配置,跳过添加。");
free(buffer);
return 0;
}
free(buffer);
my_zlog_info("未找到指定配置,正在追加到文件末尾...");
// 打开文件追加配置
fp = fopen(CONFIG_FILE, "a");
if (!fp) {
my_zlog_error("无法打开配置文件进行写入");
return 1;
}
fprintf(fp, "\n%s", yundea_block);
fclose(fp);
my_zlog_info("配置已成功追加。");
return 0;
}
\ No newline at end of file
......@@ -11,4 +11,6 @@ int audio_wheat_init();
int audio_speaker_init();
int audio_init();
int audio_config_init();//加入配置
#endif
\ No newline at end of file
......@@ -35,4 +35,7 @@
- 0501 为机械狗
## 国内国外二进制介绍
- mqtt_init.h改变里面的一个MQTT_IPMODE,游览器改变browser_open.h中的BROWSER_MODE
\ No newline at end of file
- mqtt_init.h改变里面的一个MQTT_IPMODE,游览器改变browser_open.h中的BROWSER_MODE
## 关于子模块cmake为空的问题
- 有时间可添加,暂时先用cmake
\ No newline at end of file
......@@ -79,7 +79,7 @@ void angle_mqtt_send() {
char TOPIC_send_angle[26];
static double prev_angle=0;
static double rounded_angle;
rounded_angle =low_pass_filter_360(prev_angle,tank_angle(),0.7);
rounded_angle =low_pass_filter_360(prev_angle,tank_angle(),0.6);
sprintf(TOPIC_send_angle,"dev_rtinfo/%s",mqtt_topic_pure_number());
cJSON_AddStringToObject(root, "type","tank_angle");
cJSON_AddNumberToObject(root, "angle",rounded_angle);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment