@pushtheworld : First of all, thanks for that work. Could you briefly comment the benefit and give some examples of which doors this breakthrough opens?
And it was my pleasure! Working on a sweet 3.0.0 version to make switching board types without having to change firmware. I.e. Pulse sensor, wifi, external triggers, analog sensors...
I have just flew over the v2, and I must confess that I did not fully understand all the improvements. Despite this I have the feeling that it is a wonderfull work and I already feel desire to try to include, as soon as I have a moment, the "SD only code lines" in this new base.
Uploading improvement (OTA) is awesome...
Congratulations. y.j.
P.S. : concerning this thread "using interrupts vs. polling", yes the code is no longer polling the ADS_DRDY pin but seems to be still polling the time consuming "volatile interrupt driven boolean called channelDataAvailable" isn't it? Benefit is not obvious. Are some data still lost during SD writing? No? Could you clarify this? y.j.
the old firmware would enter the loop and if streaming, wait in a while loop till new ADS1299 had new data. This system enters the loop and if streaming, checks to see if that volatile Boolean is true, if it's not, the loop continues execution. This would allow you to do work while waiting on new data, versus the old system where you could only do work once you got new data.
Nevertheless note that this "new" code could run as well and faster, just looking at the AD_ready signal instead of looking at the flag risen by an interrupt itself triggered by this same AD_ready signal...
No? May be I miss something so much basic that I do no longer see it... I'm getting old and everything has an end... Then "The cat has got my tongue", the answer is?
Any way congratulation again for all.
y.j.
P.S. : I am not sure but nearly sure that a very very few people use the SD card which blocks interrupt usage. (This blocking is to be checked...) Most people whish or need to do "real time biofeedback" and it is the first vocation of OBCI, then a "AIR Only version" would allow complex data treatment, compression, higher rate, etc..., while interrupts/dma would realy acquire data. I am not arguing my case since I am a "SD Only" user. (Sorry for my bad english) y.j.
Comments
What a pleasure it is to read a such news. This wakes me up.
Is https://github.com/OpenBCI/OpenBCI_32bit_Library the right link to the new firmware?
@pushtheworld : First of all, thanks for that work.
Could you briefly comment the benefit and give some examples of which doors this breakthrough opens?
Thank's again,
y.j.
Specifically the References section! There are links to answer all your questions!
Be sure to check out the examples folder on the repo to see a ton of axamples of using the new firmware.
https://github.com/OpenBCI/OpenBCI_32bit_Library/tree/master/examples
And it was my pleasure! Working on a sweet 3.0.0 version to make switching board types without having to change firmware. I.e. Pulse sensor, wifi, external triggers, analog sensors...
I have just flew over the v2, and I must confess that I did not fully understand all the improvements.
Despite this I have the feeling that it is a wonderfull work and I already feel desire to try to include, as soon as I have a moment, the "SD only code lines" in this new base.
Uploading improvement (OTA) is awesome...
Congratulations.
y.j.
P.S. : concerning this thread "using interrupts vs. polling", yes the code is no longer polling the ADS_DRDY pin but seems to be still polling the time consuming "volatile interrupt driven boolean called channelDataAvailable" isn't it? Benefit is not obvious. Are some data still lost during SD writing? No? Could you clarify this? y.j.
yes, sure, it is not the same code...
Nevertheless note that this "new" code could run as well and faster, just looking at the AD_ready signal instead of looking at the flag risen by an interrupt itself triggered by this same AD_ready signal...
No? May be I miss something so much basic that I do no longer see it...
I'm getting old and everything has an end...
Then "The cat has got my tongue", the answer is?
Any way congratulation again for all.
y.j.
P.S. : I am not sure but nearly sure that a very very few people use the SD card which blocks interrupt usage. (This blocking is to be checked...)
Most people whish or need to do "real time biofeedback" and it is the first vocation of OBCI, then a "AIR Only version" would allow complex data treatment, compression, higher rate, etc..., while interrupts/dma would realy acquire data.
I am not arguing my case since I am a "SD Only" user. (Sorry for my bad english) y.j.