summaryrefslogtreecommitdiff
path: root/digital/io-hub/src/common-cc
diff options
context:
space:
mode:
authorNicolas Schodet2013-04-24 22:44:30 +0200
committerNicolas Schodet2013-04-24 22:46:05 +0200
commit78d2f3d295c56e976c13b187b7723670411e4101 (patch)
tree4e973bbe34a6c67008429ad5d1a7771b351e5481 /digital/io-hub/src/common-cc
parente506888ef09a23440d71b3f59067afbe84259c40 (diff)
digital/io-hub/src/apbirthday, host/simu: add cherries cannon simulationHEADmaster
Diffstat (limited to 'digital/io-hub/src/common-cc')
-rw-r--r--digital/io-hub/src/common-cc/potentiometer.host.cc43
-rw-r--r--digital/io-hub/src/common-cc/potentiometer.host.hh42
-rw-r--r--digital/io-hub/src/common-cc/potentiometer.stm32.cc (renamed from digital/io-hub/src/common-cc/potentiometer.cc)2
-rw-r--r--digital/io-hub/src/common-cc/potentiometer.stm32.hh (renamed from digital/io-hub/src/common-cc/potentiometer.hh)6
4 files changed, 89 insertions, 4 deletions
diff --git a/digital/io-hub/src/common-cc/potentiometer.host.cc b/digital/io-hub/src/common-cc/potentiometer.host.cc
new file mode 100644
index 00000000..50670e17
--- /dev/null
+++ b/digital/io-hub/src/common-cc/potentiometer.host.cc
@@ -0,0 +1,43 @@
+// io-hub - Modular Input/Output. {{{
+//
+// Copyright (C) 2013 Nicolas Schodet
+//
+// APBTeam:
+// Web: http://apbteam.org/
+// Email: team AT apbteam DOT org
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+//
+// }}}
+#include "potentiometer.host.hh"
+
+PotentiometerHost::PotentiometerHost (ucoo::Host &host)
+ : node_ (host.get_node ())
+{
+ std::string instance (host.get_instance ());
+ mtype_ = node_.reserve (instance + ":potentiometer");
+}
+
+void
+PotentiometerHost::set_wiper (int index, int data, bool eeprom)
+{
+ if (!eeprom)
+ {
+ ucoo::mex::Msg msg (mtype_);
+ msg.push ("BH") << index << data;
+ node_.send (msg);
+ }
+}
+
diff --git a/digital/io-hub/src/common-cc/potentiometer.host.hh b/digital/io-hub/src/common-cc/potentiometer.host.hh
new file mode 100644
index 00000000..bc6969ff
--- /dev/null
+++ b/digital/io-hub/src/common-cc/potentiometer.host.hh
@@ -0,0 +1,42 @@
+#ifndef potentiometer_host_hh
+#define potentiometer_host_hh
+// io-hub - Modular Input/Output. {{{
+//
+// Copyright (C) 2013 Nicolas Schodet
+//
+// APBTeam:
+// Web: http://apbteam.org/
+// Email: team AT apbteam DOT org
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+//
+// }}}
+#include "ucoolib/arch/host/host.hh"
+#include "defs.hh"
+
+/// Potentiometer, Host stub.
+class PotentiometerHost
+{
+ public:
+ /// Constructor.
+ PotentiometerHost (ucoo::Host &host);
+ /// Set wiper to specified level.
+ void set_wiper (int index, int data, bool eeprom = false);
+ private:
+ ucoo::mex::Node &node_;
+ ucoo::mex::mtype_t mtype_;
+};
+
+#endif // potentiometer_host_hh
diff --git a/digital/io-hub/src/common-cc/potentiometer.cc b/digital/io-hub/src/common-cc/potentiometer.stm32.cc
index a5a519bb..637e2511 100644
--- a/digital/io-hub/src/common-cc/potentiometer.cc
+++ b/digital/io-hub/src/common-cc/potentiometer.stm32.cc
@@ -21,7 +21,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// }}}
-#include "potentiometer.hh"
+#include "potentiometer.stm32.hh"
Potentiometer::Potentiometer (I2cQueue &queue, int a2a1a0)
: I2cQueue::Slave (queue, 0x50 | (a2a1a0 << 1), 0)
diff --git a/digital/io-hub/src/common-cc/potentiometer.hh b/digital/io-hub/src/common-cc/potentiometer.stm32.hh
index a7204af8..8683ae27 100644
--- a/digital/io-hub/src/common-cc/potentiometer.hh
+++ b/digital/io-hub/src/common-cc/potentiometer.stm32.hh
@@ -1,5 +1,5 @@
-#ifndef potentiometer_hh
-#define potentiometer_hh
+#ifndef potentiometer_stm32_hh
+#define potentiometer_stm32_hh
// io-hub - Modular Input/Output. {{{
//
// Copyright (C) 2013 Nicolas Schodet
@@ -39,4 +39,4 @@ class Potentiometer : public I2cQueue::Slave
void set_wiper (int index, int data, bool eeprom = false);
};
-#endif // potentiometer_hh
+#endif // potentiometer_stm32_hh