Subversion Repositories HomeAutomation

Rev

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

  1.  
  2. function Touch(type, name, id)
  3. {
  4.     this.CanService(type, name, id);
  5. }
  6.  
  7. extend(Touch, CanService);
  8.  
  9. Touch.prototype.myLastGesture = null;
  10.  
  11. Touch.prototype.canMessageHandler = function(canMessage)
  12. {
  13.     if (canMessage.getDirectionFlag() == "From_Owner")
  14.     {
  15.         switch (canMessage.getCommandName())
  16.         {
  17.         case "Gesture":
  18.         this.lookupGesture(canMessage.getData("f1"),canMessage.getData("f2"),canMessage.getData("f3"),canMessage.getData("f4"),canMessage.getData("f5"),canMessage.getData("f6"),canMessage.getData("f7"),canMessage.getData("f8"),canMessage.getData("f9"));
  19.        
  20.         if (this.myLastGesture == null)
  21.         {
  22.             log(this.myName + ":" + this.myId + "> New Gesture, f1: " + canMessage.getData("f1") + ", f2: " + canMessage.getData("f2")+ ", f3: " + canMessage.getData("f3")+ ", f4: " + canMessage.getData("f4")+ ", f5: " + canMessage.getData("f5")+ ", f6: " + canMessage.getData("f6")+ ", f7: " + canMessage.getData("f7")+ ", f8: " + canMessage.getData("f8")+ ", f9: " + canMessage.getData("f9") +"\n");
  23.         }
  24.         else
  25.         {
  26.             log(this.myName + ":" + this.myId + "> New Gesture: " + this.myLastGesture + "\n");
  27.         }
  28.        
  29.         this.callEvent("newGesture", null);
  30.         break;
  31.         }
  32.     }
  33.    
  34.     this.CanService.prototype.canMessageHandler.call(this, canMessage);
  35. }
  36.  
  37.  
  38. Touch.prototype.lookupGesture = function(f1, f2, f3, f4, f5, f6, f7, f8, f9)
  39. {
  40.     var gestureStore = DataStore.getStore("Gestures");
  41.     this.myLastGesture = null;
  42.     if (gestureStore)
  43.     {
  44.         for (var n = 0; n < gestureStore['gestures'].length; n++)
  45.         {
  46.             //log(this.myName + ":" + this.myId + "> Checking : " + gestureStore['gestures'][n]['name'] + "\n");
  47.             this.myLastGesture = null;
  48.             var result = 1;
  49.             if (gestureStore['gestures'][n]['masks']['f1_lower'] > f1 || gestureStore['gestures'][n]['masks']['f1_upper'] < f1)
  50.             {
  51.             //  log("1");
  52.                 result = 0;
  53.                 continue;
  54.             }
  55.             if (gestureStore['gestures'][n]['masks']['f2'] == 1 && gestureStore['gestures'][n]['functions']['f2'] != f2)
  56.             {
  57.             //  log("2");
  58.                 result = 0;
  59.                 continue;
  60.             }
  61.             if (gestureStore['gestures'][n]['masks']['f3'] == 1 && gestureStore['gestures'][n]['functions']['f3'] != f3)
  62.             {
  63.             //  log("3");
  64.                 result = 0;
  65.                 continue;
  66.             }
  67.             if (gestureStore['gestures'][n]['masks']['f4'] == 1 && gestureStore['gestures'][n]['functions']['f4'] != f4)
  68.             {
  69.             //  log("4");
  70.                 result = 0;
  71.                 continue;
  72.             }
  73.             if (gestureStore['gestures'][n]['masks']['f5'] == 1 && gestureStore['gestures'][n]['functions']['f5'] != f5)
  74.             {
  75.             //  log("5");
  76.                 result = 0;
  77.                 continue;
  78.             }
  79.             if (gestureStore['gestures'][n]['masks']['f6'] == 1 && gestureStore['gestures'][n]['functions']['f6'] != f6)
  80.             {
  81.             //  log("6");
  82.                 result = 0;
  83.                 continue;
  84.             }
  85.             if (gestureStore['gestures'][n]['masks']['f7_lower'] > f7 || gestureStore['gestures'][n]['masks']['f7_upper'] < f7)
  86.             {
  87.             //  log("7");
  88.                 result = 0;
  89.                 continue;
  90.             }
  91.             if (gestureStore['gestures'][n]['masks']['f8'] == 1 && gestureStore['gestures'][n]['functions']['f8'] != f8)
  92.             {
  93.             //  log("8");
  94.                 result = 0;
  95.                 continue;
  96.             }
  97.             if (gestureStore['gestures'][n]['masks']['f9'] == 1 && gestureStore['gestures'][n]['functions']['f9'] != f9)
  98.             {
  99.             //  log("9");
  100.                 result = 0;
  101.                 continue;
  102.             }
  103.             if (result == 1) {
  104.                 this.myLastGesture = gestureStore['gestures'][n]['name'];
  105.                 return;
  106.             }
  107.         }
  108.     }
  109.    
  110. }
  111.  
  112.  
  113. Touch.prototype.getLastGesture = function()
  114. {
  115.     return this.myLastGesture;
  116. }
  117.