Interface layer for the mbed boards ready for the JAVA library
Dependencies: C12832 LM75B MMA7660 mbed FXOS8700Q
Fork of frdm_serial by
Diff: comms.cpp
- 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