summaryrefslogtreecommitdiff
path: root/2005/i/robert/src/es/es.cc
diff options
context:
space:
mode:
authorhaller2005-04-27 21:42:37 +0000
committerhaller2005-04-27 21:42:37 +0000
commit9b4d2709fc7ebd2285e5f5d0cb98d72e8d6e2d03 (patch)
tree3d2e1d07d1ee939d39be6e8794742c597141df9b /2005/i/robert/src/es/es.cc
parentf0ccf37dce1373d0e3ca70a68772de98ed67d995 (diff)
Modification de deux trois choses
Y'a encore du boulot
Diffstat (limited to '2005/i/robert/src/es/es.cc')
-rw-r--r--2005/i/robert/src/es/es.cc29
1 files changed, 21 insertions, 8 deletions
diff --git a/2005/i/robert/src/es/es.cc b/2005/i/robert/src/es/es.cc
index b4aab7e..41baa51 100644
--- a/2005/i/robert/src/es/es.cc
+++ b/2005/i/robert/src/es/es.cc
@@ -34,6 +34,7 @@ Es::Es (const Config & config)
void Es::init(void)
{
+ // XXX Bon ca serait cool que l'AVR renvoie toute ses info au reset
// On reset l'AVR
proto_.send('z'); // XXX z = reset AVR
// on récup les données de couleur_ et de jackOut(mais comment??)
@@ -42,25 +43,21 @@ void Es::init(void)
bool Es::stateJack(void)
{
- proto_.sync();
- return jackOut_; // XXX Ou autre methode
+ return jackOut_;
}
bool Es::capteursContact(void)
{
- proto_.sync();
return stateCapteurs_;
}
-levelAsc Es::stateAsc(void) // XXX Probleme dans le nom
+levelAsc Es::stateAsc(void) // XXX Au secours!!
{
- proto_sync();
return stateAsc_;
}
void Es::moveAsc(levelAsc niveau)
{
- proto.sync();
if(niveau == HAUT)
proto_.send('a',"b",2);
else if(niveau == MILIEU)
@@ -72,12 +69,28 @@ void Es::moveAsc(levelAsc niveau)
void Es::ventouses(void)
{
- proto_.sync();
proto_.send('v');
}
void receive(char command, const Proto::Frame & frame)
{
- // XXX Voir comment on fait
+ switch(command)
+ {
+ case 'J': //position jack
+ if(frame.args[0])
+ jackOut_ = true;
+ else
+ jackOut = false;
+ break;
+ case 'C': //couleur selectionné
+ if(frame.args[0])
+ couleur_ = true;
+ else
+ couleur_ = false;
+ break;
+ case 'F': //J'ai fini (on suppose qu'il n'y a que l'asc)
+ proto.send('F'); // XXX On met un argument??
+ ascIdle_ = true;
+ }
}