summaryrefslogtreecommitdiff
path: root/digital/io-hub/src/apbirthday
diff options
context:
space:
mode:
Diffstat (limited to 'digital/io-hub/src/apbirthday')
-rw-r--r--digital/io-hub/src/apbirthday/Makefile1
-rw-r--r--digital/io-hub/src/apbirthday/robot.cc9
-rw-r--r--digital/io-hub/src/apbirthday/robot.hh3
3 files changed, 13 insertions, 0 deletions
diff --git a/digital/io-hub/src/apbirthday/Makefile b/digital/io-hub/src/apbirthday/Makefile
index 18f10fe2..9eacfcb1 100644
--- a/digital/io-hub/src/apbirthday/Makefile
+++ b/digital/io-hub/src/apbirthday/Makefile
@@ -5,6 +5,7 @@ PROGS = apbirthday
apbirthday_SOURCES = main.cc robot.cc hardware.host.cc hardware.stm32.cc \
simu_report.host.cc zb_avrisp.stm32.cc \
i2c_queue.cc asserv.cc mimot.cc beacon.cc \
+ potentiometer.cc \
pressure.cc chrono.host.cc chrono.stm32.cc debounce.cc \
radar.cc radar_2013.cc obstacles.cc path.cc \
outputs.cc \
diff --git a/digital/io-hub/src/apbirthday/robot.cc b/digital/io-hub/src/apbirthday/robot.cc
index 806d5aae..23c9665d 100644
--- a/digital/io-hub/src/apbirthday/robot.cc
+++ b/digital/io-hub/src/apbirthday/robot.cc
@@ -34,6 +34,7 @@ Robot::Robot ()
: main_i2c_queue_ (hardware.main_i2c), zb_i2c_queue_ (hardware.zb_i2c),
asserv (main_i2c_queue_, BOT_SCALE),
mimot (main_i2c_queue_),
+ pot_regul (main_i2c_queue_, 0),
beacon (zb_i2c_queue_),
dev_proto (*this, hardware.dev_uart),
zb_proto (*this, hardware.zb_uart),
@@ -247,6 +248,14 @@ Robot::proto_handle (ucoo::Proto &proto, char cmd, const uint8_t *args, int size
ucoo::bytes_pack (args[4], args[5]));
}
break;
+ case c ('p', 2):
+ // Set potentiometer wiper.
+ // - 1b: wiper index.
+ // - 1h: wiper value.
+ // - 1b: 01 for eeprom, 00 for volatile.
+ pot_regul.set_wiper (args[0], ucoo::bytes_pack (args[1], args[2]),
+ args[3] ? true : false);
+ break;
case c ('A', 1):
// Asserv position stats.
// 1B: stat interval.
diff --git a/digital/io-hub/src/apbirthday/robot.hh b/digital/io-hub/src/apbirthday/robot.hh
index 67356694..b17c0dae 100644
--- a/digital/io-hub/src/apbirthday/robot.hh
+++ b/digital/io-hub/src/apbirthday/robot.hh
@@ -26,6 +26,7 @@
#include "hardware.hh"
#include "asserv.hh"
#include "beacon.hh"
+#include "potentiometer.hh"
#include "fsm_queue.hh"
#include "chrono.hh"
#include "pressure.hh"
@@ -65,6 +66,8 @@ class Robot : public ucoo::Proto::Handler
Asserv asserv;
/// Public access to mimot class.
Mimot mimot;
+ /// Public access to potentiometer class.
+ Potentiometer pot_regul;
/// Public access to beacon class.
Beacon beacon;
private: