Hi,
I am gathering data from an external board.
The data is structured like so: every iteration inside a 'while' loop I get a matrix of NxM where N is the channel number (1,2,3.. etc) and M are always 60 data samples (in milivolts). This is a matrix of type 'double'.
Currently this matrix is fed into a queue using a while loop.
The queue is read by another while loop where I do a simple FFT and decompose the matrix into N 1xM vectors - each vector is displayed in a chart.
My goal was not to lose data packets and create some sort of an input buffer.
This does not work - the data is arriving slowly and the onboard FIFO fills up quickly - this means that the external board is not being probed quickly enough which is very strange, since I isolated the while loop responsible for this probing. The FFT is calculated in another loop.
I tried calculating the FFT in the same while loop with the data collector - that is without using a queue at all and using a single while loop - and this works fine display-wise but I sometimes lose data packets.
What am I doing wrong and how should I approach this?
Thanks