- Wed Jul 12, 2023 3:18 am
#242472
Hello,
I'm trying to replicate the Openlog Geophone Logger firmware but using the available Sparkfun ADS1015 instead of the now retired ADS122C04 on the Qwiic PT100.
As an addition, I would like to be able the record the data from multiple geophone (at least 3) using some ADS1015 at the fastest rate possible (3kHz).
Since the Geophone Logger was already made to record the data using two buffers to store the data quickly and then convert and store it on the SD card in the loop, I took it as my template.
I'm encountering a MBedOS crash as soon as I try to read a value from a ADS1015 connected via I2C. In the current updated version of the Openlog firmware, the sensors values are called, converted to string and added to a "list" one by one. In the Geophone logger, the data is collected in an Timer Interrupt which might explain the crashing.
As I don't know much about using DMA or if it is even possible to make it get data with I2C from the ADC1015, I'm hesitating going with a Sparkfun IOT RedBoard and a MAX11131BOB . With an ESP32, I could have a thread buffering the data in multiple buffers and another thread saving the data to the SD card. The MAX11131 would allow to use SPI to transmit the data faster and many differential ADC inputs for the geophones.
Any suggestions are welcome and appreciated.
Best,
RiskLogger
I'm trying to replicate the Openlog Geophone Logger firmware but using the available Sparkfun ADS1015 instead of the now retired ADS122C04 on the Qwiic PT100.
As an addition, I would like to be able the record the data from multiple geophone (at least 3) using some ADS1015 at the fastest rate possible (3kHz).
Since the Geophone Logger was already made to record the data using two buffers to store the data quickly and then convert and store it on the SD card in the loop, I took it as my template.
I'm encountering a MBedOS crash as soon as I try to read a value from a ADS1015 connected via I2C. In the current updated version of the Openlog firmware, the sensors values are called, converted to string and added to a "list" one by one. In the Geophone logger, the data is collected in an Timer Interrupt which might explain the crashing.
As I don't know much about using DMA or if it is even possible to make it get data with I2C from the ADC1015, I'm hesitating going with a Sparkfun IOT RedBoard and a MAX11131BOB . With an ESP32, I could have a thread buffering the data in multiple buffers and another thread saving the data to the SD card. The MAX11131 would allow to use SPI to transmit the data faster and many differential ADC inputs for the geophones.
Any suggestions are welcome and appreciated.
Best,
RiskLogger