Source code for obci.drivers.eeg.driver_discovery.amplifier_virtual_discovery
#!/usr/bin/python
# -*- coding: utf-8 -*-
import json
import os
from obci.control.launcher.launcher_tools import READY_TO_LAUNCH
from obci.control.peer.peer_config import PeerConfig
from obci.drivers.eeg.driver_comm import DriverComm
DESC_FILE = 'amplifier_virtual.json'
_AMP_PEER = 'drivers/eeg/amplifier_virtual.py'
_AMP_EXECUTABLE = 'dummy_amplifier'
_SCENARIO = 'scenarios/amplifier/virtual_amp_signal.ini'
[docs]def get_description_from_driver():
conf = PeerConfig('amplifier')
conf.add_local_param('driver_executable', _AMP_EXECUTABLE)
conf.add_local_param('samples_per_packet', '4')
driv = DriverComm(conf, catch_signals=False)
descr = driv.get_driver_description()
dic = json.loads(descr)
driv.terminate_driver()
return dic
[docs]def driver_descriptions():
with open(os.path.join(os.path.dirname(__file__), DESC_FILE)) as f:
desc = {
'experiment_info': {
"launch_file_path": _SCENARIO,
'experiment_status': {
'status_name': READY_TO_LAUNCH
}
},
'amplifier_peer_info': {
'driver_executable': _AMP_EXECUTABLE,
'path': _AMP_PEER},
'amplifier_params': {
'active_channels': '',
'channel_names': '',
'sampling_rate': '',
'additional_params': {},
'channels_info': get_description_from_driver()}
}
return [desc]