sPyNNaker neural_modelling 7.2.2
Loading...
Searching...
No Matches
Data Structures | Macros | Enumerations | Functions | Variables
munich_protocol.h File Reference

Description of the Munich robot device protocol. More...

#include <debug.h>
#include <stdint.h>
#include <stdbool.h>

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.
 

Detailed Description

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.


Data Structure Documentation

◆ munich_key_bitfields_t

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)

◆ munich_key_t

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.

◆ multicast_packet

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.

Macro Definition Documentation

◆ MUNICH_KEY

#define MUNICH_KEY (   I,
  F,
 
)     ((I << OFFSET_TO_I) | (F << OFFSET_TO_F) | (D << OFFSET_TO_D))

Assembles a Munich key with zero munich_key_bitfields_t::instance_key.

Parameters
[in]IThe value of the munich_key_bitfields_t::instruction field
[in]FThe value of the munich_key_bitfields_t::payload_format field
[in]DThe value of the munich_key_bitfields_t::device field
Returns
The instance key as an unsigned 32 bit integer

Definition at line 70 of file munich_protocol.h.

◆ MUNICH_KEY_I_D

#define MUNICH_KEY_I_D (   I,
 
)    MUNICH_KEY(I, 0, D)

Assembles a Munich key with zero munich_key_bitfields_t::instance_key and munich_key_bitfields_t::payload_format.

Parameters
[in]IThe value of the munich_key_bitfields_t::instruction field
[in]DThe value of the munich_key_bitfields_t::device field
Returns
The instance key as an unsigned 32 bit integer

Definition at line 81 of file munich_protocol.h.

◆ MUNICH_KEY_I

#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.

Parameters
[in]IThe value of the munich_key_bitfields_t::instruction field
Returns
The instance key as an unsigned 32 bit integer

Definition at line 87 of file munich_protocol.h.

Enumeration Type Documentation

◆ anonymous enum

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

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

anonymous enum

Payload bit offsets for various fields.

Enumerator
PAYLOAD_OFFSET_FOR_TIMESTAMPS 

Offset for timestamps.

PAYLOAD_OFFSET_FOR_RETINA_SIZE 

Offset for retina size.

PAYLOAD_SENSOR_ID_OFFSET 

Offset for sensor ID.

PAYLOAD_OFFSET_FOR_SENSOR_TIME 

Offset for sensor timestamp.

Definition at line 90 of file munich_protocol.h.

◆ anonymous enum

anonymous enum

Command keys (as offsets from the base key)

Enumerator
CONFIGURE_MASTER_KEY 

command key for setting up the master key of the board

CHANGE_MODE 

command key for setting up what mode of device running on the board

DISABLE_RETINA_EVENT_STREAMING 

command for turning off retina output

ACTIVE_RETINA_EVENT_STREAMING_KEYS_CONFIGURATION 

command for retina where payload is events

ACTIVE_RETINA_EVENT_STREAMING_SET_KEY 

command for retina where events are the key

SET_TIMER_COUNTER_FOR_TIMESTAMPS 

set timer / counter for timestamps

MASTER_SLAVE_KEY 

handle master / slave time sync

BIAS_KEY 

command for setting bias

RESET_RETINA_KEY 

reset retina key.

SENSOR_REPORTING_OFF_KEY 

request on-board sensor data

POLL_SENSORS_ONCE_KEY 

poll sensors once

POLL_SENSORS_CONTINUOUSLY_KEY 

poll sensors continuously

DISABLE_MOTOR_KEY 

disable motor

MOTOR_RUN_FOR_PERIOD_KEY 

run motor for total period

MOTOR_0_RAW_PERM_KEY 

raw output for motor 0 (permanent)

MOTOR_1_RAW_PERM_KEY 

raw output for motor 1 (permanent)

MOTOR_0_RAW_LEAK_KEY 

raw output for motor 0 (leak towards 0)

MOTOR_1_RAW_LEAK_KEY 

raw output for motor 1 (leak towards 0)

MOTOR_TIMER_A_TOTAL_PERIOD_KEY 

motor output duration timer A period

MOTOR_TIMER_B_TOTAL_PERIOD_KEY 

motor output duration timer B period

MOTOR_TIMER_C_TOTAL_PERIOD_KEY 

motor output duration timer C period

MOTOR_TIMER_A_CHANNEL_0_ACTIVE_PERIOD_KEY 

motor 0 output timer A ratio active period

MOTOR_TIMER_A_CHANNEL_1_ACTIVE_PERIOD_KEY 

motor 1 output timer A ratio active period

MOTOR_TIMER_B_CHANNEL_0_ACTIVE_PERIOD_KEY 

motor 0 output timer B ratio active period

MOTOR_TIMER_B_CHANNEL_1_ACTIVE_PERIOD_KEY 

motor 1 output timer B ratio active period

MOTOR_TIMER_C_CHANNEL_0_ACTIVE_PERIOD_KEY 

motor 0 output timer C ratio active period

MOTOR_TIMER_C_CHANNEL_1_ACTIVE_PERIOD_KEY 

motor 1 output timer C ratio active period

QUERY_STATES_LINES_KEY 

Query digital IO Signals.

SET_OUTPUT_PATTERN_KEY 

set output pattern to payload

ADD_PAYLOAD_TO_CURRENT_OUTPUT_KEY 

add payload (logic or (PL)) to current output

REMOVE_PAYLOAD_TO_CURRENT_OUTPUT_KEY 

remove payload (logic or (PL)) to current output from current output

SET_PAYLOAD_TO_HIGH_IMPEDANCE_KEY 

set payload pins to high impedance

PUSH_BOT_LASER_CONFIG_TOTAL_PERIOD 

Set laser total period.

PUSH_BOT_LASER_CONFIG_ACTIVE_TIME 

Set laser active period (out of total)

PUSH_BOT_LASER_FREQUENCY 

Set laser frequency.

PUSH_BOT_LED_CONFIG_TOTAL_PERIOD 

Set LED total period.

PUSH_BOT_LED_BACK_CONFIG_ACTIVE_TIME 

Set LED back active period.

PUSH_BOT_LED_FRONT_CONFIG_ACTIVE_TIME 

Set LED front active period.

PUSH_BOT_LED_FREQUENCY 

Set LED frequency.

PUSH_BOT_SPEAKER_CONFIG_TOTAL_PERIOD 

Set speaker total time period (PCM)

PUSH_BOT_SPEAKER_CONFIG_ACTIVE_TIME 

Set speaker active time (PCM)

PUSH_BOT_SPEAKER_TONE_BEEP 

Tell speaker to beep.

PUSH_BOT_SPEAKER_TONE_MELODY 

Tell speaker to play pre-programmed melody.

PUSH_BOT_MOTOR_0_PERMANENT_VELOCITY 

Set motor 0 permanent velocity.

PUSH_BOT_MOTOR_1_PERMANENT_VELOCITY 

Set motor 1 permanent velocity.

PUSH_BOT_MOTOR_0_LEAKY_VELOCITY 

Set motor 0 leaky velocity.

PUSH_BOT_MOTOR_1_LEAKY_VELOCITY 

Set motor 1 leaky velocity.

Definition at line 102 of file munich_protocol.h.

◆ anonymous enum

anonymous enum

payloads for setting different time stamp sizes

Enumerator
PAYLOAD_NO_TIMESTAMPS 

No timestamps.

PAYLOAD_DELTA_TIMESTAMPS 

Timestamps are deltas.

PAYLOAD_TWO_BYTE_TIME_STAMPS 

Timestamps are two bytes (absolute)

PAYLOAD_THREE_BYTE_TIME_STAMPS 

Timestamps are three bytes (absolute)

PAYLOAD_FOUR_BYTE_TIME_STAMPS 

Timestamps are four bytes (absolute)

Definition at line 214 of file munich_protocol.h.

◆ anonymous enum

anonymous enum

payloads for retina size

Enumerator
PAYLOAD_RETINA_NO_DOWN_SAMPLING 

Retina is 128×128.

PAYLOAD_RETINA_64_DOWN_SAMPLING 

Retina down-samples to 64×64.

PAYLOAD_RETINA_32_DOWN_SAMPLING 

Retina down-samples to 32×32.

PAYLOAD_RETINA_16_DOWN_SAMPLING 

Retina down-samples to 16×16.

Definition at line 228 of file munich_protocol.h.

◆ anonymous enum

anonymous enum

payloads for master slave control

Definition at line 242 of file munich_protocol.h.

◆ munich_protocol_modes_e

human readable definitions of each mode

Enumerator
MUNICH_PROTOCOL_RESET_TO_DEFAULT 

Reset.

MUNICH_PROTOCOL_PUSH_BOT 

Push Bot.

MUNICH_PROTOCOL_SPOMNIBOT 

Omnibot.

MUNICH_PROTOCOL_BALL_BALANCER 

Ball balancer.

MUNICH_PROTOCOL_MY_ORO_BOTICS 

MyORO.

MUNICH_PROTOCOL_FREE 

Free.

Definition at line 250 of file munich_protocol.h.

Function Documentation

◆ set_protocol_mode()

static void set_protocol_mode ( munich_protocol_modes_e  new_mode,
uint32_t  new_instance_key 
)
inlinestatic

Configures the protocol mode.

See also munich_protocol_get_set_mode_command()

Parameters
[in]new_modeThe new protocol mode to use
[in]new_instance_keyThe instance key to use

Definition at line 283 of file munich_protocol.h.

◆ munich_protocol_get_configure_master_key_command()

static multicast_packet munich_protocol_get_configure_master_key_command ( uint32_t  new_key)
inlinestatic

Creates a command to configure the master key.

Parameters
[in]new_keythe new master key to use
Returns
Description of what multicast packet to send

Definition at line 292 of file munich_protocol.h.

◆ munich_protocol_get_set_mode_command()

static multicast_packet munich_protocol_get_set_mode_command ( void  )
inlinestatic

Creates a command to set the device mode.

Note that the mode must previously have been set with set_protocol_mode()

Returns
Description of what multicast packet to send

Definition at line 305 of file munich_protocol.h.

◆ munich_protocol_set_retina_transmission_key()

static multicast_packet munich_protocol_set_retina_transmission_key ( uint32_t  new_key,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set the retina base key.

Parameters
[in]new_keythe new key to use
[in]uart_idthe retina UART to program
Returns
Description of what multicast packet to send

Definition at line 320 of file munich_protocol.h.

◆ munich_protocol_disable_retina_event_streaming()

static multicast_packet munich_protocol_disable_retina_event_streaming ( uint32_t  uart_id)
inlinestatic

Creates a command to disable event streaming my a retina.

Parameters
[in]uart_idthe retina UART to program
Returns
Description of what multicast packet to send

Definition at line 333 of file munich_protocol.h.

◆ munich_protocol_reset_retina()

static multicast_packet munich_protocol_reset_retina ( uint32_t  uart_id)
inlinestatic

Creates a command to reset a retina.

Parameters
[in]uart_idthe retina UART to program
Returns
Description of what multicast packet to send

Definition at line 346 of file munich_protocol.h.

◆ munich_protocol_master_slave_use_internal_counter()

static multicast_packet munich_protocol_master_slave_use_internal_counter ( uint32_t  uart_id)
inlinestatic

Creates a command to tell the master/slave to use its internal event counter.

Parameters
[in]uart_idthe UART to program
Returns
Description of what multicast packet to send

Definition at line 363 of file munich_protocol.h.

◆ munich_protocol_master_slave_set_slave()

static multicast_packet munich_protocol_master_slave_set_slave ( uint32_t  uart_id)
inlinestatic

Creates a command to tell a UART to be a slave.

Parameters
[in]uart_idthe UART to program
Returns
Description of what multicast packet to send

Definition at line 376 of file munich_protocol.h.

◆ munich_protocol_master_slave_set_master_clock_not_started()

static multicast_packet munich_protocol_master_slave_set_master_clock_not_started ( uint32_t  uart_id)
inlinestatic

Creates a command to set a UART clock into the not-started state.

Parameters
[in]uart_idthe UART to program
Returns
Description of what multicast packet to send

Definition at line 390 of file munich_protocol.h.

◆ munich_protocol_master_slave_set_master_clock_active()

static multicast_packet munich_protocol_master_slave_set_master_clock_active ( uint32_t  uart_id)
inlinestatic

Creates a command to set a UART clock active.

Parameters
[in]uart_idthe UART to program
Returns
Description of what multicast packet to send

Definition at line 404 of file munich_protocol.h.

◆ munich_protocol_bias_values()

static multicast_packet munich_protocol_bias_values ( uint32_t  bias_id,
uint32_t  bias_value,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set bias values for a UART.

Parameters
[in]bias_idwhich bias to set
[in]bias_valuethe bias value to set
[in]uart_idthe UART to program
Returns
Description of what multicast packet to send

Definition at line 419 of file munich_protocol.h.

◆ munich_protocol_turn_off_sensor_reporting()

static multicast_packet munich_protocol_turn_off_sensor_reporting ( uint32_t  sensor_id)
inlinestatic

Creates a command to stop sensor reporting.

Parameters
[in]sensor_idthe sensor to stop
Returns
Description of what multicast packet to send

Definition at line 435 of file munich_protocol.h.

◆ munich_protocol_poll_sensors_once()

static multicast_packet munich_protocol_poll_sensors_once ( uint32_t  sensor_id)
inlinestatic

Creates a command to poll a sensor once.

Parameters
[in]sensor_idthe sensor to poll
Returns
Description of what multicast packet to send

Definition at line 447 of file munich_protocol.h.

◆ munich_protocol_poll_individual_sensor_continuously()

static multicast_packet munich_protocol_poll_individual_sensor_continuously ( uint32_t  sensor_id,
uint32_t  time_in_ms 
)
inlinestatic

Creates a command to continuously poll a sensor.

Parameters
[in]sensor_idthe sensor to poll
[in]time_in_msthe time between polling (in milliseconds)
Returns
Description of what multicast packet to send

Definition at line 461 of file munich_protocol.h.

◆ munich_protocol_generic_motor_enable_disable()

static multicast_packet munich_protocol_generic_motor_enable_disable ( uint32_t  enable_disable,
uint32_t  uart_id 
)
inlinestatic

Creates a command to turn a motor on or off.

Parameters
[in]enable_disableTrue to enable the motor
[in]uart_idthe UART controlling the motor
Returns
Description of what multicast packet to send

Definition at line 478 of file munich_protocol.h.

◆ munich_protocol_generic_motor_total_period_duration()

static multicast_packet munich_protocol_generic_motor_total_period_duration ( uint32_t  time_in_ms,
uint32_t  uart_id 
)
inlinestatic

Creates a command to turn a motor on for a period.

Parameters
[in]time_in_msHow long to run the motor for (in milliseconds)
[in]uart_idthe UART controlling the motor
Returns
Description of what multicast packet to send

Definition at line 493 of file munich_protocol.h.

◆ munich_protocol_generic_motor0_raw_output_permanent()

static multicast_packet munich_protocol_generic_motor0_raw_output_permanent ( uint32_t  pwm_signal,
uint32_t  uart_id 
)
inlinestatic

Creates a command to turn motor 0 on at a constant rate.

Parameters
[in]pwm_signalControls how fast the motor runs
[in]uart_idthe UART controlling the motor
Returns
Description of what multicast packet to send

Definition at line 508 of file munich_protocol.h.

◆ munich_protocol_generic_motor1_raw_output_permanent()

static multicast_packet munich_protocol_generic_motor1_raw_output_permanent ( uint32_t  pwm_signal,
uint32_t  uart_id 
)
inlinestatic

Creates a command to turn motor 1 on at a constant rate.

Parameters
[in]pwm_signalControls how fast the motor runs
[in]uart_idthe UART controlling the motor
Returns
Description of what multicast packet to send

Definition at line 523 of file munich_protocol.h.

◆ munich_protocol_generic_motor0_raw_output_leak_to_0()

static multicast_packet munich_protocol_generic_motor0_raw_output_leak_to_0 ( uint32_t  pwm_signal,
uint32_t  uart_id 
)
inlinestatic

Creates a command to turn motor 0 on at a rate that decays to zero.

Parameters
[in]pwm_signalControls how fast the motor runs initially
[in]uart_idthe UART controlling the motor
Returns
Description of what multicast packet to send

Definition at line 538 of file munich_protocol.h.

◆ munich_protocol_generic_motor1_raw_output_leak_to_0()

static multicast_packet munich_protocol_generic_motor1_raw_output_leak_to_0 ( uint32_t  pwm_signal,
uint32_t  uart_id 
)
inlinestatic

Creates a command to turn motor 1 on at a rate that decays to zero.

Parameters
[in]pwm_signalControls how fast the motor runs initially
[in]uart_idthe UART controlling the motor
Returns
Description of what multicast packet to send

Definition at line 553 of file munich_protocol.h.

◆ munich_protocol_pwm_pin_output_timer_a_duration()

static multicast_packet munich_protocol_pwm_pin_output_timer_a_duration ( uint32_t  timer_period,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set the PWM duty cycle period for Timer A.

Parameters
[in]timer_periodThe timer period
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 570 of file munich_protocol.h.

◆ munich_protocol_pwm_pin_output_timer_b_duration()

static multicast_packet munich_protocol_pwm_pin_output_timer_b_duration ( uint32_t  timer_period,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set the PWM duty cycle period for Timer B.

Parameters
[in]timer_periodThe timer period
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 584 of file munich_protocol.h.

◆ munich_protocol_pwm_pin_output_timer_c_duration()

static multicast_packet munich_protocol_pwm_pin_output_timer_c_duration ( uint32_t  timer_period,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set the PWM duty cycle period for Timer C.

Parameters
[in]timer_periodThe timer period
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 598 of file munich_protocol.h.

◆ munich_protocol_pwm_pin_output_timer_a_channel_0_ratio()

static multicast_packet munich_protocol_pwm_pin_output_timer_a_channel_0_ratio ( uint32_t  timer_period,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set the PWM duty cycle ratio for Timer A, Channel 0.

Parameters
[in]timer_periodThe timer period
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 613 of file munich_protocol.h.

◆ munich_protocol_pwm_pin_output_timer_a_channel_1_ratio()

static multicast_packet munich_protocol_pwm_pin_output_timer_a_channel_1_ratio ( uint32_t  timer_period,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set the PWM duty cycle ratio for Timer A, Channel 1.

Parameters
[in]timer_periodThe timer period
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 628 of file munich_protocol.h.

◆ munich_protocol_pwm_pin_output_timer_b_channel_0_ratio()

static multicast_packet munich_protocol_pwm_pin_output_timer_b_channel_0_ratio ( uint32_t  timer_period,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set the PWM duty cycle ratio for Timer B, Channel 0.

Parameters
[in]timer_periodThe timer period
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 643 of file munich_protocol.h.

◆ munich_protocol_pwm_pin_output_timer_b_channel_1_ratio()

static multicast_packet munich_protocol_pwm_pin_output_timer_b_channel_1_ratio ( uint32_t  timer_period,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set the PWM duty cycle ratio for Timer B, Channel 1.

Parameters
[in]timer_periodThe timer period
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 658 of file munich_protocol.h.

◆ munich_protocol_pwm_pin_output_timer_c_channel_0_ratio()

static multicast_packet munich_protocol_pwm_pin_output_timer_c_channel_0_ratio ( uint32_t  timer_period,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set the PWM duty cycle ratio for Timer C, Channel 0.

Parameters
[in]timer_periodThe timer period
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 673 of file munich_protocol.h.

◆ munich_protocol_pwm_pin_output_timer_c_channel_1_ratio()

static multicast_packet munich_protocol_pwm_pin_output_timer_c_channel_1_ratio ( uint32_t  timer_period,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set the PWM duty cycle ratio for Timer C, Channel 1.

Parameters
[in]timer_periodThe timer period
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 688 of file munich_protocol.h.

◆ munich_protocol_query_state_of_io_lines()

static multicast_packet munich_protocol_query_state_of_io_lines ( void  )
inlinestatic

Creates a command to ask for the state of the IO lines.

Returns
Description of what multicast packet to send

Definition at line 703 of file munich_protocol.h.

◆ munich_protocol_set_output_pattern_for_payload()

static multicast_packet munich_protocol_set_output_pattern_for_payload ( uint32_t  payload)
inlinestatic

Creates a command to set an output pattern for a payload.

Parameters
[in]payloadWhat to set.
Returns
Description of what multicast packet to send

Definition at line 715 of file munich_protocol.h.

◆ munich_protocol_add_payload_logic_to_current_output()

static multicast_packet munich_protocol_add_payload_logic_to_current_output ( uint32_t  payload)
inlinestatic

Creates a command to add to the current output.

Parameters
[in]payloadWhat to add.
Returns
Description of what multicast packet to send

Definition at line 729 of file munich_protocol.h.

◆ munich_protocol_remove_payload_logic_to_current_output()

static multicast_packet munich_protocol_remove_payload_logic_to_current_output ( uint32_t  payload)
inlinestatic

Creates a command to remove from the current output.

Parameters
[in]payloadWhat to remove.
Returns
Description of what multicast packet to send

Definition at line 743 of file munich_protocol.h.

◆ munich_protocol_set_payload_pins_to_high_impedance()

static multicast_packet munich_protocol_set_payload_pins_to_high_impedance ( uint32_t  payload)
inlinestatic

Creates a command to set the payload pins to high-impedance mode.

Parameters
[in]payloadWhich pins to set.
Returns
Description of what multicast packet to send

Definition at line 757 of file munich_protocol.h.

◆ munich_protocol_push_bot_laser_config_total_period()

static multicast_packet munich_protocol_push_bot_laser_config_total_period ( uint32_t  total_period,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set the laser total period.

Parameters
[in]total_periodThe total period
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 774 of file munich_protocol.h.

◆ munich_protocol_push_bot_laser_config_active_time()

static multicast_packet munich_protocol_push_bot_laser_config_active_time ( uint32_t  active_time,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set the laser active time.

Parameters
[in]active_timeThe active time
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 794 of file munich_protocol.h.

◆ munich_protocol_push_bot_laser_set_frequency()

static multicast_packet munich_protocol_push_bot_laser_set_frequency ( uint32_t  frequency,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set the laser flash frequency.

Parameters
[in]frequencyThe frequency
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 813 of file munich_protocol.h.

◆ munich_protocol_push_bot_speaker_config_total_period()

static multicast_packet munich_protocol_push_bot_speaker_config_total_period ( uint32_t  total_period,
uint32_t  uart_id 
)
inlinestatic

Creates a command to configure the speaker to run in PCM mode.

Parameters
[in]total_periodThe width of the overall PCM pulse. Affects frequency of tone.
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 837 of file munich_protocol.h.

◆ munich_protocol_push_bot_speaker_config_active_time()

static multicast_packet munich_protocol_push_bot_speaker_config_active_time ( uint32_t  active_time,
uint32_t  uart_id 
)
inlinestatic

Creates a command to adjust how the speaker runs in PCM mode.

Parameters
[in]active_timeThe width of the active part of the PCM pulse. Affects quality of tone.
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 858 of file munich_protocol.h.

◆ munich_protocol_push_bot_speaker_set_tone()

static multicast_packet munich_protocol_push_bot_speaker_set_tone ( uint32_t  frequency,
uint32_t  uart_id 
)
inlinestatic

Creates a command to configure the speaker play a particular frequency of tone.

Parameters
[in]frequencyWhat tone to play
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 878 of file munich_protocol.h.

◆ munich_protocol_push_bot_speaker_set_melody()

static multicast_packet munich_protocol_push_bot_speaker_set_melody ( uint32_t  melody,
uint32_t  uart_id 
)
inlinestatic

Creates a command to configure the speaker play a pre-programmed "melody".

Parameters
[in]melodyWhich melody to play
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 898 of file munich_protocol.h.

◆ munich_protocol_push_bot_led_total_period()

static multicast_packet munich_protocol_push_bot_led_total_period ( uint32_t  total_period,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set the total LED period.

Parameters
[in]total_periodThe total period
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 920 of file munich_protocol.h.

◆ munich_protocol_push_bot_led_back_active_time()

static multicast_packet munich_protocol_push_bot_led_back_active_time ( uint32_t  active_time,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set the back LED active time.

Parameters
[in]active_timeThe active time
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 939 of file munich_protocol.h.

◆ munich_protocol_push_bot_led_front_active_time()

static multicast_packet munich_protocol_push_bot_led_front_active_time ( uint32_t  active_time,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set the front LED active time.

Parameters
[in]active_timeThe active time
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 958 of file munich_protocol.h.

◆ munich_protocol_push_bot_led_set_frequency()

static multicast_packet munich_protocol_push_bot_led_set_frequency ( uint32_t  frequency,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set the LED flash frequency.

Parameters
[in]frequencyFrequency to set
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 977 of file munich_protocol.h.

◆ munich_protocol_push_bot_motor_0_permanent()

static multicast_packet munich_protocol_push_bot_motor_0_permanent ( state_t  velocity,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set motor 0 moving, in constant mode.

Parameters
[in]velocityConstant velocity
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 999 of file munich_protocol.h.

◆ munich_protocol_push_bot_motor_1_permanent()

static multicast_packet munich_protocol_push_bot_motor_1_permanent ( uint32_t  velocity,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set motor 1 moving, in constant mode.

Parameters
[in]velocityConstant velocity
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 1018 of file munich_protocol.h.

◆ munich_protocol_push_bot_motor_0_leaking_towards_zero()

static multicast_packet munich_protocol_push_bot_motor_0_leaking_towards_zero ( uint32_t  velocity,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set motor 0 moving, in leak-to-zero mode.

Parameters
[in]velocityInitial velocity
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 1038 of file munich_protocol.h.

◆ munich_protocol_push_bot_motor_1_leaking_towards_zero()

static multicast_packet munich_protocol_push_bot_motor_1_leaking_towards_zero ( uint32_t  velocity,
uint32_t  uart_id 
)
inlinestatic

Creates a command to set motor 1 moving, in leak-to-zero mode.

Parameters
[in]velocityInitial velocity
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 1058 of file munich_protocol.h.

◆ munich_protocol_set_retina_transmission()

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 
)
inlinestatic

Creates a command to set how silicon retinas transmit.

Parameters
[in]events_in_keyTrue if events are encoded in the key
[in]retina_pixelsThe number of pixels in the retina
[in]payload_holds_time_stampsWhether the packet payload will hold timestamps
[in]size_of_time_stamp_in_bytesSize of the timestamp
[in]uart_idWhich UART to program
Returns
Description of what multicast packet to send

Definition at line 1125 of file munich_protocol.h.

Variable Documentation

◆ mode

The current mode.

Definition at line 267 of file munich_protocol.h.

◆ instance_key

uint32_t instance_key = 0
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.