Implemented fine jogging control in Web interface. #147
authorJoseph Coffland <joseph@cauldrondevelopment.com>
Mon, 25 Jun 2018 00:25:50 +0000 (17:25 -0700)
committerJoseph Coffland <joseph@cauldrondevelopment.com>
Mon, 25 Jun 2018 00:29:07 +0000 (17:29 -0700)
CHANGELOG.md
src/jade/templates/axis-control.jade
src/jade/templates/control-view.jade
src/js/axis-control.js
src/js/control-view.js
src/stylus/style.styl

index 4118c6f3c5425d2f1382261377106e52b4cdb9de..1d5589f1e3a953d9aa8e30482018370fb4264c18 100644 (file)
@@ -6,6 +6,7 @@ Buildbotics CNC Controller Firmware Changelog
  - Decrease boot time networking delay.
  - Default to US keyboard layout. #145
  - Added configuration option to show metric or imperial units in browser. #74
+ - Implemented fine jogging control in Web interface. #147
 
 ## v0.3.24
  - Added unhome button on axis position popup.
index 83be91992df36fc0edf201340dcb0ae6d915cbf2..37ec1f3173bc5b4329fe23e5f2d3d47cf69d9b4f 100644 (file)
@@ -96,8 +96,10 @@ script#axis-control-template(type="text/x-template")
           v-if="enabled[1]")
           use.button(xlink:href="#pie-1",
             transform="translate(124 111) rotate(-135)")
-          text(x="125", y="24", transform="rotate(22 125 125)") 100%
-          text(x="125", y="24", transform="rotate(-22 125 125)") 100%
+          text(x="125", y="24", transform="rotate(22 125 125)")
+            | {{adjust | fixed 0}}%
+          text(x="125", y="24", transform="rotate(-22 125 125)")
+            | {{adjust | fixed 0}}%
           use.button(xlink:href="#pie-1", fill="transparent",
             transform="translate(124 111) rotate(-135)")
 
@@ -119,7 +121,7 @@ script#axis-control-template(type="text/x-template")
           v-if="enabled[1]")
           use.button(xlink:href="#pie-2",
             transform="translate(124 111) rotate(-135)")
-          text(x="125", y="48") 50%
+          text(x="125", y="48") {{0.5 * adjust | fixed 1}}%
           use.button(xlink:href="#pie-2", fill="transparent",
             transform="translate(124 111) rotate(-135)")
 
@@ -142,7 +144,7 @@ script#axis-control-template(type="text/x-template")
           v-if="enabled[1]")
           use.button(xlink:href="#pie-3",
             transform="translate(124 111) rotate(-135)")
-          text(x="125", y="73") 25%
+          text(x="125", y="73") {{0.25 * adjust | fixed 1}}%
           use.button(xlink:href="#pie-3", fill="transparent",
             transform="translate(124 111) rotate(-135)")
 
@@ -165,7 +167,7 @@ script#axis-control-template(type="text/x-template")
           v-if="enabled[1]")
           use.button(xlink:href="#pie-4",
             transform="translate(124 111) rotate(-135)")
-          text(x="125", y="95") 10%
+          text(x="125", y="95") {{0.1 * adjust | fixed 1}}%
           use.button(xlink:href="#pie-4", fill="transparent",
             transform="translate(124 111) rotate(-135)")
 
index 1318ffc51d6850fee3a125e418d424a0562c39c5..d4e096329d512df9504cbf58416d087c92cea35f 100644 (file)
@@ -267,15 +267,19 @@ script#control-view-template(type="text/x-template")
         .jog
           axis-control(axes="XY", :colors="['red', 'green']",
             :enabled="[enabled('x'), enabled('y')]",
-            v-if="enabled('x') || enabled('y')")
+            v-if="enabled('x') || enabled('y')", :adjust="jog_adjust")
 
           axis-control(axes="AZ", :colors="['orange', 'blue']",
             :enabled="[enabled('a'), enabled('z')]",
-            v-if="enabled('a') || enabled('z')")
+            v-if="enabled('a') || enabled('z')", :adjust="jog_adjust")
 
           axis-control(axes="BC", :colors="['cyan', 'purple']",
             :enabled="[enabled('b'), enabled('c')]",
-            v-if="enabled('b') || enabled('c')")
+            v-if="enabled('b') || enabled('c')", :adjust="jog_adjust")
+
+        .jog-adjust
+          | Fine adjust
+          input(type="range", v-model="jog_adjust", min=1, max=100, step=1)
 
         center
           | Left click the axes above holding down the mouse button to jog the
index 059e6b0e9e899f70cd16a920787583deaea1d4e7..bf21b7493e9ffc31cdd5a249819338c92cb52a10 100644 (file)
 
 module.exports = {
   template: '#axis-control-template',
-  props: ['axes', 'colors', 'enabled'],
+  props: ['axes', 'colors', 'enabled', 'adjust'],
 
 
   methods: {
-    jog: function (axis, power) {this.$dispatch('jog', this.axes[axis], power)},
+    jog: function (axis, power) {
+      this.$dispatch('jog', this.axes[axis], power * this.adjust / 100.0)
+    },
+
+
     release: function (axis) {this.$dispatch('jog', this.axes[axis], 0)}
   }
 }
index 05b253faa278f4c32a6725e743e181db796f84ff..0ebbb84ac13628ac51f2076894d9642e4c447d3b 100644 (file)
@@ -59,6 +59,7 @@ module.exports = {
       position_msg:
       {x: false, y: false, z: false, a: false, b: false, c: false},
       axis_position: 0,
+      jog_adjust: 100,
       video_url: '',
       deleteGCode: false
     }
index 7d0ac76efe94a598a499b028de5754884d0113c5..b00e5f0484739746c9e14a1d0d382217101967f7 100644 (file)
@@ -396,6 +396,14 @@ span.unit
     > svg
       margin 1em
 
+  .jog-adjust
+    text-align center
+    margin-bottom 1em
+
+    input
+      margin 0 0.5em
+      vertical-align middle
+
 .console
   .console-wrapper
     max-height 400px