
Figure 3.
Data flow diagram
The data acquired from the sensors, GNSS, and ADC through the driver interface, are stored in the RAM and/or
EEPROM (the storage in the EEPROM is not implemented yet, but it is going to be available in the coming
releases). Then, they are processed and sent. The processing output can be sent as well. The same path is used
for the configuration channels, shown in the figure below, to manage the settings at runtime.
Figure 4.
Configuration block diagram
2.2
State machine
The application flow evolves by using a state machine that triggers a status change depending on events and
triggers.
A simple state machine has been implemented featuring two states: full-run state and low-power state. These
states are not related to the MCU power state, but to the whole system condition. A minimum and a maximum
performance and, consequently, power consumption characterize these states. In the full-run state, everything is
on and all the data are sent to the dashboard. In the low-power state, all the components, except the MCU, are
configured in low-power mode.
The side button event triggers the transition between the two states. Another input can be a MEMS event output
or the result of an algorithm.
This is just an example of how a state machine can be implemented, changing the behavior of our device. Several
intermediate states can also be implemented, balancing the system responsiveness and the battery life.
UM3019
State machine
UM3019
-
Rev 1
page 5/43