Hexiwear library for communicating with the on-board KW40Z BLE device. KW40Z handles also the touch buttons.
Dependents: Hexi_Buttons_Example Hexi_Click_Relay-v2_Example Hexi_Click_Relay-v3_Example Hexi_Catch-the-dot_Game ... more
Diff: Hexi_KW40Z.h
- Revision:
- 9:8058541a8e2d
- Parent:
- 8:2b9b24f3154d
- Child:
- 11:a9a838035b87
--- a/Hexi_KW40Z.h Sun Sep 25 05:50:22 2016 +0000 +++ b/Hexi_KW40Z.h Mon Sep 26 01:37:59 2016 +0000 @@ -39,11 +39,13 @@ #include "mbed.h" #include "rtos.h" -//#define LIB_DEBUG 1 +#define LIB_DEBUG 1 #define gHostInterface_startByte1 0x55 #define gHostInterface_startByte2 0xAA #define gHostInterface_trailerByte 0x45 +#define gHostInterface_rxConfirmMask 0x01 +#define gHostInterface_txPacketMask 0x10 #define gHostInterface_dataSize 23 #define gHostInterface_headerSize 4 @@ -204,6 +206,7 @@ void SendCalories(uint16_t calories); void SendAlert(uint8_t *pData, uint8_t length); void SendSetApplicationMode(gui_current_app_t mode); + void SendGetVersion(void); void ToggleTsiGroup(void); void ToggleAdvertisementMode(void); @@ -216,9 +219,13 @@ uint32_t GetPassKey(void); private: - RawSerial device; +#if defined (LIB_DEBUG) + RawSerial pc; +#endif + + RawSerial device; + Thread rxThread; Thread mainThread; - Thread rxThread; hostInterface_packet_t hostInterface_rxPacket; hostInterface_packet_t hostInterface_txPacket; @@ -249,19 +256,18 @@ void rxTask(void); void ProcessBuffer(); - void ProcessReceivedPacket(hostInterface_packet_t * rxPacket); + void ProcessPacket(hostInterface_packet_t * packet); void SendPacket(hostInterface_packet_t * txPacket, bool confirmRequested); + void SendInternal(hostInterface_packet_t * txPacket); void SearchStartByte(); void SendPacketOK(void); void SendGetActiveTsiGroup(void); void SendGetAdvertisementMode(void); void SendGetLinkState(void); - void SendGetVersion(void); -#if defined (LIB_DEBUG) - void DebugPrintRxPacket(); - void DebugPrintTxPacket(hostInterface_packet_t * txPacket); +#if defined (LIB_DEBUG) + void DebugPrintPacket(hostInterface_packet_t * packet); #endif };