Added gitignore and Py2 implementation for testing.

This commit is contained in:
sv-ncp-3 root 2014-09-12 10:05:47 +02:00
parent 83ff05c4ca
commit e014969ff1
2 changed files with 62 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
/__pycache__/
*.pyc

60
tty2newsml_py2.py Executable file
View File

@ -0,0 +1,60 @@
#!/bin/env python
# -*- coding: utf-8 -*-
from __future__ import absolute_import, division, print_function
import serial
import sys
import IPTCMessage
class _main(object):
def __init__(self, port='/dev/tty706'):
self.openPort(port)
while True:
msg = self.waitForStart()
msg += self.readUntilEOM()
print("This is the message: %s" % repr(msg))
def openPort(self, port):
self.port = serial.Serial(port=port, baudrate=4800, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=None)
print("%s opened with %i baud. Timeout is %s seconds." % (self.port.name, self.port.baudrate, self.port.timeout))
def waitForStart(self):
print("Waiting for start indicator (%i): " % self.port.inWaiting(), end='')
sys.stdout.flush()
while True:
byte = self.port.read()
print(".", end='')
sys.stdout.flush()
if byte == b'\x01':
print("Found.")
return byte
def readUntilEOM(self):
print("Reading data until EOM.", end='')
sys.stdout.flush()
msg = b''
ctr = 0
while True:
print("%i>" % self.port.inWaiting(), end='')
sys.stdout.flush()
byte = self.port.read()
ctr+=1
# if ctr % 10 is 0:
print(".", end='')
sys.stdout.flush()
if byte == b'\x01':
print("PROBLEM: Got start indicator, but message not yet finished.")
break
msg += byte
if byte == b'\x04':
break
print("Got %i bytes." % len(msg))
return msg
def readLine(self):
rcv = self.port.readline()
print("Got: %s" % repr(rcv))
if __name__=='__main__':
_main()