Reply -
Raw
from rfm69 import RFM69
import socket
import json
import base64
class SPIProxy(object):
def __init__(self, host='10.79.2.188', port=1337, timeout=10):
self.s = socket.socket()
self.s.settimeout(timeout)
self.s.connect((host, port))
print(self.s.recv(1024))
self.cs(False)
def _send(self, data):
#print("<<< {0}".format(data))
self.s.send(json.dumps(data))
r = json.loads(self.s.recv(1024))
#print(">>> {0}".format(r))
return r
def write(self, data):
if type(data) is int:
data = chr(data)
if type(data) in (list, tuple):
data = ''.join([chr(x) for x in data])
r = self._send({'command':'write', 'argument':base64.b64encode(data)})
return base64.b64decode(r['data'])
def read(self, n):
r = self._send({'command':'read', 'argument':n})
return base64.b64decode(r['data'])
def cs(self, b):
r = self._send({'command':'select', 'argument':b})
return r.get('data')
def xfer2(self, data):
self.cs(True)
res = self.write(data)
self.cs(False)
print([data, res])
return [ord(x) for x in res]
class RFM69Proxy(RFM69):
def init_gpio(self):
pass
def init_spi(self):
self.spi = SPIProxy()
def reset(self):
print("[WARNING] reset is not implemented.")