26 lines
2.4 KiB
Plaintext
26 lines
2.4 KiB
Plaintext
|
*** Hearrate task state machine ***
|
||
|
|
||
|
|
||
|
GoToSleep StopMeasurement
|
||
|
┌───────────────┐ ┌─────────────────────────────┐
|
||
|
▼ │ ▼ │
|
||
|
┌──────┐ ┌──┴──────┐ ┌─────┴─────┐
|
||
|
│ │ WakeUp │ │ StartMeasurement │ │
|
||
|
│ Idle ├───────►│ Running ├─────────────────►│ Measuring │
|
||
|
│ │ │ │ │ │
|
||
|
└──────┘ └─────────┘ └─────┬─────┘
|
||
|
▲ ▲ │
|
||
|
│ StopMeasurement │ │
|
||
|
├──────────────────────────────────┐ │ │ GoToSleep
|
||
|
│ │ WakeUp │ │
|
||
|
│ ┌────────────────────────────┼─────────┤ │
|
||
|
│ │ │ │ ▼
|
||
|
┌──┴─────┴──────────┐ ┌┴─────────┴──────────┐
|
||
|
│ │ measured │ │
|
||
|
│ BackgroundWaiting │◄───────────────┤ BackgroundMeasuring │
|
||
|
│ │ │ │
|
||
|
└┬─────────────────┬┘ └─────────────────────┘
|
||
|
│ ▲ │ ▲
|
||
|
└────────┘ └────────────────────────────┘
|
||
|
wait time < interval wait time >= interval
|