Photon: Used hardware resources/timers?

I’m wondering if there is some form of documentation on what processor hardware resources are tied up and what are free. The hardware pins that come out are obvious but it would be useful to know about internal resources like timers, DMA and so on. Is there a list of what’s used in the ‘base unit’ and then do the libraries document what hardware resources they consume?

Specifically I’m interested in the timers that are available. Think I’m going to need 4 to do what I want easily. Need 1ms interrupt for general system events, freerunning us timer to poll, one for pulse generation (10ns resolution is fine) and a timer that is used occasionally for interrupts with 100ns resolution. From what I’ve read timers 2, 3 and 4 are available but I don’t know if that is because the others are used or are they just not supported in the libraries.

I’m also not worried or afraid to go down to the assembly level to write code to get things going. I’m a ‘bare metal programmer’ and do that for my job.

Thanks for your help and suggestions in advance.
Jay

If you are going that close to bare metal, you should have a look at the open source repo (especially the HAL parts).