From ab07ada908b82340e7acd899e85a9802cf8a9057 Mon Sep 17 00:00:00 2001
From: chenlh <2008get@163.com>
Date: 星期四, 18 九月 2025 14:09:22 +0800
Subject: [PATCH] 首轮测试版代码常规上传
---
src/tg/tg_user_ctrl.cpp | 107 +++++++++++++++++++++++++++++++++--------------------
1 files changed, 66 insertions(+), 41 deletions(-)
diff --git a/src/tg/tg_user_ctrl.cpp b/src/tg/tg_user_ctrl.cpp
index 21c176a..96497a4 100644
--- a/src/tg/tg_user_ctrl.cpp
+++ b/src/tg/tg_user_ctrl.cpp
@@ -4,12 +4,13 @@
* Created on: 2025年7月24日
* Author: 86189
*/
+#include <stdio.h>
#include "IModule.h"
#include "module_def.h"
#include "tg_user_ctrl.h"
-u32 tg_param_ctrl::Signalgen_Ctrl(IModule* m, u32 pID, s16* val_c)
+u32 tg_param_ctrl::Signalgen_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num)
{
enum SGItemType{
SG_MUTE = 0x1,
@@ -49,41 +50,37 @@
return 0;
}
-u32 tg_param_ctrl::Input_Ctrl(IModule* m, u32 pID, s16* val_c)
+u32 tg_param_ctrl::Input_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num)
{
- enum GainID {
+ enum Input_ID{
GAIN = 0x1,
MUTE,
SENSI,
PHANTOM,
- PHASE = 9,
- STEP,//-500~+500
+ TYPE,
+ FREQ,
+ LEVEL,
+ NAME,
+ PHASE,
+ STEP,
+ LINK,
+ CHANNEL_LEVEL,
+
+ INPUT_MIN,
+ INPUT_MAX,
};
-
-
- enum PitchID {
- PITCH_BYPASS = 0x1,//
- PITCH_SEMITONES,//
- };
-
short val[4];
- int channel = val_c[0]&(MAX_INPUT_NUM-1);
+ int channel = val_c[0];//&(MAX_INPUT_NUM-1);
- if(pID == INPUT_STEP) {
- val[0] = channel; val[1] = RESSIGNBIT(val_c[1]);
- m->Ctrl(STEP, val, 2);
- }
- else {
- val[0] = channel; val[1] = RESSIGNBIT(val_c[1]);
- m->Ctrl(pID, val, 2);
- }
+ val[0] = channel; val[1] = RESSIGNBIT(val_c[1]);
+ m->Ctrl(pID, val, 2);
return 0;
}
-u32 tg_param_ctrl::Gain_Ctrl(IModule* m, u32 pID, s16* val_c)
+u32 tg_param_ctrl::Gain_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num)
{
enum GainID {
GAIN = 0x1,
@@ -96,7 +93,7 @@
};
short val[4];
- int channel = val_c[0]&(MAX_INPUT_NUM-1);
+ int channel = val_c[0];//&(MAX_INPUT_NUM-1);
if(pID == 0x20) {
val[0] = channel; val[1] = RESSIGNBIT(val_c[1]);
@@ -106,7 +103,7 @@
return 0;
}
-u32 tg_param_ctrl::Output_Ctrl(IModule* m, u32 pID, s16* val_c)
+u32 tg_param_ctrl::Output_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num)
{
enum GainID {
GAIN = 0x1,
@@ -119,7 +116,7 @@
};
short val[4];
- int channel = val_c[0]&(MAX_OUTPUT_NUM-1);
+ int channel = val_c[0];//&(MAX_OUTPUT_NUM-1);
short cmd[16] = {GAIN, MUTE, 0, PHASE, SENSI, STEP, 0, 0, 0, 0, 0, 0 ,0 ,0 ,0 ,0 };
val[0] = channel;
@@ -130,7 +127,7 @@
return 0;
}
-u32 tg_param_ctrl::Mixer_Ctrl(IModule* m, u32 pID, s16* val_c)
+u32 tg_param_ctrl::Mixer_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num)
{
short val[4];
@@ -152,7 +149,7 @@
return 0;
}
-u32 tg_param_ctrl::Crossover_Ctrl(IModule* m, u32 pID, s16* val_c)
+u32 tg_param_ctrl::Crossover_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num)
{
enum CFilterID {
_BYPASS = 0x1,
@@ -179,7 +176,7 @@
return 0;
}
-u32 tg_param_ctrl::Feedback_Ctrl(IModule* m, u32 pID, s16* val_c)
+u32 tg_param_ctrl::Feedback_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num)
{
// enum NHSID{
// FB_BYPASS = 0x1,
@@ -223,7 +220,7 @@
return 0;
}
-u32 tg_param_ctrl::Automixer_Ctrl(IModule* m, u32 pID, s16* val_c)
+u32 tg_param_ctrl::Automixer_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num)
{
enum GainSharingAMID {
AM_BYPASS =0x1,
@@ -247,7 +244,7 @@
return 0;
}
-u32 tg_param_ctrl::Aec_Ctrl(IModule* m, u32 pID, s16* val_c)
+u32 tg_param_ctrl::Aec_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num)
{
enum AECID{
BYPASS = 0X1,
@@ -265,18 +262,16 @@
AGC_GAIN,
};
+ short val[4] = {0,0,0,0};
+ short cmd[3] = {0, BYPASS, NLPLEVEL};
- short val[4];
- short cmd[12] = {0, BYPASS, NLPLEVEL, 0, 0,0};
-
- val[0] = RESSIGNBIT(val_c[0]);
- val[1] = RESSIGNBIT(val_c[1]);
- m->Ctrl(cmd[pID], val, 1);
+ val[1] = RESSIGNBIT(val_c[0]);
+ m->Ctrl(cmd[pID], val, 2);
return 0;
}
-u32 tg_param_ctrl::Sysctl_Ctrl(IModule* m, u32 pID, s16* val_c)
+u32 tg_param_ctrl::Sysctl_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num)
{
enum SYSCTRLID{
SYSCTL_MUTE = 0x1, //val[0]:0-unmute,1-mute
@@ -292,7 +287,7 @@
return 0;
}
-u32 tg_param_ctrl::Geq_Ctrl(IModule* m, u32 pID, s16* val_c)
+u32 tg_param_ctrl::Geq_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num)
{
enum EQID{
EQ_BYPASS_ALL = 0x1,
@@ -314,7 +309,7 @@
return 0;
}
-u32 tg_param_ctrl::Reverb_Ctrl(IModule* m, u32 pID, s16* val_c)
+u32 tg_param_ctrl::Reverb_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num)
{
short val[4];
@@ -326,7 +321,7 @@
return 0;
}
-u32 tg_param_ctrl::Echo_Ctrl(IModule* m, u32 pID, s16* val_c)
+u32 tg_param_ctrl::Echo_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num)
{
enum EchoID{
ECHO_BYPASS = 1,
@@ -346,7 +341,7 @@
return 0;
}
-u32 tg_param_ctrl::General_Ctrl(IModule* m, u32 pID, s16* val_c)
+u32 tg_param_ctrl::General_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num)
{
short val[4];
@@ -354,8 +349,38 @@
val[1] = RESSIGNBIT(val_c[1]);
m->Ctrl(pID, val, 2);
+// printf("pID:%d v[0]:%d v[1]:%d\n", pID, val[0], val[1]);
return 0;
}
+u32 tg_param_ctrl::Fir_Ctrl(IModule* m, u32 pID, s16* val_c, u32 num)
+{
+ enum FIRID {
+ FIR_BYPASS = 0x1, ////val[0]: 0-取消bypass, 1- 使能bypass
+ FIR_NAME, //无用
+ FIR_TAPS, //无用
+ FIR_COEFFS, //val: 分包,最大长度1024 float. 无转换直接拷贝float.
+ };
+ s16 val[4];
+ val[0] = RESSIGNBIT(val_c[0]);
+
+ if(FIR_BYPASS == pID){
+ m->Ctrl(pID, val, 1); // val[0] is bypass or nobypass
+ }
+ else if (FIR_COEFFS == pID){
+ m->Ctrl(pID, val_c, num);
+ }
+
+ return 0;
+}
+
+
+
+
+
+
+
+
+
--
Gitblit v1.9.3