Microchip® Advanced Software Framework

Todo List
Global dhcp_rx_options_given [DHCP_OPTION_IDX_MAX]
: move this into struct dhcp?
Global dhcp_rx_options_val [DHCP_OPTION_IDX_MAX]
: move this into struct dhcp?
Global do_listen (struct api_msg_msg *msg)
: should we drain the recvmbox here?
Global IP_REASS_CHECK_OVERLAP
: work with IP header options
Global netconn_is_nonblocking (conn)
: write/send is missing)
Global netconn_set_nonblocking (conn, val)
: write/send is missing)
Global pll_wait_for_lock (unsigned int pll_id)
Use a timeout to avoid waiting forever and hanging the system
File snmp_structs.h
namespace prefixes
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.