[[TracNav(WARPLab/TOC)]] = Trigger Manager Commands Technical Reference = Trigger Manager commands are selected as string inputs to the {{{wl_triggerManagerCmd}}} method in [browser:ResearchApps/PHY/WARPLAB/WARPLab7/M_Code_Reference/classes/wl_node.m wl_node.m]. These strings are each individual cases of the switch statement in {{{procCmd}}} method of [browser:/ResearchApps/PHY/WARPLAB/WARPLab7/M_Code_Reference/classes/wl_trigger_manager.m wl_trigger_manager.m]. == Syntax == MATLAB allows two valid forms of syntax for calling methods * Let {{{N}}} be a scalar or vector of {{{wl_node}}} objects * Let {{{command_string}}} be a string containing a particular command * Let {{{arg}}} be an argument for that command (optional) Syntax 1: {{{wl_triggerManagerCmd(N, command_string, arg1, arg2, ..., argN)}}} Syntax 2: {{{N.wl_triggerManagerCmd(command_string, arg1, arg2, ..., argN)}}} These two different forms of syntax are identical and either may be used for issuing commands to WARP nodes. == Command List and Documentation == === {{{add_ethernet_trigger}}} === Associates node to a trigger input[[BR]] '''Arguments:''' (wl_trigger_manager TRIGGER) '''Returns:''' none === {{{delete_ethernet_trigger}}} === Deassociates node to a trigger input[[BR]] '''Arguments:''' (wl_trigger_manager TRIGGER) '''Returns:''' none === {{{clear_ethernet_triggers}}} === Clears all trigger associations in the node[[BR]] '''Arguments:''' none '''Returns:''' none === {{{get_ethernet_trigger}}} === Reads current trigger association from node[[BR]] '''Arguments:''' node '''Returns:''' (uint32 TRIGGER_ASSOCIATION) TRIGGER_ASSOCIATION: bit-wise AND of associated[[BR]] trigger IDs[[BR]] === {{{output_config_input_selection}}} === Selects which trigger inputs drive the selected outputs[[BR]] '''Arguments:''' (uint32 OUTPUTS), (uint32 OR_INPUTS), ![optional] (uint32 AND_INPUTS) '''Returns:''' none OUTPUTS: vector of output trigger IDs, provided by[[BR]] wl_getTriggerOutputIDs[[BR]] OR_INPUTS: vector of input trigger IDs, provided by[[BR]] wl_getTriggerInputIDs. Any triggers in[[BR]] this vector that assert will cause the[[BR]] output trigger to assert.[[BR]] AND_INPUTS: vector of input trigger IDs, provided by[[BR]] wl_getTriggerInputIDs. Only if all triggers[[BR]] in this vector assert will the output [[BR]] trigger assert. [[BR]] Usage note: This command replaces the current input[[BR]] selection on the board. Previous state is not saved.[[BR]] === {{{output_config_delay}}} === Configures specified output triggers to be have an[[BR]] additional delay relative to their inputs[[BR]] '''Arguments:''' (uint32 OUTPUTS), (double DELAY_NS) '''Returns:''' none OUTPUTS: vector of output trigger IDs, provided by[[BR]] wl_getTriggerOutputIDs[[BR]] DELAY_NS: scalar value of the intended delay,[[BR]] specified in nanoseconds (1e-9 seconds)[[BR]] === {{{output_config_hold_mode}}} === Configures whether specified output triggers should[[BR]] hold their outputs once triggered[[BR]] '''Arguments:''' (uint32 OUTPUTS), (string MODE) '''Returns:''' none OUTPUTS: vector of output trigger IDs, provided by[[BR]] wl_getTriggerOutputIDs[[BR]] MODE: 'enable' or 'disable'[[BR]] === {{{output_state_read}}} === Reads current state of output triggers. Note: this[[BR]] command is intended to be used on output triggers[[BR]] that have enabled their hold mode.[[BR]] '''Arguments:''' (uint32 OUTPUTS) '''Returns:''' (bool STATES) OUTPUTS: vector of output trigger IDs, provided by[[BR]] wl_getTriggerOutputIDs[[BR]] STATES: vector of (true, false) trigger states[[BR]] corresponding to state of OUTPUTS vector[[BR]] === {{{output_state_clear}}} === Clears current state of output triggers. [[BR]] '''Arguments:''' (uint32 OUTPUTS) '''Returns:''' none OUTPUTS: vector of output trigger IDs, provided by[[BR]] wl_getTriggerOutputIDs[[BR]] === {{{input_config_enable_selection}}} === Configures specified input triggers to be enabled[[BR]] as inputs that feed the trigger manager core.[[BR]] Note: This command disables all inputs before[[BR]] enabling the selected inputs -- no previous state is[[BR]] stored in the node.[[BR]] '''Arguments:''' (uint32 INPUTS) '''Returns:''' none INPUTS: vector of output trigger IDs, provided by[[BR]] wl_getTriggerInputIDs[[BR]] === {{{input_config_debounce_mode}}} === Configures specified input triggers to enable or[[BR]] disable debounce circuit. Note: debounce circuit adds[[BR]] delay of 4 cycles, where each cycle is a duration[[BR]] specified in the delayStep_ns property of the[[BR]] wl_manager_proc.m class.[[BR]] '''Arguments:''' (uint32 INPUTS), (string MODE) '''Returns:''' none INPUTS: vector of output trigger IDs, provided by[[BR]] wl_getTriggerInputIDs[[BR]] MODE: 'enable' or 'disable'[[BR]] === {{{energy_config_busy_threshold}}} === Configures the threshold above which RSSI is[[BR]] considered as a "busy" medium.[[BR]] '''Arguments:''' (uint32 THRESH) '''Returns:''' none THRESH: busy threshold. For the MAX2829-based[[BR]] interfaces, WARP uses a 10-bit ADC for[[BR]] RSSI (range of ![0,1023]).[[BR]] Note: RSSI averaging in the core does NOT divide by[[BR]] the number of samples that are summed together.[[BR]] Averaging by N cycles means that the maximum possible[[BR]] RSSI post-averaging is N*1023.[[BR]] === {{{energy_config_average_length}}} === Configures the number of samples over which RSSI is[[BR]] averaged before it is compared to any threshold.[[BR]] '''Arguments:''' (uint32 LENGTH) '''Returns:''' none LENGTH: Number of samples over which RSSI is[[BR]] averaged.[[BR]] Note: For all hardware versions, RSSI is sampled at[[BR]] 10 MHz. Each sample is, therefore, 100 ns.[[BR]] === {{{energy_config_busy_minlength}}} === Average RSSI samples must exceed the busy threshold[[BR]] for a minimum number of samples before the trigger is[[BR]] activated. This command sets this minimum value.[[BR]] '''Arguments:''' (uint32 LENGTH) '''Returns:''' none LENGTH: Minimum number of samples that RSSI must[[BR]] be busy before trigger is raised.[[BR]] === {{{energy_config_interface_selection}}} === Selects the interfaces from which energy detection[[BR]] should base its decision[[BR]] '''Arguments:''' (uint32 IFCSELECTION) '''Returns:''' none IFCSELECTION: One or more interfaces that the[[BR]] energy detector system should[[BR]] monitor[[BR]] Note: IFCSELECTION is intended to be used with the[[BR]] return values from the wl_getInterfaceIDs method.[[BR]] === {{{test_trigger}}} === Sends a test trigger[[BR]] '''Arguments:''' none '''Returns:''' none