Subversion Repositories HomeAutomation

Rev

Rev 1282 | 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.             var result = 1;
  47.             if (remotesStore['gestures'][n]['masks']['f1_lower'] <= f1 && remotesStore['gestures'][n]['masks']['f1_upper'] >= f1)
  48.             {
  49.                 result = 0;
  50.                 continue;
  51.             }
  52.             if (remotesStore['gestures'][n]['masks']['f2'] == 1 && remotesStore['gestures'][n]['functions']['f2'] != f2)
  53.             {
  54.                 result = 0;
  55.                 continue;
  56.             }
  57.             if (remotesStore['gestures'][n]['masks']['f3'] == 1 && remotesStore['gestures'][n]['functions']['f3'] != f3)
  58.             {
  59.                 result = 0;
  60.                 continue;
  61.             }
  62.             if (remotesStore['gestures'][n]['masks']['f4'] == 1 && remotesStore['gestures'][n]['functions']['f4'] != f4)
  63.             {
  64.                 result = 0;
  65.                 continue;
  66.             }
  67.             if (remotesStore['gestures'][n]['masks']['f5'] == 1 && remotesStore['gestures'][n]['functions']['f5'] != f5)
  68.             {
  69.                 result = 0;
  70.                 continue;
  71.             }
  72.             if (remotesStore['gestures'][n]['masks']['f6'] == 1 && remotesStore['gestures'][n]['functions']['f6'] != f6)
  73.             {
  74.                 result = 0;
  75.                 continue;
  76.             }
  77.             if (remotesStore['gestures'][n]['masks']['f7_lower'] <= f7 && remotesStore['gestures'][n]['masks']['f7_upper'] >= f7)
  78.             {
  79.                 result = 0;
  80.                 continue;
  81.             }
  82.             if (remotesStore['gestures'][n]['masks']['f8'] == 1 && remotesStore['gestures'][n]['functions']['f8'] != f8)
  83.             {
  84.                 result = 0;
  85.                 continue;
  86.             }
  87.             if (remotesStore['gestures'][n]['masks']['f9'] == 1 && remotesStore['gestures'][n]['functions']['f9'] != f9)
  88.             {
  89.                 result = 0;
  90.                 continue;
  91.             }
  92.             if (result == 1) {
  93.                 this.myLastGesture = remotesStore['gestures'][n]['name']
  94.             }
  95.         }
  96.     }
  97.     this.myLastGesture = null;
  98. }
  99.  
  100.  
  101. Touch.prototype.getLastGesture = function()
  102. {
  103.     return this.myLastgesture;
  104. }
  105.