Quick follow up question:
The timer callbacks are not called in an Interrupt Service Routine, correct? Are any callbacks like rx data callback called in an ISR?
Slight panic here: Can callbacks of different types preempt each other?
1) a) wiced_init_timer will return WICED_ERROR if wiced_timer_t* or wiced_timer_callback_t parameters are NULL.
b) The start_timer will return WICED_BADARG if you do not specify a timeout value.
These APIs shouldn't fail if all the parameters that are passed are correct (value and format).
2) Yes, if there is a timer running, then the device won't go to sleep till the timer is stopped.
3) I don't think we have quantified this number.
4) No, timer callbacks are not called in an ISR. Yes, many callbacks are called from an ISR.
5) No, callbacks cannot preempt each other.