Emulate 「Serial」of Arduino library for mbed. We can easily port arduino's project into mbed by this library.

Dependents:   MPU6050 MPU9150 MPU6050 MPU6050 ... more

ArduinoSerial.h

Committer:
syundo0730
Date:
2016-01-31
Revision:
0:35db472ea9e6
Child:
1:e5a32ea3587b

File content as of revision 0:35db472ea9e6:

#ifndef _ARDUINO_SERIAL_H_
#define _ARDUINO_SERIAL_H_

#include "mbed.h"

enum Format { BIN, OCT, DEC, HEX };

class ArduinoSerial
{
public:
    ArduinoSerial() : serial(USBTX, USBRX) {}
    ArduinoSerial(PinName tx, PinName rx) : serial(tx, rx) {}

private:
    Serial serial;

public:
    template <typename T>
    void inline print(T x, Format fmt = BIN) {
        if(fmt == OCT) {
            serial.printf("%o", x);
        } else if (fmt == DEC) {
            serial.printf("%d", x);
        } else if (fmt == HEX) {
            serial.printf("%x", x);
        } else {
            serial.printf("We aren't supporting this format: %d", x);
        }
    }

    void inline print(const char* x) {
        serial.printf("%s", x);
    }

    template <typename T>
    void inline println(T x, Format fmt = BIN) {
        ArduinoSerial::print(x, fmt);
        serial.printf("\r\n");
    }
};

#endif /* _ARDUINO_SERIAL_H_ */