コード例 #1
0
def get_bootloader_version(target, timeout):
    return {
        'did':
        DevicesEnum.system_info,
        'cid':
        CommandsEnum.get_bootloader_version,
        'seq':
        SequenceNumberGenerator.get_sequence_number(),
        'target':
        target,
        'timeout':
        timeout,
        'outputs': [
            Parameter(
                name='major',
                data_type='uint16_t',
                index=0,
                size=1,
            ),
            Parameter(
                name='minor',
                data_type='uint16_t',
                index=1,
                size=1,
            ),
            Parameter(
                name='revision',
                data_type='uint16_t',
                index=2,
                size=1,
            ),
        ]
    }
コード例 #2
0
def set_all_leds(led_group, led_brightness_values, target, timeout):
    return {
        'did':
        DevicesEnum.io,
        'cid':
        CommandsEnum.set_all_leds,
        'seq':
        SequenceNumberGenerator.get_sequence_number(),
        'target':
        target,
        'timeout':
        timeout,
        'inputs': [
            Parameter(name='led_group',
                      data_type='uint32_t',
                      index=0,
                      value=led_group,
                      size=1),
            Parameter(name='led_brightness_values',
                      data_type='uint8_t',
                      index=1,
                      value=led_brightness_values,
                      size=32),
        ],
    }
コード例 #3
0
def echo(data, target, timeout):
    return {
        'did':
        DevicesEnum.api_and_shell,
        'cid':
        CommandsEnum.echo,
        'seq':
        SequenceNumberGenerator.get_sequence_number(),
        'target':
        target,
        'timeout':
        timeout,
        'inputs': [
            Parameter(name='data',
                      data_type='uint8_t',
                      index=0,
                      value=data,
                      size=16),
        ],
        'outputs': [
            Parameter(
                name='data',
                data_type='uint8_t',
                index=0,
                size=16,
            ),
        ]
    }
コード例 #4
0
def get_default_control_system_for_type(control_system_type, target, timeout): 
    return { 
        'did': DevicesEnum.drive,
        'cid': CommandsEnum.get_default_control_system_for_type,
        'seq': SequenceNumberGenerator.get_sequence_number(),
        'target': target,
        'timeout': timeout,
        'inputs': [ 
            Parameter( 
                name='control_system_type',
                data_type='uint8_t',
                index=0,
                value=control_system_type,
                size=1
            ),
        ],
        'outputs': [ 
            Parameter( 
                name='controller_id',
                data_type='uint8_t',
                index=0,
                size=1,
            ),
        ]
    }
コード例 #5
0
def on_magnetometer_calibration_complete_notify(target, timeout):
    return {
        'did':
        DevicesEnum.sensor,
        'cid':
        CommandsEnum.magnetometer_calibration_complete_notify,
        'target':
        target,
        'timeout':
        timeout,
        'outputs': [
            Parameter(
                name='is_successful',
                data_type='bool',
                index=0,
                size=1,
            ),
            Parameter(
                name='yaw_north_direction',
                data_type='int16_t',
                index=1,
                size=1,
            ),
        ]
    }
コード例 #6
0
def get_battery_voltage_state_thresholds(target, timeout):
    return {
        'did':
        DevicesEnum.power,
        'cid':
        CommandsEnum.get_battery_voltage_state_thresholds,
        'seq':
        SequenceNumberGenerator.get_sequence_number(),
        'target':
        target,
        'timeout':
        timeout,
        'outputs': [
            Parameter(
                name='critical_threshold',
                data_type='float',
                index=0,
                size=1,
            ),
            Parameter(
                name='low_threshold',
                data_type='float',
                index=1,
                size=1,
            ),
            Parameter(
                name='hysteresis',
                data_type='float',
                index=2,
                size=1,
            ),
        ]
    }
コード例 #7
0
ファイル: drive.py プロジェクト: DarkMistofWoods/rvr_z
def on_motor_stall_notify(target, timeout):
    return {
        'did':
        DevicesEnum.drive,
        'cid':
        CommandsEnum.motor_stall_notify,
        'target':
        target,
        'timeout':
        timeout,
        'outputs': [
            Parameter(
                name='motorIndex',
                data_type='uint8_t',
                index=0,
                size=1,
            ),
            Parameter(
                name='isTriggered',
                data_type='bool',
                index=1,
                size=1,
            ),
        ]
    }
コード例 #8
0
def drive_rc_normalized(yaw_angular_velocity, linear_velocity, flags, target, timeout): 
    return { 
        'did': DevicesEnum.drive,
        'cid': CommandsEnum.drive_rc_normalized,
        'seq': SequenceNumberGenerator.get_sequence_number(),
        'target': target,
        'timeout': timeout,
        'inputs': [ 
            Parameter( 
                name='yaw_angular_velocity',
                data_type='int8_t',
                index=0,
                value=yaw_angular_velocity,
                size=1
            ),
            Parameter( 
                name='linear_velocity',
                data_type='int8_t',
                index=1,
                value=linear_velocity,
                size=1
            ),
            Parameter( 
                name='flags',
                data_type='uint8_t',
                index=2,
                value=flags,
                size=1
            ),
        ],
    }
コード例 #9
0
def configure_streaming_service(token, configuration, target, timeout):
    return {
        'did':
        DevicesEnum.sensor,
        'cid':
        CommandsEnum.configure_streaming_service,
        'seq':
        SequenceNumberGenerator.get_sequence_number(),
        'target':
        target,
        'timeout':
        timeout,
        'inputs': [
            Parameter(name='token',
                      data_type='uint8_t',
                      index=0,
                      value=token,
                      size=1),
            Parameter(name='configuration',
                      data_type='uint8_t',
                      index=1,
                      value=configuration,
                      size=15),
        ],
    }
コード例 #10
0
def get_magnetometer_reading(target, timeout):
    return {
        'did':
        DevicesEnum.sensor,
        'cid':
        CommandsEnum.get_magnetometer_reading,
        'seq':
        SequenceNumberGenerator.get_sequence_number(),
        'target':
        target,
        'timeout':
        timeout,
        'outputs': [
            Parameter(
                name='x_axis',
                data_type='float',
                index=0,
                size=1,
            ),
            Parameter(
                name='y_axis',
                data_type='float',
                index=1,
                size=1,
            ),
            Parameter(
                name='z_axis',
                data_type='float',
                index=2,
                size=1,
            ),
        ]
    }
コード例 #11
0
def get_motor_temperature(motor_index, target, timeout):
    return {
        'did':
        DevicesEnum.sensor,
        'cid':
        CommandsEnum.get_motor_temperature,
        'seq':
        SequenceNumberGenerator.get_sequence_number(),
        'target':
        target,
        'timeout':
        timeout,
        'inputs': [
            Parameter(name='motorIndex',
                      data_type='uint8_t',
                      index=0,
                      value=motor_index,
                      size=1),
        ],
        'outputs': [
            Parameter(
                name='windingCoilTemperature',
                data_type='float',
                index=0,
                size=1,
            ),
            Parameter(
                name='caseTemperature',
                data_type='float',
                index=1,
                size=1,
            ),
        ]
    }
コード例 #12
0
def on_streaming_service_data_notify(target, timeout):
    return {
        'did':
        DevicesEnum.sensor,
        'cid':
        CommandsEnum.streaming_service_data_notify,
        'target':
        target,
        'timeout':
        timeout,
        'outputs': [
            Parameter(
                name='token',
                data_type='uint8_t',
                index=0,
                size=1,
            ),
            Parameter(
                name='sensorData',
                data_type='uint8_t',
                index=1,
                size=9999,
            ),
        ]
    }
コード例 #13
0
def drive_with_heading(speed, heading, flags, target, timeout): 
    return { 
        'did': DevicesEnum.drive,
        'cid': CommandsEnum.drive_with_heading,
        'seq': SequenceNumberGenerator.get_sequence_number(),
        'target': target,
        'timeout': timeout,
        'inputs': [ 
            Parameter( 
                name='speed',
                data_type='uint8_t',
                index=0,
                value=speed,
                size=1
            ),
            Parameter( 
                name='heading',
                data_type='uint16_t',
                index=1,
                value=heading,
                size=1
            ),
            Parameter( 
                name='flags',
                data_type='uint8_t',
                index=2,
                value=flags,
                size=1
            ),
        ],
    }
コード例 #14
0
def enable_color_detection_notify(is_enabled, interval,
                                  minimum_confidence_threshold, target,
                                  timeout):
    return {
        'did':
        DevicesEnum.sensor,
        'cid':
        CommandsEnum.enable_color_detection_notify,
        'seq':
        SequenceNumberGenerator.get_sequence_number(),
        'target':
        target,
        'timeout':
        timeout,
        'inputs': [
            Parameter(name='isEnabled',
                      data_type='bool',
                      index=0,
                      value=is_enabled,
                      size=1),
            Parameter(name='interval',
                      data_type='uint16_t',
                      index=1,
                      value=interval,
                      size=1),
            Parameter(name='minimumConfidenceThreshold',
                      data_type='uint8_t',
                      index=2,
                      value=minimum_confidence_threshold,
                      size=1),
        ],
    }
コード例 #15
0
def start_robot_to_robot_infrared_evading(far_code, near_code, target,
                                          timeout):
    return {
        'did':
        DevicesEnum.sensor,
        'cid':
        CommandsEnum.start_robot_to_robot_infrared_evading,
        'seq':
        SequenceNumberGenerator.get_sequence_number(),
        'target':
        target,
        'timeout':
        timeout,
        'inputs': [
            Parameter(name='farCode',
                      data_type='uint8_t',
                      index=0,
                      value=far_code,
                      size=1),
            Parameter(name='nearCode',
                      data_type='uint8_t',
                      index=1,
                      value=near_code,
                      size=1),
        ],
    }
コード例 #16
0
def get_current_sense_amplifier_current(amplifier_id, target, timeout):
    return {
        'did':
        DevicesEnum.power,
        'cid':
        CommandsEnum.get_current_sense_amplifier_current,
        'seq':
        SequenceNumberGenerator.get_sequence_number(),
        'target':
        target,
        'timeout':
        timeout,
        'inputs': [
            Parameter(name='amplifier_id',
                      data_type='uint8_t',
                      index=0,
                      value=amplifier_id,
                      size=1),
        ],
        'outputs': [
            Parameter(
                name='amplifier_current',
                data_type='float',
                index=0,
                size=1,
            ),
        ]
    }
コード例 #17
0
def get_battery_voltage_in_volts(reading_type, target, timeout):
    return {
        'did':
        DevicesEnum.power,
        'cid':
        CommandsEnum.get_battery_voltage_in_volts,
        'seq':
        SequenceNumberGenerator.get_sequence_number(),
        'target':
        target,
        'timeout':
        timeout,
        'inputs': [
            Parameter(name='reading_type',
                      data_type='uint8_t',
                      index=0,
                      value=reading_type,
                      size=1),
        ],
        'outputs': [
            Parameter(
                name='voltage',
                data_type='float',
                index=0,
                size=1,
            ),
        ]
    }
コード例 #18
0
def drive_to_position_normalized(yaw_angle, x, y, linear_speed, flags, target, timeout): 
    return { 
        'did': DevicesEnum.drive,
        'cid': CommandsEnum.drive_to_position_normalized,
        'seq': SequenceNumberGenerator.get_sequence_number(),
        'target': target,
        'timeout': timeout,
        'inputs': [ 
            Parameter( 
                name='yaw_angle',
                data_type='int16_t',
                index=0,
                value=yaw_angle,
                size=1
            ),
            Parameter( 
                name='x',
                data_type='float',
                index=1,
                value=x,
                size=1
            ),
            Parameter( 
                name='y',
                data_type='float',
                index=2,
                value=y,
                size=1
            ),
            Parameter( 
                name='linear_speed',
                data_type='int8_t',
                index=3,
                value=linear_speed,
                size=1
            ),
            Parameter( 
                name='flags',
                data_type='uint8_t',
                index=4,
                value=flags,
                size=1
            ),
        ],
    }
コード例 #19
0
def set_drive_target_slew_parameters(a, b, c, linear_acceleration, linear_velocity_slew_method, target, timeout): 
    return { 
        'did': DevicesEnum.drive,
        'cid': CommandsEnum.set_drive_target_slew_parameters,
        'seq': SequenceNumberGenerator.get_sequence_number(),
        'target': target,
        'timeout': timeout,
        'inputs': [ 
            Parameter( 
                name='a',
                data_type='float',
                index=0,
                value=a,
                size=1
            ),
            Parameter( 
                name='b',
                data_type='float',
                index=1,
                value=b,
                size=1
            ),
            Parameter( 
                name='c',
                data_type='float',
                index=2,
                value=c,
                size=1
            ),
            Parameter( 
                name='linear_acceleration',
                data_type='float',
                index=3,
                value=linear_acceleration,
                size=1
            ),
            Parameter( 
                name='linear_velocity_slew_method',
                data_type='uint8_t',
                index=4,
                value=linear_velocity_slew_method,
                size=1
            ),
        ],
    }
コード例 #20
0
def get_color_identification_report(red, green, blue, confidence_threshold,
                                    target, timeout):
    return {
        'did':
        DevicesEnum.io,
        'cid':
        CommandsEnum.get_color_identification_report,
        'seq':
        SequenceNumberGenerator.get_sequence_number(),
        'target':
        target,
        'timeout':
        timeout,
        'inputs': [
            Parameter(name='red',
                      data_type='uint8_t',
                      index=0,
                      value=red,
                      size=1),
            Parameter(name='green',
                      data_type='uint8_t',
                      index=1,
                      value=green,
                      size=1),
            Parameter(name='blue',
                      data_type='uint8_t',
                      index=2,
                      value=blue,
                      size=1),
            Parameter(name='confidence_threshold',
                      data_type='uint8_t',
                      index=3,
                      value=confidence_threshold,
                      size=1),
        ],
        'outputs': [
            Parameter(
                name='index_confidence_byte',
                data_type='uint8_t',
                index=0,
                size=24,
            ),
        ]
    }
コード例 #21
0
def on_color_detection_notify(target, timeout):
    return {
        'did':
        DevicesEnum.sensor,
        'cid':
        CommandsEnum.color_detection_notify,
        'target':
        target,
        'timeout':
        timeout,
        'outputs': [
            Parameter(
                name='red',
                data_type='uint8_t',
                index=0,
                size=1,
            ),
            Parameter(
                name='green',
                data_type='uint8_t',
                index=1,
                size=1,
            ),
            Parameter(
                name='blue',
                data_type='uint8_t',
                index=2,
                size=1,
            ),
            Parameter(
                name='confidence',
                data_type='uint8_t',
                index=3,
                size=1,
            ),
            Parameter(
                name='colorClassificationId',
                data_type='uint8_t',
                index=4,
                size=1,
            ),
        ]
    }
コード例 #22
0
def send_infrared_message(infrared_code, front_strength, left_strength,
                          right_strength, rear_strength, target, timeout):
    return {
        'did':
        DevicesEnum.sensor,
        'cid':
        CommandsEnum.send_infrared_message,
        'seq':
        SequenceNumberGenerator.get_sequence_number(),
        'target':
        target,
        'timeout':
        timeout,
        'inputs': [
            Parameter(name='infraredCode',
                      data_type='uint8_t',
                      index=0,
                      value=infrared_code,
                      size=1),
            Parameter(name='frontStrength',
                      data_type='uint8_t',
                      index=1,
                      value=front_strength,
                      size=1),
            Parameter(name='leftStrength',
                      data_type='uint8_t',
                      index=2,
                      value=left_strength,
                      size=1),
            Parameter(name='rightStrength',
                      data_type='uint8_t',
                      index=3,
                      value=right_strength,
                      size=1),
            Parameter(name='rearStrength',
                      data_type='uint8_t',
                      index=4,
                      value=rear_strength,
                      size=1),
        ],
    }
コード例 #23
0
def get_drive_target_slew_parameters(target, timeout): 
    return { 
        'did': DevicesEnum.drive,
        'cid': CommandsEnum.get_drive_target_slew_parameters,
        'seq': SequenceNumberGenerator.get_sequence_number(),
        'target': target,
        'timeout': timeout,
        'outputs': [ 
            Parameter( 
                name='a',
                data_type='float',
                index=0,
                size=1,
            ),
            Parameter( 
                name='b',
                data_type='float',
                index=1,
                size=1,
            ),
            Parameter( 
                name='c',
                data_type='float',
                index=2,
                size=1,
            ),
            Parameter( 
                name='linear_acceleration',
                data_type='float',
                index=3,
                size=1,
            ),
            Parameter( 
                name='linear_velocity_slew_method',
                data_type='uint8_t',
                index=4,
                size=1,
            ),
        ]
    }
コード例 #24
0
def get_motor_thermal_protection_status(target, timeout):
    return {
        'did':
        DevicesEnum.sensor,
        'cid':
        CommandsEnum.get_motor_thermal_protection_status,
        'seq':
        SequenceNumberGenerator.get_sequence_number(),
        'target':
        target,
        'timeout':
        timeout,
        'outputs': [
            Parameter(
                name='leftMotorTemperature',
                data_type='float',
                index=0,
                size=1,
            ),
            Parameter(
                name='leftMotorStatus',
                data_type='uint8_t',
                index=1,
                size=1,
            ),
            Parameter(
                name='rightMotorTemperature',
                data_type='float',
                index=2,
                size=1,
            ),
            Parameter(
                name='rightMotorStatus',
                data_type='uint8_t',
                index=3,
                size=1,
            ),
        ]
    }
コード例 #25
0
def get_rgbc_sensor_values(target, timeout):
    return {
        'did':
        DevicesEnum.sensor,
        'cid':
        CommandsEnum.get_rgbc_sensor_values,
        'seq':
        SequenceNumberGenerator.get_sequence_number(),
        'target':
        target,
        'timeout':
        timeout,
        'outputs': [
            Parameter(
                name='redChannelValue',
                data_type='uint16_t',
                index=0,
                size=1,
            ),
            Parameter(
                name='greenChannelValue',
                data_type='uint16_t',
                index=1,
                size=1,
            ),
            Parameter(
                name='blueChannelValue',
                data_type='uint16_t',
                index=2,
                size=1,
            ),
            Parameter(
                name='clearChannelValue',
                data_type='uint16_t',
                index=3,
                size=1,
            ),
        ]
    }
コード例 #26
0
def raw_motors(left_mode, left_duty_cycle, right_mode, right_duty_cycle, target, timeout): 
    return { 
        'did': DevicesEnum.drive,
        'cid': CommandsEnum.raw_motors,
        'seq': SequenceNumberGenerator.get_sequence_number(),
        'target': target,
        'timeout': timeout,
        'inputs': [ 
            Parameter( 
                name='left_mode',
                data_type='uint8_t',
                index=0,
                value=left_mode,
                size=1
            ),
            Parameter( 
                name='left_duty_cycle',
                data_type='uint8_t',
                index=1,
                value=left_duty_cycle,
                size=1
            ),
            Parameter( 
                name='right_mode',
                data_type='uint8_t',
                index=2,
                value=right_mode,
                size=1
            ),
            Parameter( 
                name='right_duty_cycle',
                data_type='uint8_t',
                index=3,
                value=right_duty_cycle,
                size=1
            ),
        ],
    }
コード例 #27
0
def on_motor_thermal_protection_status_notify(target, timeout):
    return {
        'did':
        DevicesEnum.sensor,
        'cid':
        CommandsEnum.motor_thermal_protection_status_notify,
        'target':
        target,
        'timeout':
        timeout,
        'outputs': [
            Parameter(
                name='leftMotorTemperature',
                data_type='float',
                index=0,
                size=1,
            ),
            Parameter(
                name='leftMotorStatus',
                data_type='uint8_t',
                index=1,
                size=1,
            ),
            Parameter(
                name='rightMotorTemperature',
                data_type='float',
                index=2,
                size=1,
            ),
            Parameter(
                name='rightMotorStatus',
                data_type='uint8_t',
                index=3,
                size=1,
            ),
        ]
    }
コード例 #28
0
def on_xy_position_drive_result_notify(target, timeout): 
    return { 
        'did': DevicesEnum.drive,
        'cid': CommandsEnum.xy_position_drive_result_notify,
        'target': target,
        'timeout': timeout,
        'outputs': [ 
            Parameter( 
                name='success',
                data_type='bool',
                index=0,
                size=1,
            ),
        ]
    }
コード例 #29
0
def drive_with_yaw_si(yaw_angle, linear_velocity, target, timeout): 
    return { 
        'did': DevicesEnum.drive,
        'cid': CommandsEnum.drive_with_yaw_si,
        'seq': SequenceNumberGenerator.get_sequence_number(),
        'target': target,
        'timeout': timeout,
        'inputs': [ 
            Parameter( 
                name='yaw_angle',
                data_type='float',
                index=0,
                value=yaw_angle,
                size=1
            ),
            Parameter( 
                name='linear_velocity',
                data_type='float',
                index=1,
                value=linear_velocity,
                size=1
            ),
        ],
    }
コード例 #30
0
def drive_tank_normalized(left_velocity, right_velocity, target, timeout): 
    return { 
        'did': DevicesEnum.drive,
        'cid': CommandsEnum.drive_tank_normalized,
        'seq': SequenceNumberGenerator.get_sequence_number(),
        'target': target,
        'timeout': timeout,
        'inputs': [ 
            Parameter( 
                name='left_velocity',
                data_type='int8_t',
                index=0,
                value=left_velocity,
                size=1
            ),
            Parameter( 
                name='right_velocity',
                data_type='int8_t',
                index=1,
                value=right_velocity,
                size=1
            ),
        ],
    }