Workout App
Description
App which helps to track heart rate (max, min, current), longevity of the training session, and setting 2 timers for resting (two timers because one for rest between sets and another for rest between exercises)
How does it work
Separate app, which reuses multiple existing controllers (and 'borrows' code from other apps).
User can select from 3 modes: Workout, Timer 1, Timer 2 Workout - user can start and stop workout, when workout started screen sleep are disabled and total workout time is shown in right top corner, heart rate updates are shown. Timer 1 - start/pause timer 1 Timer 2 - start/pause timer 2
Rest time can be edited by long press on timer mode button. App saves state to FS, so it's relatively safe to exit, progress wouldn't be lost.
How it is designed
First open

Workout Started

Rest Timer started

Rest Timer edit

Limitations
- Impossible to disable screen while workout in progress, because it seems like heart rate measurements can only be collected when screen is lit
- Breaks behavior of Timer App, because timer end event is used to notify user about rest period end. Can be fixed by adding separate event, but it will probably require separate controller (which will heavily 'borrow' from timer controller)
- Vibration time is very low, despite the value given.
- Not enough space in the menu, so I had to remove some commented code (which is not cool, so tell me how to preserve it better)
- After pulling current develop brunch debug build begin to crash with 'Error: Image size (0x73bc8) + trailer (0x630) exceeds requested size 0x74000'. Release build still works fine. Possibility of this was highlighted in documentation, but still
- Sometimes all buttons have round background (instead of default)
- HR readings are weird, because I (unfit person) get range of heart rate between 30 and 210. Which is heart stroke... But I'm still alive... or am I?
I will write the documentation if maintainers give green light to the app.
@eivindm is it possible to add a way select the hr frequency (ex : every 1 / 2 / /5 /15 /30/60 min , or continuous ) per workout? because if i do i hit training , iwould be more interested in countious hr data ( because each execrcie is less than 5 min ) but for for jogging 2 /5 / 15 min freq is not bad ...