+import time
+
from re import compile
from serial import Serial
from datetime import datetime
bytesize = self.config.databits, \
stopbits = self.config.stopbits, \
timeout = 0)
+ self.control()
self.serial.flushInput()
except Exception as ex:
return str(ex)
return True
def control(self):
- pass
+ for key in list(self.config.enable.keys()):
+ state = self.config.enable[key]
+ rate = self.config.rate[key]
+ cmd = 'start' if state else 'stop'
+ self._write_ascii('%s %s' % (cmd, key))
+ self._write_ascii('set %s int %d' % (key, rate))
def process(self):
items = []
if len(self.inbuf) == 0:
continue
line = "".join(self.inbuf)
+ print('read: [' + line + ']')
item = self._parse_ascii(line)
items.append(item)
self.inbuf = []
return items
# Private methods
+ def _write_ascii(self, line):
+ if self.serial:
+ print('write: [' + line + ']')
+ data = bytes(line+'\n', 'UTF-8')
+ self.serial.write(data)
+ self.serial.flush()
+ time.sleep(0.1)
+
def _parse_ascii(self, line):
acc_re = compile("\[ACC\] accX=(.*) accY=(.*) accZ=(.*)")
mag_re = compile("\[MAG\] magX=(.*) magY=(.*) magZ=(.*)")