From 650998341a3a40aa6913a6f85999207eea9b5eb4 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Mon, 10 May 2010 23:54:32 +0200 Subject: digital/io: add loader control commands --- digital/io/src/main.c | 18 ++++++++++++++++++ digital/io/tools/io/io.py | 3 +++ digital/io/tools/test_simu_control.py | 14 ++++++++++++++ 3 files changed, 35 insertions(+) diff --git a/digital/io/src/main.c b/digital/io/src/main.c index 3a5e5901..bfa17068 100644 --- a/digital/io/src/main.c +++ b/digital/io/src/main.c @@ -56,6 +56,7 @@ #include "init.h" #include "move.h" #include "top.h" +#include "loader.h" #include "io.h" @@ -406,6 +407,23 @@ proto_callback (uint8_t cmd, uint8_t size, uint8_t *args) pwm_set (v8_to_v16 (args[0], args[1]), v8_to_v16 (args[2], args[3])); break; + case c ('c', 1): + /* Loader control. + * - 1b: command: + * - 'd': move elevator down. + * - 'u': move elevator up. + */ + switch (args[0]) + { + case 'd': + loader_down (); + break; + case 'u': + loader_up (); + break; + } + break; + /* EEPROM command */ case c ('e', 1): { diff --git a/digital/io/tools/io/io.py b/digital/io/tools/io/io.py index a98f0c9e..87471bbd 100644 --- a/digital/io/tools/io/io.py +++ b/digital/io/tools/io/io.py @@ -55,6 +55,9 @@ class Proto: def pwm_set (self, value, timer): self.proto.send ('w', 'Hh', value, timer) + def loader (self, command): + self.proto.send ('c', 'c', command) + def stats_usdist (self, cb): self.proto.send ('U', 'B', 2 * 4 * 2) self.usdist_cb = cb diff --git a/digital/io/tools/test_simu_control.py b/digital/io/tools/test_simu_control.py index 7145ed1a..49691fb7 100644 --- a/digital/io/tools/test_simu_control.py +++ b/digital/io/tools/test_simu_control.py @@ -46,6 +46,14 @@ class TestSimuControl (TestSimu): text = 'Elevator', indicatoron = False, variable = self.elevator_var, command = self.elevator_command) self.elevator_button.pack () + self.loader_up_button = Button (self.control_frame, + text = 'Loader up', padx = 0, pady = 0, + command = self.loader_up_command) + self.loader_up_button.pack () + self.loader_down_button = Button (self.control_frame, + text = 'Loader down', padx = 0, pady = 0, + command = self.loader_down_command) + self.loader_down_button.pack () self.table_view.bind ('<1>', self.move) self.table_view.bind ('<3>', self.orient) @@ -75,6 +83,12 @@ class TestSimuControl (TestSimu): pos = 0 self.asserv.goto_pos ('a0', pos) + def loader_up_command (self): + self.io.loader ('u') + + def loader_down_command (self): + self.io.loader ('d') + def change_color (self, *dummy): pass -- cgit v1.2.3