Makes HAL initialization handed by a service call.
Before, HAL initialization (e.g., setting up the optimizer) was called internally upon reception of the first measurement. This prevented the routine to take the first measurement immediately after being prompted to do so, because the initialization would have needed to be completed.
With these changes, HAL initialization is disentangled from the call to take measurements, allowing to take the first measurements immediately after receiving the service call, without waiting for the initialization of the routine. The state machine calls for HAL initialization, and only after that it starts prompting for measurements to be taken.
Makes HAL initialization handed by a service call.