Import first working version
[fuse-aexplorer.git] / AEpy / AELink.py
1 import binascii
2 import serial
3 import struct
4 import traceback
5
6
7 class AELink:
8     def __init__(self):
9         return
10
11
12
13
14
15 class AELinkSerial(AELink):
16     def __init__(self, path, speed):
17         self.ser = serial.Serial(path, speed, timeout=5, rtscts=1)
18         assert self.ser.name == path
19
20         AELink.__init__(self)
21
22     def recv(self, rxlen):
23         assert self.ser.is_open
24         buf = self.ser.read(rxlen)
25         #print("Received: " + binascii.hexlify(buf))
26         return buf
27
28     def send(self, data):
29         assert self.ser.is_open
30         #print("Sending: " + binascii.hexlify(data))
31         #traceback.print_stack()
32         return self.ser.write(data)
33
34     def close(self):
35         assert self.ser.is_open
36         self.ser.close()