I’ve used the method you’ve provided and it works ok, as a simple interval timer, auto repeating by default.
Once the interval becomes too short <=4us, the system gets stuck and hangs. This means I need another approach.
I’m now in the process of researching how to program the timer registers directly (with the perpheral library) which is time consuming, but will yield very high resolution low cpu performance for the complex patterns required.