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, ), ] }
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), ], }
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, ), ] }
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, ), ] }
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, ), ] }
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, ), ] }
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, ), ] }
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 ), ], }
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), ], }
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, ), ] }
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, ), ] }
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, ), ] }
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 ), ], }
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), ], }
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), ], }
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, ), ] }
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, ), ] }
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 ), ], }
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 ), ], }
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, ), ] }
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, ), ] }
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), ], }
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, ), ] }
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, ), ] }
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, ), ] }
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 ), ], }
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, ), ] }
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, ), ] }
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 ), ], }
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 ), ], }