145 lines
4.7 KiB
Python
145 lines
4.7 KiB
Python
from main import *
|
|
from time import sleep
|
|
|
|
interval = 0.2
|
|
|
|
|
|
def suite(controller: Controller):
|
|
lines(controller)
|
|
direction(controller)
|
|
distance(controller)
|
|
speed(controller)
|
|
time(controller)
|
|
control(controller)
|
|
compass(controller)
|
|
|
|
|
|
def lines(controller: Controller):
|
|
print("Lines")
|
|
controller.set_lines([Lane.DotsLeft], [])
|
|
controller.set_lines([Lane.OuterRight], [Lane.OuterLeft])
|
|
controller.set_lines([Lane.MiddleRight], [Lane.MiddleLeft])
|
|
controller.set_lines([Lane.InnerRight], [Lane.InnerLeft])
|
|
controller.set_lines([Lane.InnerLeft], [Lane.InnerRight])
|
|
controller.set_lines([Lane.MiddleLeft], [Lane.MiddleRight])
|
|
controller.set_lines([Lane.OuterLeft], [Lane.OuterRight])
|
|
controller.set_lines(
|
|
[Lane.DotsRight],
|
|
[Lane.OuterRight, Lane.MiddleRight, Lane.InnerRight, Lane.InnerLeft, Lane.MiddleLeft, Lane.OuterLeft]
|
|
)
|
|
controller.set_lines([], [])
|
|
|
|
|
|
def direction(controller: Controller):
|
|
print("Direction")
|
|
controller.set_direction(OutAngle.SharpRight)
|
|
controller.set_direction(OutAngle.Right)
|
|
controller.set_direction(OutAngle.EasyRight)
|
|
controller.set_direction(OutAngle.Straight)
|
|
controller.set_direction(OutAngle.EasyLeft)
|
|
controller.set_direction(OutAngle.Left)
|
|
controller.set_direction(OutAngle.SharpLeft)
|
|
controller.set_direction(OutAngle.LeftDown)
|
|
controller.set_direction(OutAngle.RightDown)
|
|
controller.set_direction(OutAngle.Down)
|
|
controller.set_direction(OutAngle.SharpRight, OutType.LongerLane)
|
|
controller.set_direction(OutAngle.Right, OutType.LongerLane)
|
|
controller.set_direction(OutAngle.EasyRight, OutType.LongerLane)
|
|
controller.set_direction(OutAngle.Straight, OutType.LongerLane)
|
|
controller.set_direction(OutAngle.EasyLeft, OutType.LongerLane)
|
|
controller.set_direction(OutAngle.Left, OutType.LongerLane)
|
|
controller.set_direction(OutAngle.SharpLeft, OutType.LongerLane)
|
|
roundabout(controller)
|
|
controller.set_direction(OutAngle.Left, OutType.Flag)
|
|
controller.set_direction(OutAngle.Right, OutType.Flag)
|
|
|
|
|
|
def roundabout(controller: Controller):
|
|
controller.set_direction(OutAngle.SharpRight, OutType.RightRoundabout)
|
|
controller.set_direction(OutAngle.Right, OutType.RightRoundabout)
|
|
controller.set_direction(OutAngle.EasyRight, OutType.RightRoundabout)
|
|
controller.set_direction(OutAngle.Straight, OutType.RightRoundabout)
|
|
controller.set_direction(OutAngle.EasyLeft, OutType.RightRoundabout)
|
|
controller.set_direction(OutAngle.Left, OutType.RightRoundabout)
|
|
controller.set_direction(OutAngle.SharpLeft, OutType.RightRoundabout)
|
|
controller.set_direction(OutAngle.Down, OutType.RightRoundabout)
|
|
|
|
|
|
def distance(controller: Controller):
|
|
print("Distance")
|
|
controller.set_distance(555.5)
|
|
controller.set_distance(6666)
|
|
controller.set_distance(777.7)
|
|
controller.set_distance(888, Unit.Kilometres)
|
|
controller.set_distance(999, Unit.Metres)
|
|
controller.set_distance(999, Unit.Foot)
|
|
controller.set_distance(999, Unit.Miles)
|
|
pass
|
|
|
|
|
|
def speed(controller: Controller):
|
|
print("Speed")
|
|
controller.set_gps(True)
|
|
controller.set_speed(50)
|
|
controller.set_speed(50, 100)
|
|
controller.set_speed(150, 100)
|
|
controller.set_speed(50, 100, True)
|
|
pass
|
|
|
|
|
|
def time(controller: Controller):
|
|
print("Time")
|
|
controller.set_time(22, 22)
|
|
controller.set_time(22, 22, traffic=True)
|
|
controller.set_time(22, 22, flag=True)
|
|
pass
|
|
|
|
|
|
def control(controller: Controller):
|
|
print("Speed Control")
|
|
controller.set_speed_control()
|
|
controller.set_speed_control(False)
|
|
|
|
|
|
def compass(controller: Controller):
|
|
print("Compass")
|
|
controller.set_compass(22.5)
|
|
controller.set_compass(67.5)
|
|
controller.set_compass(112.5)
|
|
controller.set_compass(157.5)
|
|
controller.set_compass(202.5)
|
|
controller.set_compass(247.5)
|
|
controller.set_compass(292.5)
|
|
controller.set_compass(337.5)
|
|
pass
|
|
|
|
|
|
def route(controller: Controller):
|
|
print("Route")
|
|
controller.set_direction(OutAngle.Left)
|
|
controller.set_gps(True)
|
|
controller.set_speed(50, 50)
|
|
controller.set_distance(1.2, Unit.Kilometres)
|
|
sleep(1)
|
|
controller.set_distance(1.1, Unit.Kilometres)
|
|
sleep(1)
|
|
controller.set_distance(1, Unit.Kilometres)
|
|
sleep(1)
|
|
remaining = 900
|
|
while remaining > 0:
|
|
controller.set_distance(remaining, Unit.Metres)
|
|
sleep(1)
|
|
remaining -= 100
|
|
controller.set_direction(OutAngle.Right, OutType.Flag)
|
|
remaining = 900
|
|
while remaining > 0:
|
|
controller.set_distance(remaining, Unit.Metres)
|
|
sleep(1)
|
|
remaining -= 100
|
|
|
|
|
|
if __name__ == '__main__':
|
|
import os
|
|
name = '/dev/rfcomm0' if os.name != 'nt' else 'COM8'
|
|
instance = Controller(name)
|
|
suite(instance)
|