amiro-os / include / amiro / bluetooth / bluetooth-iwrap.hpp @ e0c5d17a
History | View | Annotate | Download (959 Bytes)
| 1 | 58fe0e0b | Thomas Schöpping | #ifndef _BLUETOOTH_IWRAP_H_
|
|---|---|---|---|
| 2 | #define _BLUETOOTH_IWRAP_H_
|
||
| 3 | |||
| 4 | #include <amiro/bluetooth/bluetooth-transport.hpp> |
||
| 5 | #include <amiro/bluetooth/bluetooth-profile.hpp> |
||
| 6 | |||
| 7 | #if !CH_USE_QUEUES || !CH_USE_EVENTS
|
||
| 8 | #error "Bluetooth Serial Port Profile requires CH_USE_QUEUES, CH_USE_EVENTS" |
||
| 9 | #endif
|
||
| 10 | |||
| 11 | #define BLUETOOTH_IWRAP_MAILBOX_SIZE 5 |
||
| 12 | |||
| 13 | #define HOST_IWRAP_PLAIN_LINKID 0xFF |
||
| 14 | |||
| 15 | namespace amiro {
|
||
| 16 | |||
| 17 | class BluetoothIwrap : public chibios_rt::BaseStaticThread<128> { |
||
| 18 | public:
|
||
| 19 | BluetoothIwrap(UARTDriver* uart); |
||
| 20 | |||
| 21 | void bluetoothIwrapSendCommand(const char* cmd); |
||
| 22 | msg_t iwrapTransmit(uint8_t linkid, const uint8_t* txdata, size_t length);
|
||
| 23 | |||
| 24 | BluetoothTransport transport; |
||
| 25 | |||
| 26 | BluetoothProfile profiles[8];
|
||
| 27 | |||
| 28 | protected:
|
||
| 29 | virtual msg_t main(void); |
||
| 30 | |||
| 31 | private:
|
||
| 32 | msg_t iwrapReceive(); |
||
| 33 | |||
| 34 | chibios_rt::Mailbox mailbox; |
||
| 35 | msg_t mailboxBuffer[BLUETOOTH_IWRAP_MAILBOX_SIZE]; |
||
| 36 | |||
| 37 | char connAddr[17]; |
||
| 38 | int iwrapblock;
|
||
| 39 | }; |
||
| 40 | } |
||
| 41 | |||
| 42 | #endif /* _BLUETOOTH_IWRAP_H_ */ |