Example #1
0
	def test_discovery(self):
		fs = FakeSerial()
		m = SerialMux(ser=fs)
		fs.inp += b'\xFF'*16
		self.assertEqual(m.discover(), [0])
		probepacket0 = lambda x: b'\\#\xFF\xFF\x00\x00'+x.to_bytes(2, 'big')
		probepacket1 = lambda x: b'\\#\xFF\xFF'+(1<<x).to_bytes(2, 'big')+x.to_bytes(2, 'big')
		self.assertEqual(fs.out, b''.join([probepacket0(i) for i in range(16)] + [probepacket1(15-i) for i in range(16)]))
Example #2
0
import copy
import json
import requests
import time
from threading import Thread
from pylibcerebrum.serial_mux import SerialMux
from http.server import HTTPServer, BaseHTTPRequestHandler

PORT = "/dev/serial/by-id/usb-Arduino__www.arduino.cc__Arduino_Uno_649383232313512181A1-if00"
BAUDRATE = 115200

s = SerialMux(PORT, BAUDRATE)
print("discovering cerebrum devices")
results = []
while not results:
    results = s.discover()
print(results)
print("opening first device")
g = s.open(0)
print("initializing device")
print(dir(g))
for io in [g.digital3, g.digital5, g.digital6, g.digital9, g.digital10, g.digital11]:
    io.direction = 1
    io.pwm_enabled = 1
print("starting event loop")

barstatus = "closed"
lastchange = time.time()


def animate():