소스 검색

add speed commands to http server

Chris Mullins 8 년 전
부모
커밋
a7cf15643a
4개의 변경된 파일78개의 추가작업 그리고 0개의 파일을 삭제
  1. 59 0
      data/web/index.html
  2. 9 0
      lib/MiLight/MiLightClient.cpp
  3. 2 0
      lib/MiLight/MiLightClient.h
  4. 8 0
      lib/WebServer/MiLightHttpServer.cpp

+ 59 - 0
data/web/index.html

@@ -62,6 +62,34 @@
       height: 2em;
       display: inline-block;
     }
+    .plus-minus-group { 
+      overflow: auto;
+      width: 100%;
+      clear: both;
+      display: block;
+    }
+    .plus-minus-group button:first-of-type { 
+      border-bottom-right-radius: 0;
+      border-top-right-radius: 0;
+      float: left;
+      display: block;
+    }
+    .plus-minus-group button:last-of-type { 
+      border-bottom-left-radius: 0;
+      border-top-left-radius: 0;
+      display: block;
+    }
+    .plus-minus-group .title { 
+      border-width: 1px 0;
+      border-color: #ccc;
+      border-style: solid;
+      padding: 5px 5px 5px 7px;
+      margin: 0;
+      height: 34px;
+      line-height: 1.49;
+      float: left;
+      display: block;
+    }
   </style>
 </head>
 
@@ -576,6 +604,37 @@
             </button>
           </li>
         </ul>
+        <p></p>
+        <ul class="command-buttons">
+          <div class="mode-option inline" data-for="rgb,rgbw,rgb_cct">
+            <li>
+              <div class="plus-minus-group">
+                <button type="button" class="btn btn-default btn-number command-btn" data-command="previous_mode">
+                  <span class="glyphicon glyphicon-minus"></span>
+                </button>
+                <span class="title">Mode</span>
+                <button type="button" class="btn btn-default btn-number command-btn clearfix" data-command="next_mode">
+                  <span class="glyphicon glyphicon-plus"></span>
+                </button>
+                <div class="clearfix"></div>
+              </div>
+            </li>
+          </div>
+          <div class="mode-option inline" data-for="rgb,rgbw,rgb_cct">
+            <li>
+              <div class="plus-minus-group">
+                <button type="button" class="btn btn-default btn-number command-btn" data-command="mode_speed_down">
+                  <span class="glyphicon glyphicon-minus"></span>
+                </button>
+                <span class="title">Speed</span>
+                <button type="button" class="btn btn-default btn-number command-btn" data-command="mode_speed_up">
+                  <span class="glyphicon glyphicon-plus"></span>
+                </button>
+                <div class="clearfix"></div>
+              </div>
+            </li>
+          </div>
+        </ul>
       </div>
     </div>
     

+ 9 - 0
lib/MiLight/MiLightClient.cpp

@@ -109,6 +109,15 @@ void MiLightClient::previousMode() {
   formatter->previousMode();
   flushPacket();
 }
+
+void MiLightClient::modeSpeedDown() {
+  formatter->modeSpeedDown();
+  flushPacket();
+}
+void MiLightClient::modeSpeedUp() {
+  formatter->modeSpeedUp();
+  flushPacket();
+}
     
 void MiLightClient::updateStatus(MiLightStatus status, uint8_t groupId) {
   formatter->updateStatus(status, groupId);

+ 2 - 0
lib/MiLight/MiLightClient.h

@@ -55,6 +55,8 @@ class MiLightClient {
     void updateMode(uint8_t mode);
     void nextMode();
     void previousMode();
+    void modeSpeedDown();
+    void modeSpeedUp();
     
     // RGBW methods
     void updateHue(const uint16_t hue);

+ 8 - 0
lib/WebServer/MiLightHttpServer.cpp

@@ -254,6 +254,14 @@ void MiLightHttpServer::handleUpdateGroup(const UrlTokenBindings* urlBindings) {
     if (request["command"] == "previous_mode") {
       milightClient->previousMode();
     }
+    
+    if (request["command"] == "mode_speed_down") {
+      milightClient->modeSpeedDown();
+    }
+    
+    if (request["command"] == "mode_speed_up") {
+      milightClient->modeSpeedUp();
+    }
   }
   
   if (request.containsKey("hue")) {