37 lines
989 B
Python
37 lines
989 B
Python
import board
|
|
from digitalio import DigitalInOut
|
|
import time
|
|
import busio
|
|
import supervisor
|
|
import random
|
|
|
|
led = DigitalInOut(board.LED)
|
|
led.switch_to_output()
|
|
|
|
# PICO UART pins? What am i not using?
|
|
uart = busio.UART(board.GP12,board.GP13,baudrate=9600, timeout=0.01)
|
|
|
|
|
|
def robot_data_source():
|
|
sensor1 = random.randint(-100, 100)/100
|
|
sensor2 = random.randint(-100, 100)/100
|
|
while True:
|
|
yield sensor1 * 100,sensor2 * 100
|
|
sensor1 += random.randint(-100, 100)/1000
|
|
sensor2 += random.randint(-100, 100)/800
|
|
|
|
data_source = robot_data_source()
|
|
|
|
print("Waiting for bytes on UART...")
|
|
while True:
|
|
data = uart.read(32)
|
|
if data is not None:
|
|
print(data)
|
|
# if our monotic time is a multiple of 50
|
|
time.sleep(0.1)
|
|
# 0.05 is too fast, 0.1 is about write - so 10 per second.
|
|
sensor1, sensor2 = next(data_source)
|
|
sensor_packet = f"{int(sensor1)},{int(sensor2)}\n"
|
|
print(sensor_packet, end='')
|
|
uart.write(sensor_packet.encode('utf-8'))
|