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.

Setting priority of HWI underlying a timer instance

Part Number: MSP432P401R

Tool/software: TI-RTOS

2437.timer_hwi_priority_example.zip

Hi all,

I'm using a number of timers in a project and I'd like to set the priority of the underlying HWI for each of the timers.

Given that I can work out which timers are being used, I have successfully used MSPWARE to set the interrupt priority directly (.e.g MAP_Interrupt_setPriority(INT_TA0_0,  4 << 5);)  but this feels like I'm doing an end run around SYSBIOS. 

I feel I should be using SYSBIOS APIs if possible.  Indeed, TI-RTOS drivers provide the ability to set associated interrupt priorities, so why not timers I thought.

My first attempt just used the HAL Timer but that doesn't seem to expose the underlying HWI. 

The device specific timer module (ti.sysbios.family.arm.msp432) does seem to expose the HWI so I'm using that instead.  I try setting the priority as follows (see attached example project):

  Hwi_setPriority(timer_hndl->hwi->intNum, (~0));

When I compile this I get the error "#395 pointer to incomplete class type is not allowed". 

Following through the type definition for timer_hndl into /sysbios/family/arm/msp432/Timer.h I land on the definition of struct ti_sysbios_family_arm_msp432_Timer_Object.

This is #defined out which explains the compile error, but its a bit strange and I'm not sure how to fix it.

Is anyone able to give any advice ?

Cheers

Julian