Mercurial > ~darius > hgwebdir.cgi > epro
diff epro.py @ 4:787d9c8fdec6
Add working example when run as an exe
author | Daniel O'Connor <darius@dons.net.au> |
---|---|
date | Sun, 19 Nov 2017 18:08:13 +1030 |
parents | 6d0fe22566ab |
children | 982eeffe9d95 |
line wrap: on
line diff
--- a/epro.py Sun Nov 19 18:07:55 2017 +1030 +++ b/epro.py Sun Nov 19 18:08:13 2017 +1030 @@ -1,5 +1,8 @@ #!/usr/bin/env python +import serial +import sys + # View facing ePro from the back # +---+ # +-| |-| @@ -216,6 +219,7 @@ self.packets = [] def process(self, dat): + added = False for d in dat: d = ord(d) if d == 0xff and self.state != 4: @@ -258,8 +262,23 @@ else: p = Packet(self.dstadr, self.srcadr, self.devid, self.msgtype, self.data) - print p self.packets.append(p) + added = True + return added + +def main(): + if len(sys.argv) != 2: + print 'Bad usage' + exit(1) + + s = serial.Serial(sys.argv[1], 2400, parity='E') + s.timeout = 0.2 + + p = Processor() + while True: + res = p.process(s.read(1024)) + while len(p.packets) > 0: + print(p.packets.pop(0)) if __name__ == '__main__': main()