コード例 #1
0
ファイル: pi_main.py プロジェクト: AtlasBuggy/RoboQuasar
tilt_servo = ServoCommand(6, 2, start_pos=0)
pan_servo = ServoCommand(7, 3, start_pos=0)


encoder = RCencoder(0, rc_motors)
gps = GPS(1, 6, 4)
imu = IMU(2, 2, 11)

communicator = Communicator(*leds, blue_led, servo, motors, pan_servo, tilt_servo, uart_bus=1)

while True:
    communicator.read_command()
    
    if imu.recved_data():
        sensor_updated = True
        communicator.write_packet(imu)

    if gps.recved_data():
        sensor_updated = True
        communicator.write_packet(gps)
        pyb.LED(3).toggle()

#    if encoder.recved_data():
#        sensor_updated = True
#        communicator.write_packet(encoder)
#        pyb.LED(2).toggle()

#    if sensor_updated:
#        sensor_updated = False
#        print("%0.5f, %0.6f, %0.6f, %0.6i" % (
#            imu.data[0], gps.data[0], gps.data[1], encoder.data[0]), end='\r')
コード例 #2
0
ファイル: main.py プロジェクト: Woz4tetra/Self-Driving-Buggy
                           mcp9808,
                           accel,
                           gps
                           )
command_pool = CommandPool(servo1, motor_a)

communicator = Communicator(sensor_queue, command_pool)

while True:
    if new_data:
        while uart.any():
            gps.update(chr(uart.readchar()))
            
    new_data = False
    
    communicator.write_packet()
    communicator.read_command()
    
    if increase:
        indicator.intensity(indicator.intensity() + 5)
    else:
        indicator.intensity(indicator.intensity() - 5)
    
    if indicator.intensity() <= 0:
        increase = True
    elif indicator.intensity() >= 255:
        increase = False
    
    
    pyb.delay(5)
コード例 #3
0
ファイル: turret_main.py プロジェクト: AtlasBuggy/RoboQuasar
from turret.turret_objects import *
from comm import Communicator

blue_led = BlueLEDcommand(1)

lidar = LidarSensor(0, uart_bus=1)

communicator = Communicator(blue_led, uart_bus=3)

while True:
    #    communicator.read_command()

    if lidar.recved_data():
        communicator.write_packet(lidar)
        print(lidar)

#    pyb.delay(1)

    if communicator.should_reset():
        print("\nresetting")
        lidar.reset()

        communicator.write_packet(lidar)

    if communicator.should_stop():
        print("\nstopping")
        lidar.stop()

        while not communicator.should_reset():
            communicator.read_command()
            pyb.delay(5)
コード例 #4
0
ファイル: turret_main.py プロジェクト: Woz4tetra/Atlas
from turret.turret_objects import *
from comm import Communicator

blue_led = BlueLEDcommand(1)

lidar = LidarSensor(0, uart_bus=1)

communicator = Communicator(blue_led, uart_bus=3)

while True:
    #    communicator.read_command()

    if lidar.recved_data():
        communicator.write_packet(lidar)
        print(lidar)

    #    pyb.delay(1)

    if communicator.should_reset():
        print("\nresetting")
        lidar.reset()

        communicator.write_packet(lidar)

    if communicator.should_stop():
        print("\nstopping")
        lidar.stop()

        while not communicator.should_reset():
            communicator.read_command()
            pyb.delay(5)
コード例 #5
0
def reset():
    print("\nResetting sensors")
    gps.reset()
    imu.reset()
    stepper.reset()

    communicator.write_packet(gps)
    communicator.write_packet(imu)


while True:
    communicator.read_command()

    if imu.recved_data():
        sensor_updated = True
        communicator.write_packet(imu)

    if gps.recved_data():
        sensor_updated = True
        communicator.write_packet(gps)
        gps_received()

    if sensor_updated:
        sensor_updated = False
        print(
            "%8.5f (%s:%s:%s:%s), %7.4f, %7.4f, %7.4f; %10.6f, %10.6f, %10.6f        "
            % ((imu.data[0], ) + imu.bno.get_calibration() +
               (imu.data[1], imu.data[2], imu.data[6], gps.data[0],
                gps.data[1], gps.data[2])),
            end='\r')
    pyb.delay(1)
コード例 #6
0
ファイル: quasar_main.py プロジェクト: Woz4tetra/Atlas
communicator = Communicator(*leds, blue_led, stepper, uart_bus=4)

sensor_updated = False

comm_ready()

pyb.delay(500)
communicator.signal_stop()  # micropython will be in standby at the start
standby()

while True:
    communicator.read_command()

    if imu.recved_data():
        sensor_updated = True
        communicator.write_packet(imu)

    if gps.recved_data():
        sensor_updated = True
        communicator.write_packet(gps)
        gps_received()

    if sensor_updated:
       sensor_updated = False
       print("%0.5f (%s:%s:%s:%s), %0.6f, %0.6f" % ((
           imu.data[0],) + imu.bno.get_calibration() + (gps.data[0], gps.data[1])), end='\r')
    pyb.delay(1)

    if communicator.should_reset():
        print("\nresetting")
        gps.reset()