Subversion Repositories HomeAutomation

Rev

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

  1.  
  2. function KS0108(type, name, id)
  3. {
  4.     this.CanService(type, name, id);
  5. }
  6.  
  7. extend(KS0108, CanService);
  8.  
  9. KS0108.prototype.myBacklightStrength = null;
  10.  
  11. KS0108.prototype.canMessageHandler = function(canMessage)
  12. {
  13.     if (canMessage.getDirectionFlag() == "From_Owner")
  14.     {
  15.         switch (canMessage.getCommandName())
  16.         {
  17.         case "LCD_Clear":
  18.         break;
  19.        
  20.         case "LCD_Cursor":
  21.         break;
  22.        
  23.         case "LCD_Text":
  24.         break;
  25.        
  26.         case "LCD_TextAt":
  27.         break;
  28.        
  29.         case "LCD_Backlight":
  30.         this.myBacklight = canMessage.getData("Strength");
  31.         log(this.myName + ":" + this.myId + "> Reported backlight strength: " + this.myBacklight + "\n");
  32.         break;
  33.         }
  34.     }
  35.    
  36.     this.CanService.prototype.canMessageHandler.call(this, canMessage);
  37. }
  38.  
  39. KS0108.prototype.onlineHandler = function()
  40. {
  41.     this.CanService.prototype.onlineHandler.call(this);
  42.    
  43.     // Request backlight strength
  44.     var canMessage = new CanMessage("act", "To_Owner", this.myName, this.myId, "LCD_Backlight");
  45.     sendMessage(canMessage);
  46. }
  47.  
  48. KS0108.prototype.printText = function(x, y, text)
  49. {
  50.     while (text.length > 0)
  51.     {
  52.         var text6 = text.substr(0, 6);
  53.  
  54.         var canMessage = new CanMessage("act", "To_Owner", this.myName, this.myId, "LCD_TextAt");
  55.         canMessage.setData("X", x);
  56.         canMessage.setData("Y", y);
  57.         canMessage.setData("Text", text6);
  58.         sendMessage(canMessage);
  59.        
  60.         x += text6.length;
  61.         text = text.slice(text6.length);
  62.     }
  63. }
  64.  
  65. KS0108.prototype.clearScreen = function()
  66. {
  67.     var canMessage = new CanMessage("act", "To_Owner", this.myName, this.myId, "LCD_Clear");
  68.     sendMessage(canMessage);
  69. }
  70.  
  71. KS0108.prototype.setBacklight = function(strength)
  72. {
  73.     var canMessage = new CanMessage("act", "To_Owner", this.myName, this.myId, "LCD_Backlight");
  74.     canMessage.setData("Strength", strength);
  75.     sendMessage(canMessage);
  76. }
  77.  
  78. KS0108.prototype.getBacklight = function()
  79. {
  80.     return this.myBacklight;
  81. }
  82.