Skip to content

Commit 189228a

Browse files
committed
Fixes to be able to run the SerialConnection
1 parent dd0e357 commit 189228a

File tree

3 files changed

+20
-8
lines changed

3 files changed

+20
-8
lines changed

MLC/GUI/Experiment/ArduinoConfigManager/BoardConfigurationWindow.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,6 @@ def closeEvent(self, event):
4343
board_setup = [self.__controller.get_protocol_config()]
4444
connection_cfg = [self.__controller.get_connection_config()]
4545
self.on_close_signal.emit(board_setup, connection_cfg)
46-
event.accept()
47-
#super(BoardConfigurationWindow, self).closeEvent(event)
4846

4947
def update(self):
5048
aux_idx = 0

MLC/GUI/Experiment/ExperimentWindow.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
from PyQt5.QtWidgets import QInputDialog
3636

3737
from MLC.arduino.protocol import ProtocolConfig
38+
from MLC.arduino.protocol import ArduinoInterfaceSingleton
3839
from MLC.arduino.connection.serialconnection import SerialConnectionConfig, SerialConnection
3940
from MLC.arduino.connection.base import BaseConnection
4041

@@ -747,8 +748,8 @@ def _store_board_configuration(self, board_config, serial_conn):
747748

748749
# Init the arduino singleton
749750
try:
750-
ArduinoInterfaceSingleton.get_instance(protocol_setup=self._board_config,
751-
conn_setup=self._serial_conn)
751+
ArduinoInterfaceSingleton.get_instance(protocol_config=self._board_config,
752+
conn_setup=self._serial_conn._asdict())
752753
except Exception, err:
753754
logger.debug('[EXPERIMENT {0}] [BOARD_CONFIG] - '
754755
'Serial port could not be initialized. Error Msg: {1}'

MLC/arduino/protocol.py

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import collections
22
import boards
33
from collections import namedtuple
4+
import MLC.Log.log as lg
45

56
_PROTOCOL_CMDS = {"ANALOG_PRECISION": '\x01\x01%s',
67
"SET_INPUT": '\x02\x01%s',
@@ -24,11 +25,20 @@
2425
class ArduinoInterfaceSingleton():
2526
_instance = None
2627

27-
def get_instance(cls, protocol_config=None, conn_setup=None):
28+
@staticmethod
29+
def get_instance(protocol_config=None, conn_setup=None):
2830
from MLC.arduino.connection.serialconnection import SerialConnection
29-
if protocol_setup and conn_setup:
30-
serial_conn = SerialConnection(**conn_setup)
31-
protocol_config._replace(connection, serial_conn)
31+
if protocol_config and conn_setup:
32+
33+
serial_conn = None
34+
try:
35+
serial_conn = SerialConnection(**conn_setup)
36+
except Exception, err:
37+
lg.logger_.info("[PROTOCOL] Error while loading SerialConnection. "
38+
"Err msg: {0}".format(err))
39+
raise
40+
41+
protocol_config = protocol_config._replace(connection=serial_conn)
3242
ArduinoInterfaceSingleton._instance = BuildSerial(protocol_config)
3343

3444
if ArduinoInterfaceSingleton._instance is None:
@@ -269,4 +279,7 @@ def BuildSerial(protocol_config):
269279
for port in protocol_config.analog_output_pins:
270280
interface.add_output(port)
271281

282+
# FIXME: Make this variable configurable
283+
interface.set_precision(12)
284+
272285
return interface

0 commit comments

Comments
 (0)