Statistics
| Branch: | Tag: | Revision:

amiro-os / include / amiro / bluetooth / bluetooth-serial.hpp @ ba75ee1d

History | View | Annotate | Download (1.025 KB)

1 58fe0e0b Thomas Schöpping
#ifndef _BLUETOOTH_SERIAL_H_
2
#define _BLUETOOTH_SERIAL_H_
3
4
#include <amiro/bluetooth/bluetooth-connector.hpp>
5
6
#define BLUETOOTH_SERIAL_MAILBOX_SIZE 5
7
8
#define SERIAL_START_EVENT  1
9
#define SERIAL_STOP_EVENT   2
10
11
namespace amiro {
12
  class BluetoothSerial : public chibios_rt::BaseStaticThread<128> {
13
  public:
14
    BluetoothSerial(BLUETOOTH *bluetooth, uint8_t rxtx);
15
16
    void bluetoothSerialStart(uint8_t linkid);
17
    void bluetoothSerialStop();
18
    bool bluetoothSerialIsConnected();
19
20
    void bluetoothSerialListen(const char *addr);
21
    void bluetoothSerialConnect(const char *addr);
22
    void bluetoothSerialDisconnect(const char *addr);
23
24
    msg_t serialTransmit(const uint8_t* serialdata, size_t length);
25
26
  protected:
27
    virtual msg_t main(void);
28
29
  private:
30
    msg_t serialReceive();
31
32
    BluetoothConnector serialConn;
33
    uint8_t rx_tx;
34
35
    chibios_rt::Mailbox mailbox;
36
    msg_t mailboxBuffer[BLUETOOTH_SERIAL_MAILBOX_SIZE];
37
38
    BluetoothIwrap *iwrap;
39
    uint8_t linkId;
40
    uint8_t stopflag;
41
  };
42
}
43
#endif /* _BLUETOOTH_SERIAL_H_ */