Other Parts Discussed in Thread: ADS1298
Tool/software:
I am working on a project using the CC2642R1 microcontroller interfaced with an ADS1298 ECG front-end via SPI. The DRDY (Data Ready) pin from the ADS1298 is connected to a GPIO pin on the CC2642R1, configured to trigger an interrupt on the rising edge.
The setup works as expected:
- GPIO interrupt is properly triggered.
- ISR sets a flag.
- A periodic task (1 ms interval) reads raw data from ADS1298 and processes it.
Issue:
When I include the following floating-point baseline removal code inside my periodic task, the GPIO interrupt stops triggering entirely:
baseLine[i] = ALPHA * baseLine[i] + (1.0f - ALPHA) * data[i];
data[i] -= baseLine[i];
If I comment out these lines, everything works normally again — ISR is triggered, and data is processed.
Meanwhile, probing the DRDY pin confirms it is toggling as expected, so the ADS1298 is working and generating rising edges.
I am using TI-RTOS, and SDK: simplelink_cc13xx_cc26xx_sdk_6_40_00_13.