Added output control via variable
authorJoseph Coffland <joseph@cauldrondevelopment.com>
Tue, 16 Jan 2018 01:42:47 +0000 (17:42 -0800)
committerJoseph Coffland <joseph@cauldrondevelopment.com>
Tue, 16 Jan 2018 01:42:47 +0000 (17:42 -0800)
package.json
src/avr/src/outputs.c
src/avr/src/vars.def

index 44571c2732c4c8988adddd7b6b5e61c95bce274e..87f60a476e6275a87f3fc13f931bc93d1987587e 100644 (file)
@@ -3,7 +3,6 @@
   "version": "0.2.3",
   "homepage": "https://github.com/buildbotics/bbctrl-firmware",
   "license": "GPL 3+",
-
   "dependencies": {
     "autoprefixer": ">=3.0.0",
     "jade": ">=1.3.0",
index c600720414cd0d483e9a5b9ad0821af280f73736..0a8805dd0cda771e6cb1f1d34a56775fdedd5372 100644 (file)
@@ -113,11 +113,24 @@ output_state_t outputs_get_state(uint8_t pin) {
 }
 
 
+// Var callbacks
 uint8_t get_output_state(uint8_t id) {
   return OUTS <= id ? OUT_TRI : outputs[id].state;
 }
 
 
+bool get_output_active(uint8_t id) {
+  return OUTS <= id ? false : outputs[id].active;
+}
+
+
+void set_output_active(uint8_t id, bool active) {
+  if (OUTS <= id) return;
+  outputs[id].active = active;
+  _update_state(&outputs[id]);
+}
+
+
 uint8_t get_output_mode(uint8_t id) {
   return OUTS <= id ? OUT_DISABLED : outputs[id].mode;
 }
index 897c070dd20869576f147585931a4e911fd57b93..020ec200d64b0de0fc7437b04b2e2941efff4797 100644 (file)
@@ -81,6 +81,7 @@ VAR(axis_position,    p,  f32,   AXES,  1, 1, "Axis position")
 VAR(axis_can_home,    ch, bool,  AXES,  0, 1, "Axis can home")
 
 // Outputs
+VAR(output_active,   oa, bool,  OUTS,   1, 1, "Output pin active")
 VAR(output_state,    os, u8,    OUTS,   0, 1, "Output pin state")
 VAR(output_mode,     om, u8,    OUTS,   1, 1, "Output pin mode")