Thank you very much for your reply and it certainly helps!
We are of course designing our own board which is why the dimensions are important.
I am still getting around Bluetooth 5.0 and Java (I am more used to C). I found out that BLE 5.0 is capable of sending a max. of 244 bytes in a packet. I had been pondering on a pseudocode for a fast transmission of a 500 Hz biosignal. Suppose we receive the data from an ADC in INT or UNSIGNED INT format. In that case, I want to send 200 bytes (containing 100 sample values). These 100 values are sampled at 1 ms. These 100 samples (which would take roughly 0.1 s to record) would be placed in a TX buffer and would be sent to the Master device. I would be grateful if you could check my (rough and simple) pseudocodes below to see if my concepts are right.
TX (Peripheral Side)
Global Variable Buffer;
BLE initialization // (incl. Peripheral setting, advertising)
Establish connection with Master
Buffer = Samples of ADC values using Waveform Class @ 1 kHz
Transmit Buffer to Master // transmitting 200 bytes (100 samples) in 0.1 sec
RX (Master Side)
Global Var flag; // flag for receiving new values in buffer
Global Var Samples_ADC; //contains 100 received ADC values
Global Var count = 0; // counter for Samples_ADC
Initialize Timer Interrupt
BLE initialization // (incl. Master setting, Receive advertisements)
Establish connection with Master // (Including min. and max. connection interval setting)
Buffer = Receive Values
Samples_ADC = Parsed Buffer values // Contains transmitted values and parse
Flag = 0;
Timer Interrupt en = 1;
while(Flag == 0); // wait until Flag is 1
Timer Interrupt ISR (called after 1 ms)
if (count == size(Samples_ADC)) --> count = 0, Flag = 1; //reinitialize count and flag
Print(buffer(count)); // prints each value in buffer after 1 ms
I have written down this rough C based pseudocode off the top of my head. I request you to kindly critique on it and comment if I have to worry about timing issues i.e data back log or loss etc.
Please understand my lack of knowledge of BLE. I would be grateful for any replies.
© Espruino, powered by microcosm.
Report a problem