Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: MelInverter_sample
Revision 2:b1ef1c4d9c12, committed 2012-09-28
- Comitter:
- okini3939
- Date:
- Fri Sep 28 03:28:47 2012 +0000
- Parent:
- 1:5963d2a1c30f
- Commit message:
- fix baud
Changed in this revision
| MelInverter.cpp | Show annotated file Show diff for this revision Revisions of this file |
| MelInverter.h | Show annotated file Show diff for this revision Revisions of this file |
--- 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) {
--- a/MelInverter.h Tue Sep 18 14:30:22 2012 +0000
+++ b/MelInverter.h Fri Sep 28 03:28:47 2012 +0000
@@ -17,6 +17,7 @@
#define MELDELAY 0
#define MELTIMEOUT 100
+#define MELBAUD 19200
enum MELCMD {
MELCMD_MODE_R = 0x7b,
@@ -59,7 +60,7 @@
/**
* Default constructor
*/
- MelInverter (PinName p_tx, PinName p_rx);
+ MelInverter (PinName p_tx, PinName p_rx, int baud = MELBAUD);
int send (int iid, MELCMD, char *data);
@@ -78,7 +79,7 @@
MELMODE _mel_mode;
RingBuffer _buf_data;
Timeout _res;
- int _iid;
+ volatile int _iid;
};