This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2651R3SIPA: Streaming SPI/DMA Accelerometer Data over BLE

Part Number: CC2651R3SIPA

Tool/software:

Hello E2E Experts,

Good day.

We’re working on a CC2651R3SIPA using the Project Zero BLE example. Our firmware builds and flashes successfully, but under the debugger execution stops (blocks) inside the call to ICall_createRemoteTasks(), so none of the subsequent initialization or our SPI/uDMA code ever runs. We also tried implementing it in the simple peripheral project, but the issue still exists.

For context, we need to sample a 3-axis accelerometer via SPI + uDMA at up to 1.6 kHz (typically 200 Hz) for ~10 s each time a limit switch is pressed (every 1–2 minutes), store data in ping-pong buffers, then stream each full buffer over BLE. The data collection task is working fine in another project.

Questions:

  1. What is the simplest, supported way to add a custom TI-RTOS task (e.g. our SPI/uDMA sampler) into a Project Zero or simple_peripheral BLE project so it launches cleanly alongside the BLE stack?

  2. Does TI provide any example or reference implementation in the SimpleLink SDK for streaming short, high-rate SPI/uDMA sensor bursts over BLE?

Thank you for any guidance or pointers to existing code examples.

Regards,

TICSC

  • Hello,

    Thank you for reaching out!

    What is the simplest, supported way to add a custom TI-RTOS task (e.g. our SPI/uDMA sampler) into a Project Zero or simple_peripheral BLE project so it launches cleanly alongside the BLE stack?

    I would recommend creating the task, after the BLE task has been initialized. Also, make sure that the BLE task is always the highest priority, as starving it may lead to unexpected behavior.

    Does TI provide any example or reference implementation in the SimpleLink SDK for streaming short, high-rate SPI/uDMA sensor bursts over BLE?

    Unfortunately, not at this time. However, the adcbuf and spi examples located inside the drivers folder inside the SDK will provide a good starting point!

    I hope this helps!

    Best Regards,

    Tarek