Compare commits

..

2 Commits

Author SHA1 Message Date
9690971f43 update 2026-06-13 11:54:58 +08:00
5a5f103ef6 update log 2026-06-13 10:06:29 +08:00
4 changed files with 43 additions and 24 deletions

View File

@@ -236,7 +236,7 @@ class Decoder_main(threading.Thread):
if self.zmqServer.open_Impedance: # 阻抗检测状态不解码
return
data = self.zmqServer.paradigmBuffer.getDataViaSSVEP(50)
# algo_log(f"SSVEP取出的{data.shape}, data = {data[:20]}", level="DEBUG")
# algo_log(f"SSVEP取出的{data.shape}, data = {data[:, :10]}", level="DEBUG")
data = data[:self.n_chan, :]
if self.decodingSteps == 1 and hasattr(self,'dw'): # 开始预热
self.dw.onlineInit() # 刺激闪烁的第1s重置 --在线数据采集时
@@ -287,6 +287,7 @@ class Decoder_main(threading.Thread):
if trainTrial.shape[1] == (self.train_epoch[1] - self.train_epoch[0]) and isinstance(
self.trainLabel, list) \
and self.trainLabel.count(self.currentLabel) < self.single_train:
algo_log(f"SSMVEP训练集{np.shape(self.trainData)}", level="DEBUG")
self.trainData.append(trainTrial)
self.trainLabel.append(self.currentLabel)
else:

View File

@@ -34,4 +34,8 @@ python upperHost_stimmock/MI_headless.py
# TODO
1. mvep是否要把list freq 开放到config
2. 滤波器参数 放到config文件
2. 滤波器参数 放到config文件
# debug log
## MI
Epoch采集完成|收到命令: {'method': 'train'|取出的

View File

@@ -152,9 +152,7 @@ class zmqServer(threading.Thread):
msg = {'method': method, 'params': params}
msg_bytes = json.dumps(msg).encode('utf-8')
if msg['method'] == 'beta_psd':
algo_log(f"发送命令结果: {msg}", level="DEBUG", record_once=True)
else:
if msg['method'] != 'beta_psd':
algo_log(f"发送命令结果: {msg}", level="DEBUG")
# 广播到所有命令客户端
@@ -276,6 +274,22 @@ class zmqServer(threading.Thread):
elif params == 2: #停止解码
self.IsExitApp = True
self.running = False
resp = {
"method": "predict_response",
"params": {
"code": 200,
"message": "ok"
}
}
try:
resp_bytes = json.dumps(resp, ensure_ascii=False).encode("utf-8")
self.cmd_socket.send_multipart([ident, b"", resp_bytes])
algo_log(f"predict 命令已即时回复客户端 {ident}", level="DEBUG")
except Exception as e:
algo_log(f"predict 命令回复失败: {e}", level="ERROR")
return
elif method == "rest":
self.state_mode = 'rest'
elif method == "impedance":
@@ -359,24 +373,24 @@ class zmqServer(threading.Thread):
def detect_event(self, samples):
self.pack_contain_event = False
# 第65通道为事件通道
event = int(samples[-2][0])
# for idx, event in enumerate(events):
if event in self.events:
new_key = "".join(
[
str(event),
datetime.datetime.now().strftime("%Y-%m-%d \
-%H-%M-%S"),
]
)
self.currentLabel = event
if event == self.predict_event:
self.count_events[new_key] = self.latency + 1
else:
self.count_events[new_key] = self.train_latency + 1
self.event_inner_idx = self.device_info['frame_points'] - 1
# algo_log(f"事件检测到: {event},索引: {idx}", level="DEBUG")
self.pack_contain_event = True
events = np.array(samples[-2], dtype=np.int32).tolist()
for idx, event in enumerate(events):
if event in self.events:
new_key = "".join(
[
str(event),
datetime.datetime.now().strftime("%Y-%m-%d \
-%H-%M-%S"),
]
)
self.currentLabel = event
if event == self.predict_event:
self.count_events[new_key] = self.latency + 1
else:
self.count_events[new_key] = self.train_latency + 1
self.event_inner_idx = idx
algo_log(f"事件检测到: {events},索引: {idx}", level="DEBUG")
self.pack_contain_event = True
# 倒计时并清理过期事件
drop_items = []

View File

@@ -22,7 +22,7 @@ algo_log_path = d:/Program Files/64chn_Decoder/logs
algo_log_level = DEBUG
console_output = 1
save_train_data = 0
zmqServer_host = 127.0.0.1
zmqServer_host = 10.200.27.140
; 64 导设备配置
[device_type_1]