Example #1
0
 /**
  * write paged mode CV to programming track
  *
  * @param tc
  * @param cv
  * @param val
  */
 public static NceMessage getWritePagedCV(NceTrafficController tc, int cv, int val) {
   // test if supported on current connection
   if (tc.getUsbSystem() != NceTrafficController.USB_SYSTEM_NONE
       && (tc.getCmdGroups() & NceTrafficController.CMDS_PROGTRACK)
           != NceTrafficController.CMDS_PROGTRACK) {
     log.error("attempt to send unsupported binary command WRITE_PAGED_CV_CMD to NCE USB");
     //			return null;
   }
   if (tc.getCommandOptions() >= NceTrafficController.OPTION_2006) {
     NceMessage m = new NceMessage(4);
     m.setBinary(true);
     m.setReplyLen(1);
     m.setOpCode(WRITE_PAGED_CV_CMD);
     m.setElement(1, cv >> 8);
     m.setElement(2, cv & 0xFF);
     m.setElement(3, val);
     m.setNeededMode(jmri.jmrix.AbstractMRTrafficController.PROGRAMINGMODE);
     m.setTimeout(NCE_PAGED_CV_TIMEOUT);
     return m;
   } else {
     NceMessage m = new NceMessage(8);
     m.setBinary(false);
     m.setOpCode('P');
     m.addIntAsThree(cv, 1);
     m.setElement(4, ' ');
     m.addIntAsThree(val, 5);
     m.setNeededMode(jmri.jmrix.AbstractMRTrafficController.PROGRAMINGMODE);
     m.setTimeout(NCE_PAGED_CV_TIMEOUT);
     return m;
   }
 }
Example #2
0
 /**
  * enter programming track mode
  *
  * @param tc
  */
 public static NceMessage getProgMode(NceTrafficController tc) {
   // test if supported on current connection
   if (tc.getUsbSystem() != NceTrafficController.USB_SYSTEM_NONE
       && (tc.getCmdGroups() & NceTrafficController.CMDS_PROGTRACK)
           != NceTrafficController.CMDS_PROGTRACK) {
     log.error("attempt to send unsupported binary command ENTER_PROG_CMD to NCE USB");
     //			return null;
   }
   NceMessage m = new NceMessage(1);
   if (tc.getCommandOptions() >= NceTrafficController.OPTION_2006) {
     tc.setNceProgMode(true);
     m.setBinary(true);
     m.setReplyLen(1);
     m.setOpCode(ENTER_PROG_CMD);
     m.setTimeout(SHORT_TIMEOUT);
   } else {
     m.setBinary(false);
     m.setOpCode('M');
     m.setTimeout(SHORT_TIMEOUT);
   }
   return m;
 }