예제 #1
0
def arduino_dataIn(channel, data):
    # read the available data
    data_available = arduino_in.decode(data)
    global sensors_ir, encoders, motor_status, extra_io, Data_Unpacked, sensor_distance

    # update the IR sensors values
    sensors_ir = np.array([
        data_available.extreme_left, data_available.left,
        data_available.center, data_available.right,
        data_available.extreme_right
    ])

    # update the encoders
    encoders = np.array([
        np.long(data_available.encoder_left),
        np.long(data_available.encoder_right)
    ])

    # update the motor status
    motor_status = data_available.motorEnable

    # update the extra IOs data
    extra_io = np.array([data_available.extra_io1, data_available.extra_io2])

    # update the sensor distance read
    temp = data_available.distance
    if temp < 450:
        sensor_distance = temp
    # for debugging
    Data_Unpacked = str(sensors_ir) + ',' + str(encoders) + ',' + str(
        motor_status) + ',' + str(extra_io) + ',' + str(sensor_distance)
예제 #2
0
def arduino_dataIn(channel, data):
    global node_time, status_counter, lcm_started
    # read the available data
    lcm_started = 1
    data_available = arduino_in.decode(data)
    # check the node connection status
    # keep tracking the device time
    node_time = timer()