http://mbed.org/users/okini3939/notebook/melinverter

Dependents:   MelInverter_sample

Revision:
2:b1ef1c4d9c12
Parent:
1:5963d2a1c30f
--- a/MelInverter.cpp	Tue Sep 18 14:30:22 2012 +0000
+++ b/MelInverter.cpp	Fri Sep 28 03:28:47 2012 +0000
@@ -16,8 +16,8 @@
 #include "mbed.h"
 #include "MelInverter.h"
 
-MelInverter::MelInverter (PinName p_tx, PinName p_rx) : _mel(p_tx, p_rx), _buf_data(40) {
-    _mel.baud(19200);
+MelInverter::MelInverter (PinName p_tx, PinName p_rx, int baud) : _mel(p_tx, p_rx), _buf_data(40) {
+    _mel.baud(baud);
     _mel.format(8, Serial::Even, 2);
     _mel.attach(this, &MelInverter::isr_mel, Serial::RxIrq);
 }
@@ -153,6 +153,8 @@
     char buf[40];
     Timer timer;
 
+    _mel_ok = 0;
+    _mel_failure = 0;
     _mel.putc(INVCTRL_ENQ);
     sprintf(buf, "%02X%02X%01X", iid, cmd, MELDELAY);
     strncat(buf, data, 20);
@@ -172,7 +174,8 @@
         }
     }
     timer.stop();
-    return (_mel_ok == 1);
+    DBG("ok\r\n");
+    return _mel_ok == 1 ? 0 : -1;
 }
 
 int MelInverter::recv (int iid, char *buf, int len) {