Input Lines

From Bcontrol

Input Lines specify the hardware lines that are watched by the FSM for changes. In the default hardware configuration there are 3 inputs lines : the left, center, and right nosepokes.

There are 3 places where the input lines are specified.

First in ExperPort/Settings/Settings_Custom.conf.

INPUTLINES;         C;      1
INPUTLINES;         L;      2
INPUTLINES;         R;      3


Second, in two spots in ExperPort/Modules/@StateMachineAssembler/StateMachineAssembler.m 1. In the happenings spec

hs = {
      'Cin',  'line_in',    1,  1   ; ...
      'Cout', 'line_out',   1,  2   ; ...
      'Lin',  'line_in',    2,  3   ; ...
      'Lout', 'line_out',   2,  4   ; ...
      'Rin',  'line_in',    3,  5   ; ...
      'Rout', 'line_out',   3,  6   ; ...
      'Chi',  'line_high',  1,  7   ; ...
      'Clo',  'line_low',   1,  8   ; ...
      'Lhi',  'line_high',  2,  9   ; ...
      'Llo',  'line_low',   2,  10  ; ...
      'Rhi',  'line_high',  3,  11  ; ...
      'Rlo',  'line_low',   3,  12  ; ...
      };

and the default_input_map

default_input_map = { ...
     'Cin'    1   ; ...
     'Cout'   2   ; ...
     'Lin'    3   ; ...
     'Lout'   4   ; ...
     'Rin'    5   ; ...
     'Rout'   6   ; ...
     'Tup'    7   ; ...
   };

Third, in several places ExperPort/Modules/@StateMachineAssembler/send.m

pairs = { ...
     'do_all_but_send'    0  ; ...
     'run_trial_asap'     1  ; ...
     'input_lines'      struct('C', 1, 'L', 2, 'R', 3)  ; ...
     'dout_lines'       '0-15'   ; ...
     'sound_card_slot'  '0'; ...
   }; parseargs(varargin, pairs);


There are many places in send.m that have references to the three "L,C,R" input lines. You should just go through send.m to find them.

In order to add additional input lines you must make changes in these three places.