sPyNNaker neural_modelling 7.2.2
|
Description of the Munich robot device protocol. More...
Go to the source code of this file.
Data Structures | |
struct | munich_key_bitfields_t |
The format of Munich device protocol keys. More... | |
union | munich_key_t |
Keys are really uint32_t, but contain bitfields within them. More... | |
struct | multicast_packet |
Description of multicast packet to send as part of Munich protocol. More... | |
Macros | |
#define | MUNICH_KEY(I, F, D) ((I << OFFSET_TO_I) | (F << OFFSET_TO_F) | (D << OFFSET_TO_D)) |
Assembles a Munich key with zero munich_key_bitfields_t::instance_key. | |
#define | MUNICH_KEY_I_D(I, D) MUNICH_KEY(I, 0, D) |
Assembles a Munich key with zero munich_key_bitfields_t::instance_key and munich_key_bitfields_t::payload_format. | |
#define | MUNICH_KEY_I(I) MUNICH_KEY(I, 0, 0) |
Assembles a Munich key with zero for all fields except munich_key_bitfields_t::instruction. | |
Enumerations | |
enum | { OFFSET_TO_I = 4 , OFFSET_TO_F = 3 , OFFSET_TO_D = 0 } |
Offsets within a munich_key_t. More... | |
enum | { OFFSET_FOR_UART_ID = 29 , PUSH_BOT_UART_OFFSET_SPEAKER_LED_LASER = 1 } |
Specific fields in the key. More... | |
enum | { PAYLOAD_OFFSET_FOR_TIMESTAMPS = 29 , PAYLOAD_OFFSET_FOR_RETINA_SIZE = 26 , PAYLOAD_SENSOR_ID_OFFSET = 27 , PAYLOAD_OFFSET_FOR_SENSOR_TIME = 31 } |
Payload bit offsets for various fields. More... | |
enum | { CONFIGURE_MASTER_KEY = MUNICH_KEY_I(127) , CHANGE_MODE = MUNICH_KEY_I_D(127, 1) , DISABLE_RETINA_EVENT_STREAMING = MUNICH_KEY_I_D(0, 0) , ACTIVE_RETINA_EVENT_STREAMING_KEYS_CONFIGURATION = MUNICH_KEY_I_D(0, 1) , ACTIVE_RETINA_EVENT_STREAMING_SET_KEY = MUNICH_KEY_I_D(0, 2) , SET_TIMER_COUNTER_FOR_TIMESTAMPS = MUNICH_KEY_I_D(0, 3) , MASTER_SLAVE_KEY = MUNICH_KEY_I_D(0, 4) , BIAS_KEY = MUNICH_KEY_I_D(0, 5) , RESET_RETINA_KEY = MUNICH_KEY_I_D(0, 7) , SENSOR_REPORTING_OFF_KEY = MUNICH_KEY_I_D(1, 0) , POLL_SENSORS_ONCE_KEY = MUNICH_KEY_I_D(1, 1) , POLL_SENSORS_CONTINUOUSLY_KEY = MUNICH_KEY_I_D(1, 2) , DISABLE_MOTOR_KEY = MUNICH_KEY_I_D(2, 0) , MOTOR_RUN_FOR_PERIOD_KEY = MUNICH_KEY_I_D(2, 1) , MOTOR_0_RAW_PERM_KEY = MUNICH_KEY_I_D(2, 4) , MOTOR_1_RAW_PERM_KEY = MUNICH_KEY_I_D(2, 5) , MOTOR_0_RAW_LEAK_KEY = MUNICH_KEY_I_D(2, 6) , MOTOR_1_RAW_LEAK_KEY = MUNICH_KEY_I_D(2, 7) , MOTOR_TIMER_A_TOTAL_PERIOD_KEY = MUNICH_KEY_I_D(3, 0) , MOTOR_TIMER_B_TOTAL_PERIOD_KEY = MUNICH_KEY_I_D(3, 2) , MOTOR_TIMER_C_TOTAL_PERIOD_KEY = MUNICH_KEY_I_D(3, 4) , MOTOR_TIMER_A_CHANNEL_0_ACTIVE_PERIOD_KEY = MUNICH_KEY_I_D(4, 0) , MOTOR_TIMER_A_CHANNEL_1_ACTIVE_PERIOD_KEY = MUNICH_KEY_I_D(4, 1) , MOTOR_TIMER_B_CHANNEL_0_ACTIVE_PERIOD_KEY = MUNICH_KEY_I_D(4, 2) , MOTOR_TIMER_B_CHANNEL_1_ACTIVE_PERIOD_KEY = MUNICH_KEY_I_D(4, 3) , MOTOR_TIMER_C_CHANNEL_0_ACTIVE_PERIOD_KEY = MUNICH_KEY_I_D(4, 4) , MOTOR_TIMER_C_CHANNEL_1_ACTIVE_PERIOD_KEY = MUNICH_KEY_I_D(4, 5) , QUERY_STATES_LINES_KEY = MUNICH_KEY_I_D(5, 0) , SET_OUTPUT_PATTERN_KEY = MUNICH_KEY_I_D(5, 1) , ADD_PAYLOAD_TO_CURRENT_OUTPUT_KEY = MUNICH_KEY_I_D(5, 2) , REMOVE_PAYLOAD_TO_CURRENT_OUTPUT_KEY = MUNICH_KEY_I_D(5, 3) , SET_PAYLOAD_TO_HIGH_IMPEDANCE_KEY = MUNICH_KEY_I_D(5, 4) , PUSH_BOT_LASER_CONFIG_TOTAL_PERIOD = MUNICH_KEY_I_D(4, 0) , PUSH_BOT_LASER_CONFIG_ACTIVE_TIME = MUNICH_KEY_I_D(5, 0) , PUSH_BOT_LASER_FREQUENCY = MUNICH_KEY_I_D(37, 1) , PUSH_BOT_LED_CONFIG_TOTAL_PERIOD = MUNICH_KEY_I_D(4, 4) , PUSH_BOT_LED_BACK_CONFIG_ACTIVE_TIME = MUNICH_KEY_I_D(5, 4) , PUSH_BOT_LED_FRONT_CONFIG_ACTIVE_TIME = MUNICH_KEY_I_D(5, 5) , PUSH_BOT_LED_FREQUENCY = MUNICH_KEY_I_D(37, 0) , PUSH_BOT_SPEAKER_CONFIG_TOTAL_PERIOD = MUNICH_KEY_I_D(4, 2) , PUSH_BOT_SPEAKER_CONFIG_ACTIVE_TIME = MUNICH_KEY_I_D(5, 2) , PUSH_BOT_SPEAKER_TONE_BEEP = MUNICH_KEY_I_D(36, 0) , PUSH_BOT_SPEAKER_TONE_MELODY = MUNICH_KEY_I_D(36, 1) , PUSH_BOT_MOTOR_0_PERMANENT_VELOCITY = MUNICH_KEY_I_D(32, 0) , PUSH_BOT_MOTOR_1_PERMANENT_VELOCITY = MUNICH_KEY_I_D(32, 1) , PUSH_BOT_MOTOR_0_LEAKY_VELOCITY = MUNICH_KEY_I_D(32, 2) , PUSH_BOT_MOTOR_1_LEAKY_VELOCITY = MUNICH_KEY_I_D(32, 3) } |
Command keys (as offsets from the base key) More... | |
enum | { PAYLOAD_NO_TIMESTAMPS = (0 << PAYLOAD_OFFSET_FOR_TIMESTAMPS) , PAYLOAD_DELTA_TIMESTAMPS = (1 << PAYLOAD_OFFSET_FOR_TIMESTAMPS) , PAYLOAD_TWO_BYTE_TIME_STAMPS = (2 << PAYLOAD_OFFSET_FOR_TIMESTAMPS) , PAYLOAD_THREE_BYTE_TIME_STAMPS = (3 << PAYLOAD_OFFSET_FOR_TIMESTAMPS) , PAYLOAD_FOUR_BYTE_TIME_STAMPS = (4 << PAYLOAD_OFFSET_FOR_TIMESTAMPS) } |
payloads for setting different time stamp sizes More... | |
enum | { PAYLOAD_RETINA_NO_DOWN_SAMPLING_IN_PAYLOAD , PAYLOAD_RETINA_NO_DOWN_SAMPLING = (1 << PAYLOAD_OFFSET_FOR_RETINA_SIZE) , PAYLOAD_RETINA_64_DOWN_SAMPLING = (2 << PAYLOAD_OFFSET_FOR_RETINA_SIZE) , PAYLOAD_RETINA_32_DOWN_SAMPLING = (3 << PAYLOAD_OFFSET_FOR_RETINA_SIZE) , PAYLOAD_RETINA_16_DOWN_SAMPLING = (4 << PAYLOAD_OFFSET_FOR_RETINA_SIZE) } |
payloads for retina size More... | |
enum | { PAYLOAD_MASTER_SLAVE_USE_INTERNAL_COUNTER = 0 , PAYLOAD_MASTER_SLAVE_SET_SLAVE = 1 , PAYLOAD_MASTER_SLAVE_SET_MASTER_CLOCK_NOT_STARTED = 2 , PAYLOAD_MASTER_SLAVE_SET_MASTER_CLOCK_ACTIVE = 4 } |
payloads for master slave control More... | |
enum | munich_protocol_modes_e { MUNICH_PROTOCOL_RESET_TO_DEFAULT = 0 , MUNICH_PROTOCOL_PUSH_BOT = 1 , MUNICH_PROTOCOL_SPOMNIBOT = 2 , MUNICH_PROTOCOL_BALL_BALANCER = 3 , MUNICH_PROTOCOL_MY_ORO_BOTICS = 4 , MUNICH_PROTOCOL_FREE = 5 } |
human readable definitions of each mode More... | |
Functions | |
static void | set_protocol_mode (munich_protocol_modes_e new_mode, uint32_t new_instance_key) |
Configures the protocol mode. | |
static multicast_packet | munich_protocol_get_configure_master_key_command (uint32_t new_key) |
Creates a command to configure the master key. | |
static multicast_packet | munich_protocol_get_set_mode_command (void) |
Creates a command to set the device mode. | |
static multicast_packet | munich_protocol_set_retina_transmission_key (uint32_t new_key, uint32_t uart_id) |
Creates a command to set the retina base key. | |
static multicast_packet | munich_protocol_disable_retina_event_streaming (uint32_t uart_id) |
Creates a command to disable event streaming my a retina. | |
static multicast_packet | munich_protocol_reset_retina (uint32_t uart_id) |
Creates a command to reset a retina. | |
static multicast_packet | munich_protocol_master_slave_use_internal_counter (uint32_t uart_id) |
Creates a command to tell the master/slave to use its internal event counter. | |
static multicast_packet | munich_protocol_master_slave_set_slave (uint32_t uart_id) |
Creates a command to tell a UART to be a slave. | |
static multicast_packet | munich_protocol_master_slave_set_master_clock_not_started (uint32_t uart_id) |
Creates a command to set a UART clock into the not-started state. | |
static multicast_packet | munich_protocol_master_slave_set_master_clock_active (uint32_t uart_id) |
Creates a command to set a UART clock active. | |
static multicast_packet | munich_protocol_bias_values (uint32_t bias_id, uint32_t bias_value, uint32_t uart_id) |
Creates a command to set bias values for a UART. | |
static multicast_packet | munich_protocol_turn_off_sensor_reporting (uint32_t sensor_id) |
Creates a command to stop sensor reporting. | |
static multicast_packet | munich_protocol_poll_sensors_once (uint32_t sensor_id) |
Creates a command to poll a sensor once. | |
static multicast_packet | munich_protocol_poll_individual_sensor_continuously (uint32_t sensor_id, uint32_t time_in_ms) |
Creates a command to continuously poll a sensor. | |
static multicast_packet | munich_protocol_generic_motor_enable_disable (uint32_t enable_disable, uint32_t uart_id) |
Creates a command to turn a motor on or off. | |
static multicast_packet | munich_protocol_generic_motor_total_period_duration (uint32_t time_in_ms, uint32_t uart_id) |
Creates a command to turn a motor on for a period. | |
static multicast_packet | munich_protocol_generic_motor0_raw_output_permanent (uint32_t pwm_signal, uint32_t uart_id) |
Creates a command to turn motor 0 on at a constant rate. | |
static multicast_packet | munich_protocol_generic_motor1_raw_output_permanent (uint32_t pwm_signal, uint32_t uart_id) |
Creates a command to turn motor 1 on at a constant rate. | |
static multicast_packet | munich_protocol_generic_motor0_raw_output_leak_to_0 (uint32_t pwm_signal, uint32_t uart_id) |
Creates a command to turn motor 0 on at a rate that decays to zero. | |
static multicast_packet | munich_protocol_generic_motor1_raw_output_leak_to_0 (uint32_t pwm_signal, uint32_t uart_id) |
Creates a command to turn motor 1 on at a rate that decays to zero. | |
static multicast_packet | munich_protocol_pwm_pin_output_timer_a_duration (uint32_t timer_period, uint32_t uart_id) |
Creates a command to set the PWM duty cycle period for Timer A. | |
static multicast_packet | munich_protocol_pwm_pin_output_timer_b_duration (uint32_t timer_period, uint32_t uart_id) |
Creates a command to set the PWM duty cycle period for Timer B. | |
static multicast_packet | munich_protocol_pwm_pin_output_timer_c_duration (uint32_t timer_period, uint32_t uart_id) |
Creates a command to set the PWM duty cycle period for Timer C. | |
static multicast_packet | munich_protocol_pwm_pin_output_timer_a_channel_0_ratio (uint32_t timer_period, uint32_t uart_id) |
Creates a command to set the PWM duty cycle ratio for Timer A, Channel 0. | |
static multicast_packet | munich_protocol_pwm_pin_output_timer_a_channel_1_ratio (uint32_t timer_period, uint32_t uart_id) |
Creates a command to set the PWM duty cycle ratio for Timer A, Channel 1. | |
static multicast_packet | munich_protocol_pwm_pin_output_timer_b_channel_0_ratio (uint32_t timer_period, uint32_t uart_id) |
Creates a command to set the PWM duty cycle ratio for Timer B, Channel 0. | |
static multicast_packet | munich_protocol_pwm_pin_output_timer_b_channel_1_ratio (uint32_t timer_period, uint32_t uart_id) |
Creates a command to set the PWM duty cycle ratio for Timer B, Channel 1. | |
static multicast_packet | munich_protocol_pwm_pin_output_timer_c_channel_0_ratio (uint32_t timer_period, uint32_t uart_id) |
Creates a command to set the PWM duty cycle ratio for Timer C, Channel 0. | |
static multicast_packet | munich_protocol_pwm_pin_output_timer_c_channel_1_ratio (uint32_t timer_period, uint32_t uart_id) |
Creates a command to set the PWM duty cycle ratio for Timer C, Channel 1. | |
static multicast_packet | munich_protocol_query_state_of_io_lines (void) |
Creates a command to ask for the state of the IO lines. | |
static multicast_packet | munich_protocol_set_output_pattern_for_payload (uint32_t payload) |
Creates a command to set an output pattern for a payload. | |
static multicast_packet | munich_protocol_add_payload_logic_to_current_output (uint32_t payload) |
Creates a command to add to the current output. | |
static multicast_packet | munich_protocol_remove_payload_logic_to_current_output (uint32_t payload) |
Creates a command to remove from the current output. | |
static multicast_packet | munich_protocol_set_payload_pins_to_high_impedance (uint32_t payload) |
Creates a command to set the payload pins to high-impedance mode. | |
static multicast_packet | munich_protocol_push_bot_laser_config_total_period (uint32_t total_period, uint32_t uart_id) |
Creates a command to set the laser total period. | |
static multicast_packet | munich_protocol_push_bot_laser_config_active_time (uint32_t active_time, uint32_t uart_id) |
Creates a command to set the laser active time. | |
static multicast_packet | munich_protocol_push_bot_laser_set_frequency (uint32_t frequency, uint32_t uart_id) |
Creates a command to set the laser flash frequency. | |
static multicast_packet | munich_protocol_push_bot_speaker_config_total_period (uint32_t total_period, uint32_t uart_id) |
Creates a command to configure the speaker to run in PCM mode. | |
static multicast_packet | munich_protocol_push_bot_speaker_config_active_time (uint32_t active_time, uint32_t uart_id) |
Creates a command to adjust how the speaker runs in PCM mode. | |
static multicast_packet | munich_protocol_push_bot_speaker_set_tone (uint32_t frequency, uint32_t uart_id) |
Creates a command to configure the speaker play a particular frequency of tone. | |
static multicast_packet | munich_protocol_push_bot_speaker_set_melody (uint32_t melody, uint32_t uart_id) |
Creates a command to configure the speaker play a pre-programmed "melody". | |
static multicast_packet | munich_protocol_push_bot_led_total_period (uint32_t total_period, uint32_t uart_id) |
Creates a command to set the total LED period. | |
static multicast_packet | munich_protocol_push_bot_led_back_active_time (uint32_t active_time, uint32_t uart_id) |
Creates a command to set the back LED active time. | |
static multicast_packet | munich_protocol_push_bot_led_front_active_time (uint32_t active_time, uint32_t uart_id) |
Creates a command to set the front LED active time. | |
static multicast_packet | munich_protocol_push_bot_led_set_frequency (uint32_t frequency, uint32_t uart_id) |
Creates a command to set the LED flash frequency. | |
static multicast_packet | munich_protocol_push_bot_motor_0_permanent (state_t velocity, uint32_t uart_id) |
Creates a command to set motor 0 moving, in constant mode. | |
static multicast_packet | munich_protocol_push_bot_motor_1_permanent (uint32_t velocity, uint32_t uart_id) |
Creates a command to set motor 1 moving, in constant mode. | |
static multicast_packet | munich_protocol_push_bot_motor_0_leaking_towards_zero (uint32_t velocity, uint32_t uart_id) |
Creates a command to set motor 0 moving, in leak-to-zero mode. | |
static multicast_packet | munich_protocol_push_bot_motor_1_leaking_towards_zero (uint32_t velocity, uint32_t uart_id) |
Creates a command to set motor 1 moving, in leak-to-zero mode. | |
static multicast_packet | munich_protocol_set_retina_transmission (bool events_in_key, uint32_t retina_pixels, bool payload_holds_time_stamps, uint32_t size_of_time_stamp_in_bytes, uint32_t uart_id) |
Creates a command to set how silicon retinas transmit. | |
Variables | |
static munich_protocol_modes_e | mode = MUNICH_PROTOCOL_RESET_TO_DEFAULT |
The current mode. | |
static uint32_t | instance_key = 0 |
The value of the ignored part of the key. | |
Description of the Munich robot device protocol.
structure of multicast key of command is KKKKKKKKKKKKKKKKKKKKK-IIIIIII-F-DDD
K
is ignored "instance key", I
is instruction, F
is payload format, D
is device
Definition in file munich_protocol.h.
struct munich_key_bitfields_t |
The format of Munich device protocol keys.
Definition at line 34 of file munich_protocol.h.
Data Fields | ||
---|---|---|
uint32_t | device: 3 | Device identifier. |
uint32_t | payload_format: 1 | Payload format. |
uint32_t | instruction: 7 | Device-specific instruction. |
uint32_t | instance_key: 21 | Instance key (ignored) |
union munich_key_t |
Keys are really uint32_t, but contain bitfields within them.
Definition at line 41 of file munich_protocol.h.
Data Fields | ||
---|---|---|
munich_key_bitfields_t | bitfields | Specific fields within the key. |
uint32_t | value | Overall key value. |
struct multicast_packet |
Description of multicast packet to send as part of Munich protocol.
Definition at line 260 of file munich_protocol.h.
Data Fields | ||
---|---|---|
uint32_t | key | What key to use. |
uint32_t | payload | What payload to use. |
uint32_t | payload_flag | Whether the payload is defined. |
#define MUNICH_KEY | ( | I, | |
F, | |||
D | |||
) | ((I << OFFSET_TO_I) | (F << OFFSET_TO_F) | (D << OFFSET_TO_D)) |
Assembles a Munich key with zero munich_key_bitfields_t::instance_key.
[in] | I | The value of the munich_key_bitfields_t::instruction field |
[in] | F | The value of the munich_key_bitfields_t::payload_format field |
[in] | D | The value of the munich_key_bitfields_t::device field |
Definition at line 70 of file munich_protocol.h.
#define MUNICH_KEY_I_D | ( | I, | |
D | |||
) | MUNICH_KEY(I, 0, D) |
Assembles a Munich key with zero munich_key_bitfields_t::instance_key and munich_key_bitfields_t::payload_format.
[in] | I | The value of the munich_key_bitfields_t::instruction field |
[in] | D | The value of the munich_key_bitfields_t::device field |
Definition at line 81 of file munich_protocol.h.
#define MUNICH_KEY_I | ( | I | ) | MUNICH_KEY(I, 0, 0) |
Assembles a Munich key with zero for all fields except munich_key_bitfields_t::instruction.
[in] | I | The value of the munich_key_bitfields_t::instruction field |
Definition at line 87 of file munich_protocol.h.
anonymous enum |
Offsets within a munich_key_t.
Enumerator | |
---|---|
OFFSET_TO_I | Offset to I (instruction) field in command word. |
OFFSET_TO_F | Offset to F (format) field in command word. |
OFFSET_TO_D | Offset to D (device) field in command word. |
Definition at line 47 of file munich_protocol.h.
anonymous enum |
Specific fields in the key.
Enumerator | |
---|---|
OFFSET_FOR_UART_ID | UART identifier offset. |
PUSH_BOT_UART_OFFSET_SPEAKER_LED_LASER | Device UART offset for the pushbot. |
Definition at line 54 of file munich_protocol.h.
anonymous enum |
Payload bit offsets for various fields.
Definition at line 90 of file munich_protocol.h.
anonymous enum |
Command keys (as offsets from the base key)
Definition at line 102 of file munich_protocol.h.
anonymous enum |
payloads for setting different time stamp sizes
Definition at line 214 of file munich_protocol.h.
anonymous enum |
payloads for retina size
Definition at line 228 of file munich_protocol.h.
anonymous enum |
payloads for master slave control
Definition at line 242 of file munich_protocol.h.
human readable definitions of each mode
Definition at line 250 of file munich_protocol.h.
|
inlinestatic |
Configures the protocol mode.
See also munich_protocol_get_set_mode_command()
[in] | new_mode | The new protocol mode to use |
[in] | new_instance_key | The instance key to use |
Definition at line 283 of file munich_protocol.h.
|
inlinestatic |
Creates a command to configure the master key.
[in] | new_key | the new master key to use |
Definition at line 292 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set the device mode.
Note that the mode must previously have been set with set_protocol_mode()
Definition at line 305 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set the retina base key.
[in] | new_key | the new key to use |
[in] | uart_id | the retina UART to program |
Definition at line 320 of file munich_protocol.h.
|
inlinestatic |
Creates a command to disable event streaming my a retina.
[in] | uart_id | the retina UART to program |
Definition at line 333 of file munich_protocol.h.
|
inlinestatic |
Creates a command to reset a retina.
[in] | uart_id | the retina UART to program |
Definition at line 346 of file munich_protocol.h.
|
inlinestatic |
Creates a command to tell the master/slave to use its internal event counter.
[in] | uart_id | the UART to program |
Definition at line 363 of file munich_protocol.h.
|
inlinestatic |
Creates a command to tell a UART to be a slave.
[in] | uart_id | the UART to program |
Definition at line 376 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set a UART clock into the not-started state.
[in] | uart_id | the UART to program |
Definition at line 390 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set a UART clock active.
[in] | uart_id | the UART to program |
Definition at line 404 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set bias values for a UART.
[in] | bias_id | which bias to set |
[in] | bias_value | the bias value to set |
[in] | uart_id | the UART to program |
Definition at line 419 of file munich_protocol.h.
|
inlinestatic |
Creates a command to stop sensor reporting.
[in] | sensor_id | the sensor to stop |
Definition at line 435 of file munich_protocol.h.
|
inlinestatic |
Creates a command to poll a sensor once.
[in] | sensor_id | the sensor to poll |
Definition at line 447 of file munich_protocol.h.
|
inlinestatic |
Creates a command to continuously poll a sensor.
[in] | sensor_id | the sensor to poll |
[in] | time_in_ms | the time between polling (in milliseconds) |
Definition at line 461 of file munich_protocol.h.
|
inlinestatic |
Creates a command to turn a motor on or off.
[in] | enable_disable | True to enable the motor |
[in] | uart_id | the UART controlling the motor |
Definition at line 478 of file munich_protocol.h.
|
inlinestatic |
Creates a command to turn a motor on for a period.
[in] | time_in_ms | How long to run the motor for (in milliseconds) |
[in] | uart_id | the UART controlling the motor |
Definition at line 493 of file munich_protocol.h.
|
inlinestatic |
Creates a command to turn motor 0 on at a constant rate.
[in] | pwm_signal | Controls how fast the motor runs |
[in] | uart_id | the UART controlling the motor |
Definition at line 508 of file munich_protocol.h.
|
inlinestatic |
Creates a command to turn motor 1 on at a constant rate.
[in] | pwm_signal | Controls how fast the motor runs |
[in] | uart_id | the UART controlling the motor |
Definition at line 523 of file munich_protocol.h.
|
inlinestatic |
Creates a command to turn motor 0 on at a rate that decays to zero.
[in] | pwm_signal | Controls how fast the motor runs initially |
[in] | uart_id | the UART controlling the motor |
Definition at line 538 of file munich_protocol.h.
|
inlinestatic |
Creates a command to turn motor 1 on at a rate that decays to zero.
[in] | pwm_signal | Controls how fast the motor runs initially |
[in] | uart_id | the UART controlling the motor |
Definition at line 553 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set the PWM duty cycle period for Timer A.
[in] | timer_period | The timer period |
[in] | uart_id | Which UART to program |
Definition at line 570 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set the PWM duty cycle period for Timer B.
[in] | timer_period | The timer period |
[in] | uart_id | Which UART to program |
Definition at line 584 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set the PWM duty cycle period for Timer C.
[in] | timer_period | The timer period |
[in] | uart_id | Which UART to program |
Definition at line 598 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set the PWM duty cycle ratio for Timer A, Channel 0.
[in] | timer_period | The timer period |
[in] | uart_id | Which UART to program |
Definition at line 613 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set the PWM duty cycle ratio for Timer A, Channel 1.
[in] | timer_period | The timer period |
[in] | uart_id | Which UART to program |
Definition at line 628 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set the PWM duty cycle ratio for Timer B, Channel 0.
[in] | timer_period | The timer period |
[in] | uart_id | Which UART to program |
Definition at line 643 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set the PWM duty cycle ratio for Timer B, Channel 1.
[in] | timer_period | The timer period |
[in] | uart_id | Which UART to program |
Definition at line 658 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set the PWM duty cycle ratio for Timer C, Channel 0.
[in] | timer_period | The timer period |
[in] | uart_id | Which UART to program |
Definition at line 673 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set the PWM duty cycle ratio for Timer C, Channel 1.
[in] | timer_period | The timer period |
[in] | uart_id | Which UART to program |
Definition at line 688 of file munich_protocol.h.
|
inlinestatic |
Creates a command to ask for the state of the IO lines.
Definition at line 703 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set an output pattern for a payload.
[in] | payload | What to set. |
Definition at line 715 of file munich_protocol.h.
|
inlinestatic |
Creates a command to add to the current output.
[in] | payload | What to add. |
Definition at line 729 of file munich_protocol.h.
|
inlinestatic |
Creates a command to remove from the current output.
[in] | payload | What to remove. |
Definition at line 743 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set the payload pins to high-impedance mode.
[in] | payload | Which pins to set. |
Definition at line 757 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set the laser total period.
[in] | total_period | The total period |
[in] | uart_id | Which UART to program |
Definition at line 774 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set the laser active time.
[in] | active_time | The active time |
[in] | uart_id | Which UART to program |
Definition at line 794 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set the laser flash frequency.
[in] | frequency | The frequency |
[in] | uart_id | Which UART to program |
Definition at line 813 of file munich_protocol.h.
|
inlinestatic |
Creates a command to configure the speaker to run in PCM mode.
[in] | total_period | The width of the overall PCM pulse. Affects frequency of tone. |
[in] | uart_id | Which UART to program |
Definition at line 837 of file munich_protocol.h.
|
inlinestatic |
Creates a command to adjust how the speaker runs in PCM mode.
[in] | active_time | The width of the active part of the PCM pulse. Affects quality of tone. |
[in] | uart_id | Which UART to program |
Definition at line 858 of file munich_protocol.h.
|
inlinestatic |
Creates a command to configure the speaker play a particular frequency of tone.
[in] | frequency | What tone to play |
[in] | uart_id | Which UART to program |
Definition at line 878 of file munich_protocol.h.
|
inlinestatic |
Creates a command to configure the speaker play a pre-programmed "melody".
[in] | melody | Which melody to play |
[in] | uart_id | Which UART to program |
Definition at line 898 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set the total LED period.
[in] | total_period | The total period |
[in] | uart_id | Which UART to program |
Definition at line 920 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set the back LED active time.
[in] | active_time | The active time |
[in] | uart_id | Which UART to program |
Definition at line 939 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set the front LED active time.
[in] | active_time | The active time |
[in] | uart_id | Which UART to program |
Definition at line 958 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set the LED flash frequency.
[in] | frequency | Frequency to set |
[in] | uart_id | Which UART to program |
Definition at line 977 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set motor 0 moving, in constant mode.
[in] | velocity | Constant velocity |
[in] | uart_id | Which UART to program |
Definition at line 999 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set motor 1 moving, in constant mode.
[in] | velocity | Constant velocity |
[in] | uart_id | Which UART to program |
Definition at line 1018 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set motor 0 moving, in leak-to-zero mode.
[in] | velocity | Initial velocity |
[in] | uart_id | Which UART to program |
Definition at line 1038 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set motor 1 moving, in leak-to-zero mode.
[in] | velocity | Initial velocity |
[in] | uart_id | Which UART to program |
Definition at line 1058 of file munich_protocol.h.
|
inlinestatic |
Creates a command to set how silicon retinas transmit.
[in] | events_in_key | True if events are encoded in the key |
[in] | retina_pixels | The number of pixels in the retina |
[in] | payload_holds_time_stamps | Whether the packet payload will hold timestamps |
[in] | size_of_time_stamp_in_bytes | Size of the timestamp |
[in] | uart_id | Which UART to program |
Definition at line 1125 of file munich_protocol.h.
|
static |
The current mode.
Definition at line 267 of file munich_protocol.h.
|
static |
The value of the ignored part of the key.
Note this is pre-shifted into position so can simply be OR'd to apply it
Definition at line 272 of file munich_protocol.h.