Subversion Repositories HomeAutomation

Rev

Rev 1022 | Rev 1040 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed

  1.  
  2. function quit()
  3. {
  4.     if (ClientId)
  5.     {
  6.         _quit(ClientId);
  7.     }
  8. }
  9.  
  10. function print(text)
  11. {
  12.     if (ClientId)
  13.     {
  14.         _print(ClientId, text);
  15.     }
  16.     else
  17.     {
  18.         log(text);
  19.     }
  20. }
  21.  
  22. function printTo(clientId, text)
  23. {
  24.     _print(clientId, text);
  25. }
  26.  
  27. function services()
  28. {
  29.     var list = new Array();
  30.    
  31.     var row = new Array();
  32.    
  33.     row[row.length] = "Type";
  34.     row[row.length] = "Name";
  35.     row[row.length] = "Id";
  36.     row[row.length] = "Online";
  37.    
  38.     list[list.length] = row;
  39.    
  40.     for (var n in ServiceManager.Services)
  41.     {
  42.         var row = new Array();
  43.        
  44.         row[row.length] = ServiceManager.Services[n].getType();
  45.         row[row.length] = ServiceManager.Services[n].getName();
  46.         row[row.length] = ServiceManager.Services[n].getId();
  47.         if (ServiceManager.Services[n].getType() == "Can")
  48.         {
  49.             row[row.length] = ServiceManager.Services[n].isOnline();
  50.         }
  51.         else
  52.         {
  53.             row[row.length] = "";
  54.         }
  55.        
  56.         list[list.length] = row;
  57.     }
  58.  
  59.     var lines = TextTable.create(list);
  60.    
  61.     for (var n in lines)
  62.     {
  63.         print(lines[n] + "\n");
  64.     }
  65. }
  66.  
  67. function getService(id, name)
  68. {
  69.     var fullId = name + id;
  70.  
  71.     if (!ServiceManager.Services[fullId])
  72.     {
  73.         print("No such service found.\n");
  74.     }
  75.    
  76.     return ServiceManager.Services[fullId];
  77. }
  78.  
  79. function testOutput()
  80. {
  81. _print(ClientId, "====");
  82. _print(ClientId, "\r");
  83. _print(ClientId, "=AR=");
  84.  
  85. }
  86.  
  87. function resetNode(hardwareId)
  88. {
  89.     ProgrammingClientId = ClientId;
  90.  
  91.     if (hardwareId.length > 2)
  92.     {
  93.         if (hardwareId.substr(0,2)=="0x")
  94.         {
  95.             hardwareId = hex2uint(hardwareId.substring(2,hardwareId.length));
  96.         }
  97.     }
  98.    
  99.     var node = CanNodes[hardwareId];
  100.  
  101.     if (!node)
  102.     {
  103.         print("Failed. No node is online that has that hardware id, " + hardwareId + "\n");
  104.         return;
  105.     }
  106.     node.reset();
  107. }
  108.  
  109. var ProgrammingClientId = null;
  110.  
  111. function programNodeCallback(status, event, text)
  112. {
  113.     printTo(ProgrammingClientId, event + ": " + text + "\n");
  114. }
  115.  
  116. function programNode(hardwareId, hexData, bios)
  117. {
  118.     ProgrammingClientId = ClientId;
  119.  
  120.     if (hardwareId.length > 2)
  121.     {
  122.         if (hardwareId.substr(0,2)=="0x")
  123.         {
  124.             hardwareId = hex2uint(hardwareId.substring(2,hardwareId.length));
  125.         }
  126.     }
  127.    
  128.     var node = CanNodes[hardwareId];
  129.  
  130.     if (!node)
  131.     {
  132.         print("Failed. No node is online that has that hardware id, " + hardwareId + "\n");
  133.         return;
  134.     }
  135.  
  136.     hexData = unescape(hexData);
  137.  
  138.     //print("helo, hexData: " + hexData);
  139.  
  140.     //var hexData = getFileContents(hexFilename);
  141.     if (hexData)
  142.     {
  143.         var hexLinesOrg = hexData.split('\n');
  144.         var hexLines = new Array();
  145.    
  146.         for (var n = 0; n < hexLinesOrg.length; n++)
  147.         {
  148.             var line = hexLinesOrg[n].trim(' ');
  149.        
  150.             if (line != "")
  151.             {
  152.                 hexLines[hexLines.length] = line;
  153.             }
  154.         }
  155.  
  156.         var hexObj = new IntelHex(hexLines);
  157.         if (hexObj.isValid()) {
  158.             //print("hexfile is valid");
  159.             //for (var i = 0; i < 16; i++) { print(hexObj.getByte(i)+" "); }
  160.             //print("len: "+hexObj.getLength()+" laddr: "+hexObj.getAddrLower()+" uaddr: "+hexObj.getAddrUpper()+"\n");
  161.             node.startProgramming(hexObj, programNodeCallback, bios);
  162.         }
  163.     }
  164.     else
  165.     {
  166.         //print("File was not found, " + hexFilename + "\n");
  167.     }
  168. }
  169.