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.

RTOS/TM4C123GH6PGE: RTOS HWI - interrupt flag handling

Part Number: TM4C123GH6PGE

Tool/software: TI-RTOS

Hi,

I am implementing a HWI for SSI1 within RTOS.
My question is about interrupt flags.

I initialise SSI1 like this

    SSIDisable(SSI1_BASE);
    SSIClockSourceSet(SSI1_BASE, SSI_CLOCK_SYSTEM);
    SSIConfigSetExpClk(SSI1_BASE, SystemClockFreq, SSI_FRF_MOTO_MODE_0, SSI_MODE_SLAVE, 1000000, 16);
    SSIEnable(SSI1_BASE);
    SSIIntEnable(SSI1_BASE, SSI_RXFF | SSI_RXOR);

Following the RTOS documentation I then set up the HWI with this

    Hwi_Params hwiParams;
    Hwi_Handle SSI1Hwi;
    Error_Block eb;

    Hwi_Params_init(&hwiParams);
    Error_init(&eb);

    hwiParams.maskSetting = Hwi_MaskingOption_SELF;

    SSI1Hwi = Hwi_create(50, SSI1Isr, &hwiParams, &eb);
    if(SSI1Hwi == NULL)
        System_printf("SSI1 Hwi create error\n");

The ISR...
Normally (using Tivaware and not in RTOS) at the top of my ISR I would have
    uint32_t intFlags;
    intFlags = SSIIntStatus(SSI1_BASE, true);        //get flags
    SSIIntClear(SSI1_BASE, intFlags);            //clear flags

Then I would inspect intFlags to find out what caused the interrupt and act accordingly.

The RTOS documentation infers I should use
    Hwi_clearInterrupt(50);

1) Is it OK to use the Tivaware functions for handling the interrupt flags as above?
2) If not how do I tell what caused the interrupt (rx, tx, rto, ror) if I use Hwi_clearInterrupt()?

Thanks,
Richard