From 5ba738d4fe93ea04f259badb38343c5e2fb6168e Mon Sep 17 00:00:00 2001 From: Jerome Jutteau Date: Wed, 1 May 2013 17:53:37 +0200 Subject: digital/io-hub/src/apbirthday: add plate counter --- digital/io-hub/src/apbirthday/plate.cc | 21 +++++++++++++++++++++ digital/io-hub/src/apbirthday/plate.hh | 7 +++++++ 2 files changed, 28 insertions(+) (limited to 'digital/io-hub/src/apbirthday') diff --git a/digital/io-hub/src/apbirthday/plate.cc b/digital/io-hub/src/apbirthday/plate.cc index 43e05e57..8fda068b 100644 --- a/digital/io-hub/src/apbirthday/plate.cc +++ b/digital/io-hub/src/apbirthday/plate.cc @@ -25,6 +25,26 @@ #include "defs.hh" #include "plate.hh" +Plate::Plate () +{ + reset_plate_nb (); +} + +inline int Plate::get_plate_nb () +{ + return nb_plate; +} + +inline void Plate::reset_plate_nb () +{ + nb_plate = 0; +} + +inline void Plate::ppp () +{ + nb_plate++; +} + inline void Plate::arm_down () { robot->hardware.cherry_plate_down.set (true); @@ -120,6 +140,7 @@ FSM_TRANS_TIMEOUT (PLATE_TAKE_GLUE, 100, PLATE_TAKE_UPING) FSM_TRANS_TIMEOUT (PLATE_TAKE_UPING, 100, PLATE_I_HAZ_PLATE) { robot->fsm_queue.post (FSM_EVENT (plate_taken)); + robot->plate.ppp (); } FSM_TRANS (PLATE_I_HAZ_PLATE, plate_take, PLATE_I_HAZ_PLATE) diff --git a/digital/io-hub/src/apbirthday/plate.hh b/digital/io-hub/src/apbirthday/plate.hh index 2740b001..614c1790 100644 --- a/digital/io-hub/src/apbirthday/plate.hh +++ b/digital/io-hub/src/apbirthday/plate.hh @@ -28,11 +28,18 @@ class Plate { public: + Plate (); + int get_plate_nb (); + void reset_plate_nb (); + // Increment plate_nb, internal use for FSM + void ppp (); // GPIO manipulation. static void arm_down (); static void arm_up (); static void clamp_open (); static void clamp_close (); + private: + int nb_plate; }; #endif // plate_hh -- cgit v1.2.3