Bluetooth module HC-05 Lib. suppotrs printf(); support IrqAttach, with using RTOS. include feature as background rxIrq attach. the lib store rx buf of serial, therefore can have over 16 bytes string. if you want to get string, you call read() or getLine(). read() is ALL string, getLine() is under CR('\r').

Dependencies:   RingBuffer

Dependents:   semaforinoprova

Revision:
6:2eefa9ea0bf1
Parent:
5:a05c7662c51f
diff -r a05c7662c51f -r 2eefa9ea0bf1 HC05.h
--- a/HC05.h	Mon Nov 02 07:22:50 2015 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/**     Bluetooth module HC05 control class with using RTOS.
- *
- */
-/**
- * @code
-#include "mbed.h"
-#include "HC05.h"
-
-DigitalOut led[]= {LED1, LED2, LED3, LED4};
-HC05 hc05(p9, p10);
-
-void rcvIrq(char id)
-{
-    led[0]= !led[0];
-    if('2'<=id && id<='4') {   // LED2 ~ 4
-        id -= '1';
-        led[id]= !led[id];
-    }
-    return;
-}
-
-int main()
-{
-    hc05.init();
-    hc05.setAttachRx(rcvIrq);
-    while(true) {
-        hc05.sendLine(hc05.read());
-//        hc05.sendLine(hc05.getLine());
-        wait(10);
-    }
-}
-// EOF
- * @endcode
-*/
-
-#pragma once
-
-#include "mbed.h"
-#include <string>
-#include "RingBuffer.h"
-
-/**     Bluetooth module HC05 control class.
- *
- */
-class HC05 : public Stream
-{
-public:
-    /** Create Serial port to HC05.
-     *  @param TX, RX;              Serial port.
-     */
-    HC05(PinName tx, PinName rx);
-
-    /** init
-     *  @param baud-rate;           Baud rate (bps). 9600, 38,400, 115,200, 230,400
-     *  @param bit, parity, stop;   Default: 1Stopbit, NoneParity, 1StopBit.
-     *                              -- parity select; N(None), O(Odd), E(Even).
-     *  @param CRLN;                true -> CR&LN (\r\n), false -> CR only (\r).
-     */
-    void init(int baudrate= 115200, int bit=8, int parity=SerialBase::None, int stop=1, bool CRLN=true);
-
-
-    void setAttachRx(void (*fptr)(char));
-    bool readable();
-    string read();
-    string getLine();
-
-    void sendLine(string str, bool addCR=true);
-
-private:
-    RawSerial hc05;
-    string CR;
-    RingBuffer ringBuf;
-
-    // RxIrq function pointer as out of class.
-    void (*fptrRxIrq)(char);
-
-    // copy buf of rx to private string.
-    void _read();       // copy buf of rx to private string.
-    void _readIrq();    // copy buf of rx to private string.
-
-    // virtual func for printf() in Stream-class.
-    virtual int _putc(int val);
-    virtual int _getc();
-
-};
-
-// EOF
\ No newline at end of file