Files
Danny Staple ae79a2f8c1 Review comments
- Indentation issues
- Inconsistencies
2023-02-06 20:26:04 +00:00

43 lines
1.3 KiB
Python

import time
import json
import robot
import asyncio
def send_json(data):
robot.send_line(json.dumps(data))
class DistanceSensorTracker:
def __init__(self):
robot.left_distance.distance_mode = 2
robot.right_distance.distance_mode = 2
self.left = 300
self.right = 300
async def main(self):
robot.left_distance.start_ranging()
robot.right_distance.start_ranging()
while True:
if robot.left_distance.data_ready and robot.left_distance.distance:
self.left = robot.left_distance.distance * 10 # convert to mm
robot.left_distance.clear_interrupt()
if robot.right_distance.data_ready and robot.right_distance.distance:
self.right = robot.right_distance.distance * 10
robot.right_distance.clear_interrupt()
await asyncio.sleep(0.01)
async def distance_reporter(sensors: DistanceSensorTracker):
while True:
data = {
"distance": {
"left": sensors.left,
"right": sensors.right
}
}
print(data)
send_json(data)
await asyncio.sleep(0.1)
distance_sensors = DistanceSensorTracker()
asyncio.create_task(distance_sensors.main())
asyncio.run(distance_reporter(distance_sensors))