Browse Source

Feat: 修改train文件

dk 1 year ago
parent
commit
8eb21ad164
2 changed files with 6 additions and 6 deletions
  1. 4 4
      backend/train.psyexp
  2. 2 2
      backend/train_1.py

+ 4 - 4
backend/train.psyexp

@@ -167,7 +167,7 @@
         <Param val="from exp settings" valType="str" updates="None" name="units"/>
       </ImageComponent>
       <CodeComponent name="code" plugin="None">
-        <Param val="import sqlite3&amp;#10;import os&amp;#10;&amp;#10;from time import sleep&amp;#10;&amp;#10;&amp;#10;&amp;#10;import streamlit as st&amp;#10;&amp;#10;from db.models import train&amp;#10;&amp;#10;from core.sig_chain.sig_receive import Receiver&amp;#10;&amp;#10;from core.sig_chain.device.connector_interface import Device&amp;#10;&amp;#10;from settings.config import settings&amp;#10;&amp;#10;&amp;#10;&amp;#10;# get train record&amp;#10;os.path.dirname(__file__) + '/../data/' + subject&amp;#10;con = sqlite3.connect(os.path.join(os.path.dirname(__file__), '../', 'sql_app.db'))&amp;#10;&amp;#10;cur = con.cursor()&amp;#10;&amp;#10;sql_param = &quot;SELECT * FROM train ORDER BY start_time DESC&quot;&amp;#10;&amp;#10;res = cur.execute(sql_param)&amp;#10;&amp;#10;exp_train = res.fetchone()&amp;#10;&amp;#10;cur.close()&amp;#10;&amp;#10;&amp;#10;&amp;#10;# connect device&amp;#10;&amp;#10;receiver = Receiver()&amp;#10;&amp;#10;config_info = settings.CONFIG_INFO&amp;#10;&amp;#10;receiver.select_connector(Device.NEO, 0.04, config_info)&amp;#10;&amp;#10;success = receiver.setup_connector()&amp;#10;&amp;#10;print(success)&amp;#10;&amp;#10;# begin to receive data from device.&amp;#10;&amp;#10;sleep(1)&amp;#10;&amp;#10;receiver.start_receive_wave()" valType="extendedCode" updates="constant" name="Before Experiment"/>
+        <Param val="import sqlite3&amp;#10;import os&amp;#10;import datetime&amp;#10;from time import sleep&amp;#10;&amp;#10;import streamlit as st&amp;#10;from db.models import train&amp;#10;from device.sig_chain.sig_receive import Receiver&amp;#10;from device.sig_chain.device.connector_interface import Device&amp;#10;from device import utils&amp;#10;from settings.config import settings&amp;#10;&amp;#10;&amp;#10;# get train record&amp;#10;con = sqlite3.connect(os.path.join(os.path.dirname(__file__), 'sql_app.db'))&amp;#10;cur = con.cursor()&amp;#10;sql_param = &quot;SELECT * FROM train ORDER BY start_time DESC&quot;&amp;#10;res = cur.execute(sql_param)&amp;#10;exp_train = res.fetchone()&amp;#10;cur.close()&amp;#10;&amp;#10;# connect device&amp;#10;receiver = Receiver()&amp;#10;config_info = settings.CONFIG_INFO&amp;#10;receiver.select_connector(Device.NEO, 0.04, config_info)&amp;#10;success = receiver.setup_connector()&amp;#10;print(success)&amp;#10;&amp;#10;# begin to receive data from device.&amp;#10;sleep(1)&amp;#10;receiver.start_receive_wave()&amp;#10;" valType="extendedCode" updates="constant" name="Before Experiment"/>
         <Param val="import * as sqlite3 from 'sqlite3';&amp;#10;import {sleep} from 'time';&amp;#10;import * as st from 'streamlit';&amp;#10;import {train} from 'db/models';&amp;#10;import {Receiver} from 'core/sig_chain/sig_receive';&amp;#10;import {Device} from 'core/sig_chain/device/connector_interface';&amp;#10;import {settings} from 'settings/config';&amp;#10;con = sqlite3.connect(&quot;./sql_app.db&quot;);&amp;#10;cur = con.cursor();&amp;#10;sql_param = &quot;SELECT * FROM train ORDER BY start_time DESC&quot;;&amp;#10;res = cur.execute(sql_param);&amp;#10;exp_train = res.fetchone();&amp;#10;cur.close();&amp;#10;receiver = new Receiver();&amp;#10;config_info = settings.CONFIG_INFO;&amp;#10;receiver.select_connector(Device.NEO, 0.04, config_info);&amp;#10;success = receiver.setup_connector();&amp;#10;console.log(success);&amp;#10;sleep(1);&amp;#10;receiver.start_receive_wave();&amp;#10;" valType="extendedCode" updates="constant" name="Before JS Experiment"/>
         <Param val="" valType="extendedCode" updates="constant" name="Begin Experiment"/>
         <Param val="" valType="extendedCode" updates="constant" name="Begin JS Experiment"/>
@@ -176,10 +176,10 @@
         <Param val="Py" valType="str" updates="None" name="Code Type"/>
         <Param val="" valType="extendedCode" updates="constant" name="Each Frame"/>
         <Param val="" valType="extendedCode" updates="constant" name="Each JS Frame"/>
-        <Param val="" valType="extendedCode" updates="constant" name="End Experiment"/>
+        <Param val="receiver.stop_receive()" valType="extendedCode" updates="constant" name="End Experiment"/>
         <Param val="" valType="extendedCode" updates="constant" name="End JS Experiment"/>
         <Param val="" valType="extendedCode" updates="constant" name="End JS Routine"/>
-        <Param val="" valType="extendedCode" updates="constant" name="End Routine"/>
+        <Param val="# set saver&amp;#10;receiver.connector.set_saver()&amp;#10;subject = exp_train[-1]&amp;#10;path = utils.create_data_dir(subject, exp_train[0])  # owner_name, train_id&amp;#10;filename = f&quot;{subject}_{datetime.datetime.now().strftime('%H%M%S')}.bdf&quot;&amp;#10;receiver.connector.saver.set_edf_header(subject, filename, 5, path)" valType="extendedCode" updates="constant" name="End Routine"/>
         <Param val="False" valType="bool" updates="None" name="disabled"/>
         <Param val="code" valType="code" updates="None" name="name"/>
       </CodeComponent>
@@ -412,7 +412,7 @@
         <Param val="" valType="extendedCode" updates="constant" name="End Experiment"/>
         <Param val="predict = 0;&amp;#10;if ((predict === 1)) {&amp;#10;    feedback_time = 15;&amp;#10;} else {&amp;#10;    if ((predict === 0)) {&amp;#10;        feedback_time = 2;&amp;#10;    }&amp;#10;}&amp;#10;" valType="extendedCode" updates="constant" name="End JS Experiment"/>
         <Param val="" valType="extendedCode" updates="constant" name="End JS Routine"/>
-        <Param val="# data = get_data()&amp;#10;receiver.connector.receive_wave()&amp;#10;data_from_buffer = receiver.get_data_from_buffer(&quot;classify_online&quot;)&amp;#10;if data_from_buffer[&quot;status&quot;] == &quot;ok&quot;:&amp;#10;    raw_waves = data_from_buffer[&quot;data&quot;]&amp;#10;    timestamps = data_from_buffer[&quot;timestamp&quot;]&amp;#10;    # predict = pipeline(data)&amp;#10;    predict = 1&amp;#10;    if predict == 1:&amp;#10;        # 气动手指令&amp;#10;        feedback_time = 15&amp;#10;    elif predict == 0:&amp;#10;        # 气动手指令&amp;#10;        feedback_time = 2" valType="extendedCode" updates="constant" name="End Routine"/>
+        <Param val="# data = get_data()&amp;#10;receiver.connector.receive_wave()&amp;#10;data_from_buffer = receiver.get_data_from_buffer(&quot;classify_online&quot;, clear=False)&amp;#10;if data_from_buffer[&quot;status&quot;] == &quot;ok&quot;:&amp;#10;    raw_waves = data_from_buffer[&quot;data&quot;]&amp;#10;    timestamps = data_from_buffer[&quot;timestamp&quot;]&amp;#10;    # predict = pipeline(data)&amp;#10;    predict = 1&amp;#10;    if predict == 1:&amp;#10;        # 气动手指令&amp;#10;        feedback_time = 15&amp;#10;    elif predict == 0:&amp;#10;        # 气动手指令&amp;#10;        feedback_time = 2" valType="extendedCode" updates="constant" name="End Routine"/>
         <Param val="False" valType="bool" updates="None" name="disabled"/>
         <Param val="algo" valType="code" updates="None" name="name"/>
       </CodeComponent>

+ 2 - 2
backend/train_1.py

@@ -39,8 +39,8 @@ from time import sleep
 
 import streamlit as st
 from db.models import train
-from core.sig_chain.sig_receive import Receiver
-from core.sig_chain.device.connector_interface import Device
+from device.sig_chain.sig_receive import Receiver
+from device.sig_chain.device.connector_interface import Device
 from settings.config import settings
 
 # get train record