summaryrefslogtreecommitdiff
path: root/2003/i/buzz/src/busp/busp_actionneurs.cc
diff options
context:
space:
mode:
Diffstat (limited to '2003/i/buzz/src/busp/busp_actionneurs.cc')
-rw-r--r--2003/i/buzz/src/busp/busp_actionneurs.cc39
1 files changed, 39 insertions, 0 deletions
diff --git a/2003/i/buzz/src/busp/busp_actionneurs.cc b/2003/i/buzz/src/busp/busp_actionneurs.cc
new file mode 100644
index 0000000..063da02
--- /dev/null
+++ b/2003/i/buzz/src/busp/busp_actionneurs.cc
@@ -0,0 +1,39 @@
+// busp_actionneurs.cc
+// buzz - Programme du robot Efrei Robotique I1-I2 2003
+// Copyright (C) 2003 Nicolas Schodet
+//
+#include "busp_actionneurs.h"
+#include "busp.h"
+
+#include <iostream>
+
+// Constructeur.
+BuspActionneurs::BuspActionneurs ()
+{
+ m_actionneurs = 0;
+}
+
+// Destructeur.
+BuspActionneurs::~BuspActionneurs ()
+{
+}
+
+// Change un actionneur.
+void
+BuspActionneurs::set (int n, int val)
+{
+ m_actionneurs = m_actionneurs & ~(1 << n) | (val << n);
+ Busp::getInstance ().cli ();
+ Busp::getInstance ().write (m_address, m_actionneurs);
+ Busp::getInstance ().sti ();
+}
+
+// Change tous les actionneurs.
+void
+BuspActionneurs::setAll (int set, int reset)
+{
+ m_actionneurs = (m_actionneurs & ~reset) | set;
+ Busp::getInstance ().cli ();
+ Busp::getInstance ().write (m_address, m_actionneurs);
+ Busp::getInstance ().sti ();
+}