From fe4d335b54ede7a47fd4bcf5c228fb427cbcc8c9 Mon Sep 17 00:00:00 2001
From: chenlh <2008get@163.com>
Date: 星期二, 20 一月 2026 14:46:01 +0800
Subject: [PATCH] 新增通道参数拷贝功能
---
src/tob.h | 21 ++++++++++++++-------
1 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/src/tob.h b/src/tob.h
index c1ae2d7..5c40fd6 100644
--- a/src/tob.h
+++ b/src/tob.h
@@ -15,6 +15,7 @@
#include "ModuleExport.h"
#include "messageproc.h"
#include "protocol.h"
+#include "tg/tg_param_ctrl.h"
class ToB {
@@ -22,19 +23,25 @@
std::vector<IModule*> mList;//模块列表
std::vector<u16> mModuleIndex;
+ param_ctrl_t* paramset;
Frames* frames;
u32 dsp_index;
ubool dual_dsp;
ubool processed;
u16 mModuleNum;
- u16 mLevelPacketNum ;
IModule* CreateBaseModule( u32 moduleType, u16 tag, u16 rxNum, u16 txNum);
ErrStatus CreateModule(const u8* bin, u32 nbytes);
ErrStatus CreateModuleV1(const u8* bin, u32 nbytes);
public:
ToB(ubool dualDsp, u32 dspIndex);
~ToB();
- static ToB* GetInstance();
+// static ToB* GetInstance();
+ ToB(const ToB&) = delete;
+ ToB& operator=(const ToB&) = delete;
+ static ToB* GetInstance(ubool dualDsp = true, u32 dspIndex = 0) {
+ static ToB instance(dualDsp, dspIndex);
+ return &instance;
+ }
uvoid SetMute(ubool mute);
ErrStatus toClear();
ErrStatus toProc();
@@ -42,12 +49,12 @@
ErrStatus toCtrl(u32 mID, u32 pID, const s16* val, u32 num);
ErrStatus toCtrl(const u8* bin , u32 nbytes);
ErrStatus toAnalysis(const u8* bin, u32 nbytes);
- u32 GetLevels(Message* handle , MSG* msg);
- u32 GetModuleCPU(Message* handle , MSG* pmsg);
+ u32 GetLevels(s16* buffer, u32 levels_len);
u16 GetModuleNum() {return mModuleNum;}
- u16 GetLevelPacketNum() {return mLevelPacketNum;}
- u32 GetDSPIndex(){return dsp_index ;}
- u32 GetModuleType(u32 mID);
+ u32 GetDSPIndex() {return dsp_index;}
+ param_ctrl_t *GetParamCtrl() {return paramset;}
+ IModule* GetModule(u32 mID);
+
};
#endif
--
Gitblit v1.9.3