def _connect_wizard(use_dev_map=False): print("Starting PHiLIP shell") serial_devices = serial.tools.list_ports.comports() if len(serial_devices) == 0: raise ConnectionError("Could not find any available devices") elif len(serial_devices) == 1: print('Connected to {}'.format(serial_devices[0])) return PhilipExtIf(port=serial_devices[0][0], use_dev_map=use_dev_map) else: print('Select a serial port:') for i, s_dev in enumerate(serial_devices): print("{}: {}".format(i, s_dev)) s_num = input("Selection(number): ") return PhilipExtIf(port=serial_devices[int(s_num)][0], use_dev_map=use_dev_map)
def __init__(self, port=None, data_only=True, use_dev_map=False): if port is None: self.phil = self._connect_wizard(use_dev_map=use_dev_map) else: self.phil = PhilipExtIf(port, use_dev_map=use_dev_map) print("Interface Version: {}".format(self.phil.if_version)) self.data_only = data_only cmd.Cmd.__init__(self)
def phil_init_ex(): phil = PhilipExtIf() yield phil phil.dev.close()
def test_parse_array(data, type_size, prim_type, expected): """Tests parsing an array with various sizes""" assert PhilipExtIf()._parse_array(data, type_size, prim_type) == expected
def test_mm_from_version(regtest, version_str): """Regression tests for all version of mem maps""" regtest.write(pformat(PhilipExtIf().mm_from_version(version_str)))