diff --git a/Decoder.py b/Decoder.py index 7b4f2b5..73a1e9e 100644 --- a/Decoder.py +++ b/Decoder.py @@ -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: diff --git a/README.md b/README.md index adc9fd0..5e4e402 100644 --- a/README.md +++ b/README.md @@ -34,4 +34,8 @@ python upperHost_stimmock/MI_headless.py # TODO 1. mvep是否要把list freq 开放到config -2. 滤波器参数 放到config文件 \ No newline at end of file +2. 滤波器参数 放到config文件 + +# debug log +## MI +Epoch采集完成|收到命令: {'method': 'train'|取出的 \ No newline at end of file diff --git a/Zmq/zmqServer.py b/Zmq/zmqServer.py index e33afb7..faf12d6 100644 --- a/Zmq/zmqServer.py +++ b/Zmq/zmqServer.py @@ -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 = [] diff --git a/config.ini b/config.ini index 718d988..89e2d2f 100644 --- a/config.ini +++ b/config.ini @@ -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]