2025-10-21 4:17 AM - edited 2025-10-21 6:27 AM
I'm trying to set up the Utility Sequencer to run an acquisition task followed by an signal processing task, see code snippets below.
When I look at the serial monitor, I see the start acquisition task message but then it hangs waiting for EVENT0
So even though I've set EVENT0 in Custom_APP_Init() it looks to me that the event is not in fact set.
What am I missing here?
Edit, I commented out the SetTask line as I realized I hadn't finished setting up before the sequencer sets off but now no tasks get set, so I dont get the start acquisition task message any more.
#define EVENT0 1<<0
#define EVENT1 1<<1
void Custom_APP_Init(void)
{
/* USER CODE BEGIN CUSTOM_APP_Init */
UTIL_SEQ_RegTask(1<<CFG_TASK_SENSOR_UPDATE_ID, UTIL_SEQ_RFU, sensor_update);
UTIL_SEQ_RegTask(2<<CFG_TASK_FFT_ID, UTIL_SEQ_RFU, do_fft);
UTIL_SEQ_SetEvt(EVENT0);
// UTIL_SEQ_SetTask(1<<CFG_TASK_SENSOR_UPDATE_ID, 0);
/* USER CODE END CUSTOM_APP_Init */
return;
}
void sensor_update(void)
{
printf("start acquisition task\n\r");
UTIL_SEQ_WaitEvt(EVENT0);
printf("In acquisition task\n\r");
/* DAQ code */
UTIL_SEQ_ClrEvt(EVENT0);
UTIL_SEQ_SetEvt(EVENT1);
}
void do_fft(void)
{
UTIL_SEQ_WaitEvt(EVENT1);
/* FTT code */
UTIL_SEQ_ClrEvt(EVENT1);
UTIL_SEQ_SetEvt(EVENT0);
}
UPDATE: