Equal priority interrupts do NOT nest, this is set by the hardware. I would double check the interrupt priority of U2TX and make sure it is being set right.
I would normally not make all the interrupt the highest, but make the interrupt used by FreeRTOS the lowest, so I have room for interrupts that don’t access FreeRTOS to use higher,
Just to verify I have set the levels correctly I am printing out the levels ever 10 seconds, this is what I am seeing
IPC0bits.T1IP = 7
IPC7bits.U2TXIP = 7
IPC7bits.U2RXIP = 7
It appears that even if two interrupts share the same priority they **can** interrupt each other.
And that seems to be what I am seeing here. And hence why I am trying to find a solution with nesting off.
I am happy to leave nesting on, if we can find a solution by keeping the priority levels the same.
I would normally not make all the interrupt the highest
The only reason I made the interrupt level the highest was to make sure that nothing could be of higher priority (other than exception ISRs)