Refactoring and other updates

Dependencies:   BLE_API mbed nRF51822

Fork of nRF51822_SimpleChat by Cristi Stoican

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?

UserRevisionLine numberNew 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