summaryrefslogtreecommitdiff
path: root/i
diff options
context:
space:
mode:
authordufourj2006-05-25 16:15:34 +0000
committerdufourj2006-05-25 16:15:34 +0000
commit0a17978cd4e2ef558e2112a4b9dded93ec6f2d3a (patch)
treec7ba299eaab85fe0083b660ec164ab261e70aa5d /i
parent980e5558dc43b992116ab6ca90309ddf62579e5c (diff)
Es :
- correction potentiel d'une fuite mémoire pour l'envoie de message au LCD.
Diffstat (limited to 'i')
-rw-r--r--i/marvin/src/es/es.cc10
-rw-r--r--i/marvin/src/es/es.hh2
2 files changed, 7 insertions, 5 deletions
diff --git a/i/marvin/src/es/es.cc b/i/marvin/src/es/es.cc
index 83fd1dc..e8b5f72 100644
--- a/i/marvin/src/es/es.cc
+++ b/i/marvin/src/es/es.cc
@@ -116,6 +116,8 @@ Es::reset (void)
setRVBSniffFrontStat (rvbSniffFrontStat_);
lcdGetKey (lcdKeyStat_);
+ lcdPrint ("I'm ready Tb!");
+
enableAllSensors (true);
log_ ("Es", Log::debug) << "Reset Es done.";
}
@@ -246,15 +248,15 @@ Es::setSharpThreshold (int sharp_num, int threshold_high,
proto_.send ('o', "bww", sharp_num, threshold_high, threshold_low);
}
-/// Print something on the LCD (max 32 char)
+/// Print something on the LCD (max 16 char)
void
Es::lcdPrint (const std::string &message)
{
// XXX Yerk !
- std::memset (lcd_mess_char_, '\0', 32);
+ std::memset (lcd_mess_char_, '\0', 17);
int size = message.size ();
- std::memcpy (lcd_mess_char_, message.data (), size > 32 ? 32 : size);
- proto_.send ('l', lcd_mess_char_, 32);
+ std::memcpy (lcd_mess_char_, message.data (), size > 16 ? 16 : size);
+ proto_.send ('l', lcd_mess_char_, 16);
}
/// Get the current pressed keys of the LCD
diff --git a/i/marvin/src/es/es.hh b/i/marvin/src/es/es.hh
index 8abcca4..5eb8d89 100644
--- a/i/marvin/src/es/es.hh
+++ b/i/marvin/src/es/es.hh
@@ -50,7 +50,7 @@ class Es : public Proto::Receiver
/// Système de log
Log log_;
/// For LCD communication
- char lcd_mess_char_[16];
+ char lcd_mess_char_[17];
/// Key pressed by the LCD Keyboard
int lcdKeyPressed_, lcdKeyStat_;
/// Frontal choc !