
Refactoring and other updates
Dependencies: BLE_API mbed nRF51822
Fork of nRF51822_SimpleChat by
BTDevice.hpp@7:806b08205b25, 2017-05-10 (annotated)
- Committer:
- carbune92
- Date:
- Wed May 10 07:15:19 2017 +0000
- Revision:
- 7:806b08205b25
- Parent:
- 5:fca87573ed92
fixed minor issues
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
carbune92 | 3:b6e4e5529a52 | 1 | #ifndef _BTdevice_ |
carbune92 | 3:b6e4e5529a52 | 2 | #define _BTdevice_ |
carbune92 | 3:b6e4e5529a52 | 3 | |
carbune92 | 3:b6e4e5529a52 | 4 | #include <Gap.h> |
carbune92 | 3:b6e4e5529a52 | 5 | #include "ble/BLE.h" |
carbune92 | 3:b6e4e5529a52 | 6 | #include "Controller.hpp" |
carbune92 | 3:b6e4e5529a52 | 7 | #include "ControllerParams.hpp" |
carbune92 | 3:b6e4e5529a52 | 8 | #include "ControllerFactory.hpp" |
carbune92 | 3:b6e4e5529a52 | 9 | #include "CmdEnums.hpp" |
carbune92 | 3:b6e4e5529a52 | 10 | #include "mbed.h" |
carbune92 | 3:b6e4e5529a52 | 11 | |
carbune92 | 3:b6e4e5529a52 | 12 | #define TXRX_BUF_LEN 20 |
carbune92 | 3:b6e4e5529a52 | 13 | |
carbune92 | 3:b6e4e5529a52 | 14 | static const uint8_t uart_base_uuid[] = {0x71, 0x3D, 0, 0, 0x50, 0x3E, 0x4C, 0x75, 0xBA, 0x94, 0x31, 0x48, 0xF1, 0x8D, 0x94, 0x1E}; |
carbune92 | 3:b6e4e5529a52 | 15 | static const uint8_t uart_tx_uuid[] = {0x71, 0x3D, 0, 3, 0x50, 0x3E, 0x4C, 0x75, 0xBA, 0x94, 0x31, 0x48, 0xF1, 0x8D, 0x94, 0x1E}; |
carbune92 | 3:b6e4e5529a52 | 16 | static const uint8_t uart_rx_uuid[] = {0x71, 0x3D, 0, 2, 0x50, 0x3E, 0x4C, 0x75, 0xBA, 0x94, 0x31, 0x48, 0xF1, 0x8D, 0x94, 0x1E}; |
carbune92 | 3:b6e4e5529a52 | 17 | static const uint8_t uart_base_uuid_rev[] = {0x1E, 0x94, 0x8D, 0xF1, 0x48, 0x31, 0x94, 0xBA, 0x75, 0x4C, 0x3E, 0x50, 0, 0, 0x3D, 0x71}; |
carbune92 | 3:b6e4e5529a52 | 18 | |
carbune92 | 3:b6e4e5529a52 | 19 | class BTDevice { |
carbune92 | 3:b6e4e5529a52 | 20 | |
carbune92 | 3:b6e4e5529a52 | 21 | public: |
carbune92 | 3:b6e4e5529a52 | 22 | BTDevice(); |
carbune92 | 3:b6e4e5529a52 | 23 | void init(); |
carbune92 | 3:b6e4e5529a52 | 24 | bool isInit(); |
carbune92 | 3:b6e4e5529a52 | 25 | void waitForEvent(); |
carbune92 | 3:b6e4e5529a52 | 26 | void getPayload(uint8_t *); |
carbune92 | 3:b6e4e5529a52 | 27 | void sentMsg(uint8_t *); |
carbune92 | 3:b6e4e5529a52 | 28 | |
carbune92 | 3:b6e4e5529a52 | 29 | bool ctrlExists(); |
carbune92 | 3:b6e4e5529a52 | 30 | Controller* getCtrl(); |
carbune92 | 3:b6e4e5529a52 | 31 | void attachController(Controller *c); |
carbune92 | 3:b6e4e5529a52 | 32 | void setCtrlRef(float); |
carbune92 | 3:b6e4e5529a52 | 33 | void setCtrlParams(ControllerParams &cp); |
carbune92 | 3:b6e4e5529a52 | 34 | void updateOut(float); |
carbune92 | 3:b6e4e5529a52 | 35 | |
carbune92 | 3:b6e4e5529a52 | 36 | //void interpretCmd(uint8_t cmd[TXRX_BUF_LEN]); |
carbune92 | 3:b6e4e5529a52 | 37 | ~BTDevice(); |
carbune92 | 3:b6e4e5529a52 | 38 | |
carbune92 | 3:b6e4e5529a52 | 39 | |
carbune92 | 3:b6e4e5529a52 | 40 | //friend void getTokens(uint8_t cmd[TXRX_BUF_LEN], BTDevice&, SysObj&, SysObjTypes&, Actions&, uint8_t actionParams[TXRX_BUF_LEN]); |
carbune92 | 3:b6e4e5529a52 | 41 | |
carbune92 | 3:b6e4e5529a52 | 42 | |
carbune92 | 3:b6e4e5529a52 | 43 | private: |
carbune92 | 3:b6e4e5529a52 | 44 | GattCharacteristic txCharacteristic; |
carbune92 | 3:b6e4e5529a52 | 45 | GattCharacteristic rxCharacteristic; |
carbune92 | 3:b6e4e5529a52 | 46 | GattCharacteristic* uartChars[2]; |
carbune92 | 3:b6e4e5529a52 | 47 | GattService uartService; |
carbune92 | 3:b6e4e5529a52 | 48 | Serial pc; |
carbune92 | 3:b6e4e5529a52 | 49 | |
carbune92 | 3:b6e4e5529a52 | 50 | BLE ble; |
carbune92 | 3:b6e4e5529a52 | 51 | uint8_t txPayload[TXRX_BUF_LEN]; |
carbune92 | 3:b6e4e5529a52 | 52 | uint8_t rxPayload[TXRX_BUF_LEN]; |
carbune92 | 3:b6e4e5529a52 | 53 | uint8_t rx_buf[TXRX_BUF_LEN]; |
carbune92 | 3:b6e4e5529a52 | 54 | uint8_t rx_len; |
carbune92 | 3:b6e4e5529a52 | 55 | |
carbune92 | 3:b6e4e5529a52 | 56 | Controller* ctrl; |
carbune92 | 3:b6e4e5529a52 | 57 | float out; |
carbune92 | 3:b6e4e5529a52 | 58 | |
carbune92 | 3:b6e4e5529a52 | 59 | void initCallback(BLE::InitializationCompleteCallbackContext *); |
carbune92 | 3:b6e4e5529a52 | 60 | // void connectionCallback(const BLE::ConnectionCompleteCallbackContext *params) {} //TODO if needed |
carbune92 | 5:fca87573ed92 | 61 | void disconnectionCallback(const Gap::DisconnectionCallbackParams_t *); //TODO if needed |
carbune92 | 3:b6e4e5529a52 | 62 | void dataWriteCallback(const GattWriteCallbackParams *); |
carbune92 | 3:b6e4e5529a52 | 63 | void uartCallback(void); |
carbune92 | 3:b6e4e5529a52 | 64 | |
carbune92 | 3:b6e4e5529a52 | 65 | }; |
carbune92 | 3:b6e4e5529a52 | 66 | |
carbune92 | 3:b6e4e5529a52 | 67 | #endif |