Interface layer for the mbed boards ready for the JAVA library

Dependencies:   C12832 LM75B MMA7660 mbed FXOS8700Q

Fork of frdm_serial by Michael Berry

Revision:
4:39e949908fc5
Child:
5:d9f8c2f63323
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/comms.cpp	Tue Dec 01 15:00:12 2015 +0000
@@ -0,0 +1,53 @@
+
+#include "comms.h"
+
+DataSerial::DataSerial(PinName tx, PinName rx) : Serial(tx,rx,NULL) {}
+
+DataSerial::~DataSerial() {}
+
+void DataSerial::sendFloat(float &f) {
+    sendData(&f,sizeof(float));
+}
+
+void DataSerial::sendInt16(uint16_t &i) {
+    sendData(&i,sizeof(uint16_t));
+}
+
+void DataSerial::sendChar(char c) {
+    putc(1); putc(c);
+}
+
+float DataSerial::readFloat() {
+    float f;
+    readData(&f,sizeof(float));
+    return f;
+}
+
+uint16_t DataSerial::readInt16() {
+    uint16_t i;
+    readData(&i,sizeof(uint16_t));
+    return i;
+}
+
+char DataSerial::readChar() {
+    return getc();
+}
+
+void DataSerial::sendData(void* data, uint8_t len) {
+    putc(len);
+    for(char* c = (char*)data;len--;)
+        putc(*(c++));
+}
+
+void DataSerial::readData(void* data, uint8_t len) {
+    char* c = (char*)data;
+    while(len>0) {
+        *c = getc();
+        c++;
+        len--;
+    }
+}
+
+void DataSerial::sendSpecialCommand(char char1, char char2) {
+    putc(0); putc(char1); putc(char2);
+}
\ No newline at end of file