From 3aaf97d8db61f75262afe18a65db6b672872c827 Mon Sep 17 00:00:00 2001 From: AJ Keller Date: Tue, 12 Sep 2017 16:58:10 -0400 Subject: [PATCH] FIX: BLE seems to be working --- OpenBCI_32bit_Library.cpp | 17 +++++++---------- OpenBCI_32bit_Library.h | 1 - OpenBCI_32bit_Library_Definitions.h | 2 +- examples/BoardWithBLE/BoardWithBLE.ino | 2 +- 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/OpenBCI_32bit_Library.cpp b/OpenBCI_32bit_Library.cpp index e0aa665..95eb49e 100644 --- a/OpenBCI_32bit_Library.cpp +++ b/OpenBCI_32bit_Library.cpp @@ -1262,12 +1262,9 @@ void OpenBCI_32bit_Library::sendChannelData(PACKET_TYPE packetType) { // Send over bluetooth if (curBoardMode == BOARD_MODE_BLE) { if(sampleCounter % 2 != 0) { //CHECK SAMPLE ODD-EVEN AND SEND THE APPROPRIATE ADS DATA - if( (bufferBLE + ringBufBLEHead)->flushing) { - Serial1.println("head still flushing"); - } else { + if(!(bufferBLE + ringBufBLEHead)->flushing) { for(int i = 0; i < 6; i++){ - Serial1.printf("\n<- h: %d i: %d c->bL: %d\n", ringBufBLEHead, i, (bufferBLE + ringBufBLEHead)->bytesLoaded); - + // Serial1.printf("\n<- h: %d t: %d i: %d c->bL: %d\n", ringBufBLEHead, ringBufBLETail, i, (bufferBLE + ringBufBLEHead)->bytesLoaded); if ((bufferBLE + ringBufBLEHead)->bytesLoaded == 0) { (bufferBLE + ringBufBLEHead)->sampleNumber = sampleCounterBLE; } @@ -1284,9 +1281,6 @@ void OpenBCI_32bit_Library::sendChannelData(PACKET_TYPE packetType) { } } } - if ((bufferBLE + ringBufBLETail)->ready && (bufferBLE + ringBufBLETail)->bytesFlushed == 0) { - (bufferBLE + ringBufBLETail)->flushing = true; - } sendChannelDataSerialBLE(packetType); } else { if (iSerial0.tx || iSerial1.tx) sendChannelDataSerial(packetType); @@ -1305,10 +1299,13 @@ void OpenBCI_32bit_Library::sendChannelData(PACKET_TYPE packetType) { * Adds stop byte see `OpenBCI_32bit_Library.h` enum PACKET_TYPE */ void OpenBCI_32bit_Library::sendChannelDataSerialBLE(PACKET_TYPE packetType) { - static int delayPeriod = 900; + static int delayPeriod = 800; unsigned long startTime = micros(); + if ((bufferBLE + ringBufBLETail)->ready && (bufferBLE + ringBufBLETail)->bytesFlushed == 0) { + (bufferBLE + ringBufBLETail)->flushing = true; + } if ((bufferBLE + ringBufBLETail)->flushing) { - Serial1.printf("\n-> t: %d c->bF: %d\n", ringBufBLETail, curBLEPacketFlusing->bytesFlushed); + // Serial1.printf("\n-> t: %d c->bF: %d\n", ringBufBLETail, (bufferBLE + ringBufBLETail)->bytesFlushed); for (int i = 0; i < 3; i++) { switch ((bufferBLE + ringBufBLETail)->bytesFlushed) { case 0: diff --git a/OpenBCI_32bit_Library.h b/OpenBCI_32bit_Library.h index 1d813a3..deff756 100644 --- a/OpenBCI_32bit_Library.h +++ b/OpenBCI_32bit_Library.h @@ -267,7 +267,6 @@ public: // ENUMS ACCEL_MODE curAccelMode; - BLE *curBLEPacketFlusing; BOARD_MODE curBoardMode; DEBUG_MODE curDebugMode; PACKET_TYPE curPacketType; diff --git a/OpenBCI_32bit_Library_Definitions.h b/OpenBCI_32bit_Library_Definitions.h index 15b0229..65b66ff 100644 --- a/OpenBCI_32bit_Library_Definitions.h +++ b/OpenBCI_32bit_Library_Definitions.h @@ -389,6 +389,6 @@ #define BLE_BYTES_PER_SAMPLE 6 #define BLE_SAMPLES_PER_PACKET 3 #define BLE_TOTAL_DATA_BYTES 18 -#define BLE_RING_BUFFER_SIZE 3 +#define BLE_RING_BUFFER_SIZE 50 #endif diff --git a/examples/BoardWithBLE/BoardWithBLE.ino b/examples/BoardWithBLE/BoardWithBLE.ino index d6fd88f..31b8b2a 100644 --- a/examples/BoardWithBLE/BoardWithBLE.ino +++ b/examples/BoardWithBLE/BoardWithBLE.ino @@ -4,7 +4,7 @@ void setup() { // Bring up the OpenBCI Board - board.beginDebug(); + board.begin(); // Put it in BLE mode board.setBoardMode(board.BOARD_MODE_BLE); }