Microchip® Advanced Software Framework

Todo List
Global ISR (func, int_grp, int_lvl)
Update to use IRQ numbers when these are made available in the device header files of both IAR and GCC.
Global pll_wait_for_lock (unsigned int pll_id)
Use a timeout to avoid waiting forever and hanging the system
Global sysclk_get_cpu_hz (void)
This function assumes that the CPU always runs at the system clock frequency. We want to support at least two more scenarios: Fixed CPU/bus clock dividers (config symbols) and dynamic CPU/bus clock dividers (which may change at run time). Ditto for all the bus clocks.
Global sysclk_get_main_hz (void)
This function assumes that the main clock source never changes once it's been set up, and that PLL0 always runs at the compile-time configured default rate. While this is probably the most common configuration, which we want to support as a special case for performance reasons, we will at some point need to support more dynamic setups as well.
Module TWI Master connections to GPIO
The TWIM pins that are mapped here should correspond with the TWIM interfaces selected in the conf_board.h file.