Using LIST to hold input - getting screwed

I'm trying to create a small section of code to illustrate the problem, but basically;

I'm receiving data over BLE - which works fine. Input blocks are 20 bytes each and coming in through the BLE Callback function, and I'm adding these to a LIST using AddLast. I can Serial print this data and it's all fine. There is a 'Start' block and an 'End' block so I know when it's all in.

The main Loop of code is processing these blocks using getValue(0) each time around the loop - processing then doing a removeFirst.

Their are 2 problems;
All of the input comes in very quickly - just over 150 entries of 20bytes added to the list. But when I do the getValue - the data is not what I put in?

The second issue is that after processing 4 or 5 entries from the list - it starts to process the 'End' block - which should have been put in LAST.... and continues to process this after every other entry.

Totally confused.

As I said I'll try to create some code to illustrate, but the whole sketch is quite big and may confuse things.

Yes, please. Until you have some code that shows the problem, all that can be offered are vague generalities.

It's all relative. If you can't make a minimal sketch illustrate your problem, consider posting the entire mess thing.

a7

Here's some cutdown code and the output.

Code:


#include <List.hpp>               // List Library https://github.com/nkaaf/Arduino-List
#include <BLEDevice.h>
#include <BLEServer.h>
#include <BLEUtils.h>
#include <BLE2902.h>

#define SERVICE_UUID           "6E400001-B5A3-F393-E0A9-E50E24DCCA9E" // UART service UUID
#define CHARACTERISTIC_UUID_RX "6E400002-B5A3-F393-E0A9-E50E24DCCA9E"
#define CHARACTERISTIC_UUID_TX "6E400003-B5A3-F393-E0A9-E50E24DCCA9E"
#define advertiseName  "VIBE1.0"

int midimage = 0;                         // Flag to use to indicate mid signature image receiving

List<std::string> Rcvdata; // Create a immutable list to hold the data

// Variables for BLE
BLEServer *pServer = NULL;
BLECharacteristic * pTxCharacteristic;
bool deviceConnected = false;
bool oldDeviceConnected = false;
uint8_t txValue = 0;

int mycounter = 0;                                  // Makes it easier to count how many lines have come in on monitor
int mycounter1 = 0;

// ---------------------
// Bluetooth event callbacks
// ---------------------
class MyServerCallbacks: public BLEServerCallbacks {
    void onConnect(BLEServer* pServer) {
      deviceConnected = true;
      Serial.println("Device Connected");
    };

    void onDisconnect(BLEServer* pServer) {
      deviceConnected = false;
      Serial.println("Device DISConnected");
      BLEDevice::startAdvertising();                
    }
};
//

//
class MyCallbacks: public BLECharacteristicCallbacks {      
    void onWrite(BLECharacteristic *pCharacteristic) {
        std::string rxValue = pCharacteristic->getValue();  
   
        Rcvdata.addLast(rxValue);                           // Add to End of List
        Serial.print("Received Value pushed to List: ");
        Serial.print(mycounter1);
        Serial.print(": ");
       
        //Print in Hex
        for (int i = 0; i < rxValue.length(); ++i) {        
            char tmp[4] = "";
            sprintf(tmp, "%02X ", rxValue[i]);
            Serial.print(tmp);
        }
        Serial.println();
        mycounter1 ++;
    }
};
//
//

//
// Setup Function
void setup() {
  Serial.begin(115200);
  
  // init BLE
  Serial.println("BLE init started");
  
  // Create the BLE Device
  BLEDevice::init(advertiseName);

  // Create the BLE Server
  pServer = BLEDevice::createServer();
  pServer->setCallbacks(new MyServerCallbacks());

  // Create the BLE Service
  BLEService *pService = pServer->createService(SERVICE_UUID);

  // Create a BLE Characteristic
 pTxCharacteristic = pService->createCharacteristic(
                    CHARACTERISTIC_UUID_TX,
                    BLECharacteristic::PROPERTY_WRITE_NR
                    );
                      
  pTxCharacteristic->addDescriptor(new BLE2902());

  BLECharacteristic * pRxCharacteristic = pService->createCharacteristic(
                       CHARACTERISTIC_UUID_RX,
                      BLECharacteristic::PROPERTY_WRITE_NR
                    );

  pRxCharacteristic->setCallbacks(new MyCallbacks());

  // Start the service
  pService->start();

  BLEAdvertising *pAdvertising = BLEDevice::getAdvertising();
    
  pAdvertising->addServiceUUID(SERVICE_UUID);
  pAdvertising->setScanResponse(true);
  pAdvertising->setMinPreferred(0x06);  // functions that help with iPhone connections issue
  pAdvertising->setMinPreferred(0x12);
  BLEDevice::startAdvertising();
  Serial.println("BLE init done");

  // Start advertising
  pServer->getAdvertising()->start();
  Serial.println("Waiting a client connection to notify...");
  Serial.println("Done setup"); 
}
// End of Setup
//


//
// Main Loop
void loop() {    
    // disconnecting
    if (!deviceConnected && oldDeviceConnected) {
        delay(500);                     // give the bluetooth stack the chance to get things ready
        pServer->startAdvertising();    // restart advertising
        oldDeviceConnected = deviceConnected;
    }

    // connecting
    if (deviceConnected && !oldDeviceConnected) {
        // do stuff here on connecting
        oldDeviceConnected = deviceConnected;
    }

    if (deviceConnected) {
        pTxCharacteristic->setValue(&txValue, 1);
        pTxCharacteristic->notify();
        txValue++;
        delay(10);                            // bluetooth stack will go into congestion, if too many packets are sent

        if (Rcvdata.isEmpty() == false) {
          processInput ();                    // Go Process the LIST
        }        
    }
   delay(1000);                         // bluetooth stack will go into congestion, if too many packets are sent
}
//
// End of Main Loop




//  **********Main Processing of the Input LIST received over BLE ***************
//
void processInput () {
   // Get the next element 
   std::string currentData = Rcvdata.getValue(0);            // Get first OFF LIST
     
   Serial.print("Data from List to Process: ");
   Serial.print(mycounter);
   Serial.print(": ");
    mycounter++;                                      // Makes it easier to count how many lines have come in

    // Print in Hex
    for (int i = 0; i < currentData.length(); ++i) {
       char tmp[4] = "";
       sprintf(tmp, "%02X ", currentData[i]);
       Serial.print(tmp);
    }   
    Serial.println(); 

  // SIGSTART Received - An Image is to be sent down - initialise some variables
    if (currentData.compare(0,8,"SIGSTART") == 0) {
      Serial.println("SIGSTART Received");    
      midimage = 1;                 // Set flag to say we are mid receiving an image
      Rcvdata.removeFirst();                         // Remove from list
      return;                           // Return and wait for another input
  }

  // SIGEND received - so finish off the image 
  if (currentData.compare(0,6,"SIGEND") == 0) {
    Serial.println("SIGEND Received");
    midimage = 0;                                  // Close off recieving any more image                   
    Rcvdata.removeFirst();                         // Remove from list
    return;                                        // Return and wait for another input
  }

  // None of the Above - so if we are inside a SIGSTART 

      // Process the Block of input - Removed for this example
      
  Rcvdata.removeFirst();                              // Remove from list 
  return;
}     
// End of Process Input
//

Output on Serial Monitor

(I've removed the data in and processed numbered 0 - 4, just preamble)

Line 5 says 'SIGSTART' . Line 160 received has 'SIGEND'

Line 161 received says 'VIND2'...you can then see that this data gets processed over and over from line 60 to process onwards every couple of lines.

BLE init started
BLE init done
Waiting a client connection to notify...
Done setup
Device Connected

Received Value pushed to List: 5: 53 49 47 53 54 41 52 54
Received Value pushed to List: 6: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 7: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 8: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 9: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 10: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 11: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 12: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 13: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 14: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 15: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 16: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 17: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 18: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 19: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 20: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 21: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 22: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 23: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 24: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 25: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 26: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 27: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 28: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 29: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 30: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 31: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 32: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 33: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 34: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 35: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 36: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 37: 11 11 1A A1 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 38: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 39: 11 11 11 11 11 11 11 11 11 11 1A A1 11 11 11 11 11 11 11 11
Received Value pushed to List: 40: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 41: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 A1
Received Value pushed to List: 42: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 43: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 44: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
Received Value pushed to List: 45: 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 AA AA AA AA
Received Value pushed to List: 46: AA AA AA AA AA AA AA AA AA AA AA AA 11 11 11 11 11 11 11 11
Received Value pushed to List: 47: 11 11 11 11 11 1A AA AA AA AA AA AA AA AA AA AA AA AA AA AA
Received Value pushed to List: 48: AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA
Received Value pushed to List: 49: AA AA A1 11 AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA
Received Value pushed to List: 50: AA AA AA AA AA AA AA AA AA AA AA AA AF FF FF FF FF FF FF FF
Received Value pushed to List: 51: FF FF FF FF FF FF FF FF FF AA AA AA AA AA AA AA AA FF FF FF
Received Value pushed to List: 52: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 53: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF AA
Received Value pushed to List: 54: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 55: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 56: FF FF FF FF FF FF FF AA FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 57: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 58: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 59: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 60: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 61: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 62: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 63: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 64: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 65: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 66: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 67: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Data from List to Process: 5: 14 00 00 00 14 00 00 00
Received Value pushed to List: 68: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 69: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 70: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 71: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 72: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 73: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 74: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 75: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 76: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 77: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 78: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 79: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 80: FF FF FF FF FF FF FA AA FF FF FF FF FF FF FF FF FF FF FF FF
Received Value pushed to List: 81: FF FF FF FF FF FF FF FF FF FF FF FF FF FA AA AA AA AA AA AA
Received Value pushed to List: 82: AA AA AA AA AA AA AF FF FF FF FF FF FF FF AA A5 FF FF FF AA
Received Value pushed to List: 83: AA AA AA AA AA AA AA FF FF FF FF FF FF FF FF FF FF FF AA A3
Received Value pushed to List: 84: AA A5 55 55 55 55 55 55 55 55 55 55 55 55 55 AA AA AA FA AA
Received Value pushed to List: 85: AA A5 55 55 FF FF AA AA AA AA AA AA AA AA AA AF FF FF FF FF
Received Value pushed to List: 86: FF FA AA AA AA AA AA AA AA 55 55 55 55 55 55 55 55 55 55 55
Received Value pushed to List: 87: 55 55 55 55 AA AA AA AA AA 55 55 55 FF FF AA 55 55 55 55 55
Received Value pushed to List: 88: 55 55 5A AF FF FF FF FA AA AA AA AA AA 55 55 55 55 55 55 55
Received Value pushed to List: 89: 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
Received Value pushed to List: 90: AA AF A5 55 55 55 55 55 55 55 55 AF FF FF FA A3 AA A5 55 55
Received Value pushed to List: 91: 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
Received Value pushed to List: 92: 55 55 55 55 55 55 55 AA 55 5A 55 55 55 55 55 55 55 55 55 AF
Received Value pushed to List: 93: AA A3 A5 5A 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
Received Value pushed to List: 94: 55 55 55 55 55 55 55 55 55 55 55 55 55 55 AA AA 55 55 55 55
Received Value pushed to List: 95: 55 55 5A A5 55 55 55 AA AA AA 55 55 55 55 55 55 55 55 55 55
Received Value pushed to List: 96: 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
Received Value pushed to List: 97: 55 55 55 AA 55 55 55 55 55 55 5A A5 55 55 55 AA 55 55 55 55
Received Value pushed to List: 98: 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
Received Value pushed to List: 99: 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
Received Value pushed to List: 100: 55 55 55 A5 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
Received Value pushed to List: 101: 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
Received Value pushed to List: 102: 55 55 55 55 55 55 55 55 55 AA AA AA AA AA 55 55 55 55 55 55
Received Value pushed to List: 103: 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
Received Value pushed to List: 104: 55 55 55 55 55 55 55 55 AA A5 55 55 55 55 5A AA AA AA AA AA
Received Value pushed to List: 105: AA AA AA A5 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
Received Value pushed to List: 106: 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 AA A5 55 55
Received Value pushed to List: 107: 55 AA AA AA AD DD DD DD DD DD DA A5 55 55 55 55 55 55 55 55
Received Value pushed to List: 108: 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
Received Value pushed to List: 109: AA AA AA 55 AA 55 55 5A AA AA AD DD DD DD DD DD DD DD DD A5
Received Value pushed to List: 110: 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
Received Value pushed to List: 111: 55 55 55 55 AA AA AA AA AA AA AA AA 55 55 55 AA AA DD DD DD
Received Value pushed to List: 112: DD DD DD DD DD DD DD A5 55 55 55 55 55 55 55 55 55 55 55 55
Received Value pushed to List: 113: 55 55 55 55 55 55 55 55 55 55 55 5A AA AA AA DD DD DD DD DA
Received Value pushed to List: 114: 55 55 5A AA AD DD DD DD DD DD DD DD DD DD DA A5 55 55 55 55
Received Value pushed to List: 115: 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 5A AA AA AA AA
Received Value pushed to List: 116: AA AA DD DD DD DD DD DD 55 55 AA AD DD DD DD DD DD DD DD DD
Received Value pushed to List: 117: DD DD AA A5 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
Received Value pushed to List: 118: 55 55 5A AA AA AA AA DD DD DD DD DD DD DD DD DD 55 5A AA DD
Received Value pushed to List: 119: DD DD DD DD DD DD DD DD DD DA AA 55 55 55 55 55 55 55 55 55
Received Value pushed to List: 120: 55 55 55 55 55 55 55 55 55 55 5A AD DD DD DD DD DD DD DD DD
Received Value pushed to List: 121: DD DD DD DD 5A AA AD DD DD DD DD DD DD DD DD DD DD AA A5 55
Received Value pushed to List: 122: 55 55 55 55 55 55 55 55 5A AA A5 55 55 55 55 55 55 55 AA DD
Received Value pushed to List: 123: DD DD DD DD DD DD DD DD DD DD DD DD AA AA DD DD DD DD DD DD
Received Value pushed to List: 124: DD DD DD DD DD DA AA AA 55 55 55 55 55 55 55 55 5A AA AA AA
Received Value pushed to List: 125: AA AA AA AA AA AA AA DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 126: AA DD DD DD DD DD DD DD DD DD DD DD DD DD AA AA AA AA AA AA
Received Value pushed to List: 127: AA AA AA AA AA AA AA AA AA AA AA AA AA AA AD DD DD DD DD DD
Received Value pushed to List: 128: DD DD DD DD DD DD DD DD AD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 129: DD DD DD DD AA AA AA AA AA AA AA AA DD DD DD DD DD DD DD DD
Received Value pushed to List: 130: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 131: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 132: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 133: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 134: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 135: DD DD DD DD DD DD DD DD DD DD DD DD AD DD DD DD DD DD DD DD
Received Value pushed to List: 136: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 137: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 138: AA DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 139: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 140: DD DD DD DD DD DD DD DD AA DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 141: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 142: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD AA DD DD DD
Received Value pushed to List: 143: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 144: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 145: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 146: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Data from List to Process: 6: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 0D 00 00 00 94 C1 CA 3F
Received Value pushed to List: 147: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 148: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 149: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 150: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 151: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 152: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 153: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 154: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD AD DD DD DD
Received Value pushed to List: 155: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 156: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 157: DA DD DD DD AA DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 158: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 159: DD DD DD DD DD DD DD DD DA AD DD DD
Received Value pushed to List: 160: 53 49 47 45 4E 44
Received Value pushed to List: 161: 56 49 4E 44 32
Data from List to Process: 7: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 8: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 9: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 10: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 11: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 12: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 13: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 14: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 15: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 16: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 17: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 18: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 19: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 20: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 21: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 22: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 23: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 24: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 25: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 26: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 27: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 28: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 29: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 30: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 31: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 32: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 33: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 34: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 35: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 36: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 37: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 38: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 39: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 40: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 41: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 42: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 43: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 44: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 45: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 46: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 47: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 48: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 49: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 50: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 51: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 52: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 53: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 54: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 55: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 56: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 57: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 58: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 59: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 60: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 61: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 62: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 63: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 64: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 65: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 66: 5C B2 CA 3F 64 C2 CA 3F 78 56 AD BA 24 00 00 00 34 12 BA AB
Data from List to Process: 67: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 68: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 69: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 70: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 71: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 72: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 73: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 74: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 75: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 76: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 77: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 78: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 79: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 80: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 81: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 82: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 83: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 84: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 85: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 86: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 87: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 88: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 89: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 90: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 91: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 92: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 93: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 94: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 95: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 96: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 97: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 98: 14 00 00 00 14 00 00 00 E4 00 00 00 00 00 00 00 78 56 AD BA
Data from List to Process: 99: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 100: 2C A6 CA 3F 14 00 00 00 14 00 00 00 14 00 00 00 E4 00 00 00
Data from List to Process: 101: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 102: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 103: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 104: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 105: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 106: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 107: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 108: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 109: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 110: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 111: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 112: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 113: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 114: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 115: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 116: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 117: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 118: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 119: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 120: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 121: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 122: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 123: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 124: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 125: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 126: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 127: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 128: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 129: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 130: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 131: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 132: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 133: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 134: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 135: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 136: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 137: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 138: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 139: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 140: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 141: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 142: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 143: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 144: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 145: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 146: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 147: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 148: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 149: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 150: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 151: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 152: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 153: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 154: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 155: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 156: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 157: 56 49 4E 44 32 00 00 DD DA AD DD DD 00 DD DD DD DD DD DD DD
Data from List to Process: 158: 8C 3C CA 3F 0C 00 00 00 DD DD DD DD DD DD DD DD DA AD DD DD
Data from List to Process: 159: 56 49 4E 44 32 00 00 00 E4 00 00 00
Data from List to Process: 160: 56 49 4E 44 32 00
Data from List to Process: 161: 56 49 4E 44 32

The code is posted - any ideas?

doing a lot of prints while trying to read data may be delaying the read process. once the serial output buffer gets filled, serial prints block

rather than print all the data, perhaps just print a single char for the start and end markers and a count every 20 value

I got nothing.

How much experimentation or testing did you do of just the List object?

If I attack this, it will start back at List examples code, and proceed to a very much more cut down sketch that aims to stress the list mechanism in the same way as your blue tooth code.

Also, I don't have on the top,of my head, but isn't there a way to detect if you have allowed buffers to overrun whilst being busy printing or whatever?

Also what mean these lines?

Received Value pushed to List: 150: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 151: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 152: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD
Received Value pushed to List: 153: DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD

a7

+1
Cut the code back to bare-bones and work up, only adding complexity once the previous tests work perfectly.

@PhilMonfie, you didn't tell us the processor type. But, I'm guessing ESP32 given the BLE code. So, on an ESP32, I'm curious about this:

Why use a non-standard List type when the STL containers are available to you?

#include <List>

std::list<std::string> Rcvdata;

The STL is thoroughly tested and debugged. And, as the name implies, is Standard.

i think the focus should be on verifying the transmitted data correctly without and post processing. send a sequential set of values and verify the correct number have been received when the end marker is received and/or that the end marker is received after the correct # of values

if there's a problem, verify the values of the data when received

with those tests in place, deal with capturing the data without error. perhaps just copy it into a char buffer.

and then deal with post processing without error

Thanks for all of your help guys, and suggestions. This was driving me nuts so I've re coded, processing the input bytes as they are received in the callback function, and moving them into a 2 dimensional structure - which is then displayed from the main loop. This works fine.

Not sure whether I was using LIST wrong or whether there is a problem - but I've ditched it for now.

Thank again for your interest and suggestions.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.