public LocoIOModeList(){
  modeList.add(new LocoIOMode(0,LnConstants.OPC_SW_REQ,0x0F,0x00,"Toggle Switch, LocoIO 1.3.2"));
  modeList.add(new LocoIOMode(0,LnConstants.OPC_INPUT_REP,0x5F,0x00,"Block Detector, Active High"));
  modeList.add(new LocoIOMode(0,LnConstants.OPC_INPUT_REP,0x1F,0x10,"Block Detector, Active Low"));
  modeList.add(new LocoIOMode(0,LnConstants.OPC_SW_REQ,0x0F,0x10,"Toggle Switch, Direct Control"));
  modeList.add(new LocoIOMode(0,LnConstants.OPC_SW_REP,0x07,0x10,"Toggle Switch, Indirect Control"));
  modeList.add(new LocoIOMode(0,LnConstants.OPC_SW_REQ,0x6F,0x00,"Push Button, Active High, Direct Control"));
  modeList.add(new LocoIOMode(0,LnConstants.OPC_SW_REP,0x67,0x00,"Push Button, Active High, Indirect Control"));
  modeList.add(new LocoIOMode(0,LnConstants.OPC_SW_REQ,0x2F,0x10,"Push Button, Active Low, Direct Control"));
  modeList.add(new LocoIOMode(0,LnConstants.OPC_SW_REP,0x27,0x10,"Push Button, Active Low, Indirect Control"));
  modeList.add(new LocoIOMode(0,LnConstants.OPC_SW_REP,0x17,0x70,"Turnout Feedback, single sensor"));
  modeList.add(new LocoIOMode(0,LnConstants.OPC_SW_REP,0x37,0x70,"Turnout Feedback, dual sensor, #1"));
  modeList.add(new LocoIOMode(0,LnConstants.OPC_SW_REP,0x37,0x60,"Turnout Feedback, dual sensor, #2"));
  modeList.add(new LocoIOMode(1,LnConstants.OPC_INPUT_REP,0xC0,0x00,"Block Occupied Indication"));
  modeList.add(new LocoIOMode(1,LnConstants.OPC_INPUT_REP,0xD0,0x00,"Block Occupied Indication, Blinking"));
  modeList.add(new LocoIOMode(1,LnConstants.OPC_SW_REQ,0x81,0x10,"Steady State, single output, On at Power up"));
  modeList.add(new LocoIOMode(1,LnConstants.OPC_SW_REQ,0x80,0x10,"Steady State, single output, Off at Power up"));
  modeList.add(new LocoIOMode(1,LnConstants.OPC_SW_REQ,0x81,0x30,"Steady State, paired output, On at Power up"));
  modeList.add(new LocoIOMode(1,LnConstants.OPC_SW_REQ,0x80,0x30,"Steady State, paired output, Off at Power up"));
  modeList.add(new LocoIOMode(1,LnConstants.OPC_SW_REQ,0x91,0x10,"Steady State, single output, On at Power up, Blinking"));
  modeList.add(new LocoIOMode(1,LnConstants.OPC_SW_REQ,0x90,0x10,"Steady State, single output, Off at Power up, Blinking"));
  modeList.add(new LocoIOMode(1,LnConstants.OPC_SW_REQ,0x91,0x30,"Steady State, paired output, On at Power up, Blinking"));
  modeList.add(new LocoIOMode(1,LnConstants.OPC_SW_REQ,0x90,0x30,"Steady State, paired output, Off at Power up, Blinking"));
  modeList.add(new LocoIOMode(1,LnConstants.OPC_SW_REQ,0x88,0x20,"Pulsed, software controlled on time, single output"));
  modeList.add(new LocoIOMode(1,LnConstants.OPC_SW_REQ,0x8C,0x20,"Pulsed, firmware controlled on time, single output"));
  modeList.add(new LocoIOMode(1,LnConstants.OPC_SW_REQ,0x88,0x00,"Pulsed, software controlled on time, paired output"));
  modeList.add(new LocoIOMode(1,LnConstants.OPC_SW_REQ,0x8C,0x00,"Pulsed, firmware controlled on time, paired output"));
  validmodes=new String[modeList.size()];
  for (int i=0; i <= modeList.size() - 1; i++) {
    LocoIOMode m=modeList.elementAt(i);
    validmodes[i]=m.getFullMode();
  }
}

public LocoIOModeList ( ) { modeList . add ( new LocoIOMode ( 0 , LnConstants . OPC_SW_REQ , 0x0F , 0x00 , "Toggle Switch, LocoIO 1.3.2" ) ) ; modeList . add ( new LocoIOMode ( 0 , LnConstants . OPC_INPUT_REP , 0x5F , 0x00 , "Block Detector, Active High" ) ) ; modeList . add ( new LocoIOMode ( 0 , LnConstants . OPC_INPUT_REP , 0x1F , 0x10 , "Block Detector, Active Low" ) ) ; modeList . add ( new LocoIOMode ( 0 , LnConstants . OPC_SW_REQ , 0x0F , 0x10 , "Toggle Switch, Direct Control" ) ) ; modeList . add ( new LocoIOMode ( 0 , LnConstants . OPC_SW_REP , 0x07 , 0x10 , "Toggle Switch, Indirect Control" ) ) ; modeList . add ( new LocoIOMode ( 0 , LnConstants . OPC_SW_REQ , 0x6F , 0x00 , "Push Button, Active High, Direct Control" ) ) ; modeList . add ( new LocoIOMode ( 0 , LnConstants . OPC_SW_REP , 0x67 , 0x00 , "Push Button, Active High, Indirect Control" ) ) ; modeList . add ( new LocoIOMode ( 0 , LnConstants . OPC_SW_REQ , 0x2F , 0x10 , "Push Button, Active Low, Direct Control" ) ) ; modeList . add ( new LocoIOMode ( 0 , LnConstants . OPC_SW_REP , 0x27 , 0x10 , "Push Button, Active Low, Indirect Control" ) ) ; modeList . add ( new LocoIOMode ( 0 , LnConstants . OPC_SW_REP , 0x17 , 0x70 , "Turnout Feedback, single sensor" ) ) ; modeList . add ( new LocoIOMode ( 0 , LnConstants . OPC_SW_REP , 0x37 , 0x70 , "Turnout Feedback, dual sensor, #1" ) ) ; modeList . add ( new LocoIOMode ( 0 , LnConstants . OPC_SW_REP , 0x37 , 0x60 , "Turnout Feedback, dual sensor, #2" ) ) ; modeList . add ( new LocoIOMode ( 1 , LnConstants . OPC_INPUT_REP , 0xC0 , 0x00 , "Block Occupied Indication" ) ) ; modeList . add ( new LocoIOMode ( 1 , LnConstants . OPC_INPUT_REP , 0xD0 , 0x00 , "Block Occupied Indication, Blinking" ) ) ; modeList . add ( new LocoIOMode ( 1 , LnConstants . OPC_SW_REQ , 0x81 , 0x10 , "Steady State, single output, On at Power up" ) ) ; modeList . add ( new LocoIOMode ( 1 , LnConstants . OPC_SW_REQ , 0x80 , 0x10 , "Steady State, single output, Off at Power up" ) ) ; modeList . add ( new LocoIOMode ( 1 , LnConstants . OPC_SW_REQ , 0x81 , 0x30 , "Steady State, paired output, On at Power up" ) ) ; modeList . add ( new LocoIOMode ( 1 , LnConstants . OPC_SW_REQ , 0x80 , 0x30 , "Steady State, paired output, Off at Power up" ) ) ; modeList . add ( new LocoIOMode ( 1 , LnConstants . OPC_SW_REQ , 0x91 , 0x10 , "Steady State, single output, On at Power up, Blinking" ) ) ; modeList . add ( new LocoIOMode ( 1 , LnConstants . OPC_SW_REQ , 0x90 , 0x10 , "Steady State, single output, Off at Power up, Blinking" ) ) ; modeList . add ( new LocoIOMode ( 1 , LnConstants . OPC_SW_REQ , 0x91 , 0x30 , "Steady State, paired output, On at Power up, Blinking" ) ) ; modeList . add ( new LocoIOMode ( 1 , LnConstants . OPC_SW_REQ , 0x90 , 0x30 , "Steady State, paired output, Off at Power up, Blinking" ) ) ; modeList . add ( new LocoIOMode ( 1 , LnConstants . OPC_SW_REQ , 0x88 , 0x20 , "Pulsed, software controlled on time, single output" ) ) ; modeList . add ( new LocoIOMode ( 1 , LnConstants . OPC_SW_REQ , 0x8C , 0x20 , "Pulsed, firmware controlled on time, single output" ) ) ; modeList . add ( new LocoIOMode ( 1 , LnConstants . OPC_SW_REQ , 0x88 , 0x00 , "Pulsed, software controlled on time, paired output" ) ) ; modeList . add ( new LocoIOMode ( 1 , LnConstants . OPC_SW_REQ , 0x8C , 0x00 , "Pulsed, firmware controlled on time, paired output" ) ) ; validmodes = new String [ modeList . size ( ) ] ; for ( int i = 0 ; i <= modeList . size ( ) - 1 ; i ++ ) { LocoIOMode m = modeList . elementAt ( i ) ; validmodes [ i ] = m . getFullMode ( ) ; } }
creates a new instance of locoiomodelist
