def publish_vision_info(client, topic, info):
    #Use same device name as in vision_commands.py
    mid1 = master.publish_cmd(client,
                              topic,
                              SetAttrMessage('Vision', 'class_name',
                                             repr(info[0])),
                              qos=0)
    mid2 = master.publish_cmd(
        client,
        topic,
        SetAttrMessage('Vision', 'distance_angle', repr((info[1], info[2]))),
        qos=0
    )  #do we care about quality of service here??? probably not,want speed
    return mid1, mid2
def addVisionDevices(client, topic, qos=0):

    return master.publish_cmd(client,
                              topic,
                              AddDeviceMessage('Vision', "VisualFeedback()"),
                              delay=1,
                              qos=qos)
def publish_all(client, config_topics_to_publish):
    for topic in config_topics_to_publish:
        if topic == "IR":
            sensor = "IR_control"
            for property_name in items_to_publish[sensor]:
                prop = getattr(publishable_names_dict["IR_control"],
                               property_name)
                master.publish_cmd(
                    client, topic,
                    SetAttrMessage(sensor, property_name, repr(prop)))
        elif topic == "actuators":
            for pub, property_names in items_to_publish.items():
                if ("out" in pub):
                    for property_name in property_names:
                        val = getattr(publishable_names_dict[pub],
                                      property_name)
                        master.publish_cmd(
                            client, topic,
                            SetAttrMessage(pub, property_name, repr(val)))
        elif topic == "odometry":
            sensor = "Odometer"
            for property_name in items_to_publish[sensor]:
                prop = getattr(publishable_names_dict[sensor], property_name)
                master.publish_cmd(
                    client, topic,
                    SetAttrMessage(sensor, property_name, repr(prop)))
Beispiel #4
0
def addSensorDevices(client,topic):
#Use same names as in sensors_names_dict
    
    #Add remote controller
    master.publish_cmd(client,topic, AddDeviceMessage("IR_control", "remoteControl.InfraredSensor()"),1)
    master.publish_cmd(client,topic, SetAttrMessage("IR_control", "mode","IR-REMOTE"),1)
    master.publish_cmd(client,"data_collect",AddDeviceMessage("data_collector","DataCollector()"),1)
    print("added data")
Beispiel #5
0
def addOdometryDevices(client,topic,qos):

    master.publish_cmd(client, topic,AddDeviceMessage('Odometer', "Odometry()"),1,qos=qos)
Beispiel #6
0
def addActuatorDevices(client,topic):
#Use same names as in actuators_and_names_dict
    
    #Motors
    master.publish_cmd(client, topic,AddDeviceMessage('LargeMotor(outA)', "ev3.LargeMotor()"),1)
    master.publish_cmd(client, topic,SetAttrMessage('LargeMotor(outA)', "address","outA"),1)
    master.publish_cmd(client, topic,AddDeviceMessage('LargeMotor(outB)', "ev3.LargeMotor()"),1)
    master.publish_cmd(client, topic,SetAttrMessage('LargeMotor(outB)', "address","outB"),1)
    master.publish_cmd(client, topic,AddDeviceMessage('LargeMotor(outD)', "ev3.LargeMotor()"),1)
    master.publish_cmd(client, topic,SetAttrMessage('LargeMotor(outD)', "address","outD"),1)
    master.publish_cmd(client, topic,AddDeviceMessage('MediumMotor(outC)', "ev3.MediumMotor()"),1)
    master.publish_cmd(client, topic,SetAttrMessage('MediumMotor(outC)', "address","outD"),1)