aboutsummaryrefslogtreecommitdiffstats
path: root/src/systemtask
Commit message (Collapse)AuthorAgeFilesLines
* Refactor, document and fix the Watchdog driver (#1710)JF2023-04-301-3/+3
| | | | | | | * Refactor and document the Watchdog driver to make it more readable. Fix the configuration of the behaviours configuration that was not properly implemented (but it didn't cause any side effect since the correct value was eventually set in NRF_WDT->CONFIG). Fix the wrong interpretation of the reset reasons caused by implicit conversions of int to bool.
* TimerController: Make TimerController reusableRiku Isokoski2023-04-163-13/+0
| | | | TimerController instance was moved to DisplayApp.
* MotionController: Remove IsOk variableRiku Isokoski2023-04-161-1/+0
| | | | We should be able to assume MotionController is safe to use.
* inactivity: Use LVGL inactivity timersRiku Isokoski2023-03-183-68/+9
| | | | | | | | | | | | | | | | | Replace custom FreeRTOS inactivity timers with LVGL inactivity timers. DisplayApp: Trigger display activity on timer done. inactivity: Add additional checks The backlight could be turned on by RestoreBrightness() on ble connect event. inactivity: Trigger activity on screen switch A notification timing out could put the watch to sleep immediately. While this could be ideal behaviour, it was caused by delay in processing the EnableSleeping event and pushing RestoreBrightness to DisplayApp.
* raisewake: Change names in line with the style guideFinlay Davidson2023-03-091-1/+1
|
* shakewake: Fix names according to style guideFinlay Davidson2023-03-091-1/+1
|
* Revert "added low battery message"Riku Isokoski2023-03-022-13/+0
| | | | This reverts PR https://github.com/InfiniTimeOrg/InfiniTime/pull/1352
* SystemTask: Move lcd to DisplayAppRiku Isokoski2023-02-252-7/+0
| | | | SystemTask should never write to the lcd
* LittleVgl: Instantiate in DisplayAppRiku Isokoski2023-02-252-6/+0
| | | | | | | LVGL is only a part of the main DisplayApp. Other "DisplayApps" can be implemented without LVGL. DummyLittleVgl isn't needed anymore and has been removed
* SystemTask: Move MotorController to DisplayAppRiku Isokoski2023-02-253-18/+3
| | | | | Vibrations should be associated with something happening on the UI. Therefore SystemTask should not be controlling the motor.
* TouchHandler: Do not store touch panel referenceRiku Isokoski2023-02-241-2/+2
|
* touchhandler: Remove LVGL dependencyRiku Isokoski2023-02-241-3/+2
| | | | Move LVGL specific code to the LittleVgl class
* Format header filesFinlay Davidson2023-01-092-0/+4
| | | | In my PR updating clang-format, I forgot to also format the headers.
* Include algorithm and cstring for std::memcpy and std::minJean-François Milants2022-12-271-0/+2
|
* Update src/systemtask/SystemTask.cppMax Friedrich2022-12-271-4/+4
| | | Co-authored-by: JF <JF002@users.noreply.github.com>
* hopefully fixed crash on notificationminacode2022-12-271-1/+1
|
* formatminacode2022-12-271-1/+2
|
* removed magic numberminacode2022-12-271-1/+1
|
* added punctuationminacode2022-12-271-2/+2
|
* added message, changed UIminacode2022-12-271-2/+2
|
* formatminacode2022-12-271-11/+9
|
* added low battery messageminacode2022-12-272-0/+12
|
* Update clang-tidy configuration and fix some warnings (#1474)Riku Isokoski2022-12-182-13/+11
| | | | | Don't enable coding conventions from unrelated projects. Only enable generic checks.
* Fix clang-tidy warningsRiku Isokoski2022-10-101-1/+1
|
* Add sleep mode which disables notifications, touch- and motion wakeup (#1261)Riku Isokoski2022-08-211-11/+14
|
* Switch to freertos timers (#1095)Michele Bini2022-06-061-3/+0
| | | | | | | | | | | * Use FreeRTOS timer for AlarmController * Use FreeRTOS timer for MotorController * Remove app_timer component from compilation as we now solely use FreeROTS timer * Simplify variable and text names for AlarmController and MotorController timers * Call ScheduleAlarm directly from StopAlerting, for recurring timers Co-authored-by: Riku Isokoski <riksu9000@gmail.com> Co-authored-by: NeroBurner <pyro4hell@gmail.com>
* System: Refactor pin and interrupt setupChristoph Honal2022-06-051-19/+9
| | | | | | This should ensure better readability of the pin setup procedure, as well as allow the configuration of the hardware button enable pin and the accelerometer interrupt pin via the pin mapping header.
* SystemTask: Use "&&" instead of "and" for operatorsChristoph Honal2022-06-051-5/+6
| | | | As per the coding style, only primary spelling should be used for operators.
* Fix various typosluz paz2022-06-051-1/+1
| | | | Found via `codespell -q 3 -S ./src/libs -L ans,doubleclick,trough`
* Apply clang-format to all C++ filesFinlay Davidson2022-06-052-39/+40
|
* Fix and test workflowRiku Isokoski2022-05-081-2/+2
|
* Systemtask : replace enum SystemTaskState by an enum class.Jean-François Milants2022-05-082-25/+25
|
* Simplify systemtask statesRiku Isokoski2022-05-082-37/+34
|
* Replace app_timer with FreeRTOS timersRiku Isokoski2022-04-251-3/+2
|
* Let TouchHandler return TouchEvents instead of driver specific enumReinhold Gschweicher2022-04-131-3/+4
| | | | | | | | Let the TouchHandler::GestureGet() function return a TouchEvent instead of the touchpanel-driver specific enum. This helps to move the driver specific helper function `ConvertGesture` from `DisplayApp` into `TouchHandler`.
* In current configuration, the timer task (the one from FreeRTOS) has the ↵Jean-François Milants2022-03-211-1/+1
| | | | | | | | | | | | | | lowest priority (0). Both display and system tasks are also set on priority 0. In cases where any other task takes too much time to execute (it can happen in Display Task, see https://github.com/InfiniTimeOrg/InfiniTime/issues/825), the timer task does not have the opportunity to run fast enough to detect and debounce presses on the button. This commit sets the following priorities: - [0] : Display Task - [1] : Timer and System tasks - [2] : BLE Host - [3] : BLE LL This way, we ensure that button presses will always be detected, even if the rendering of the display takes a huge amount of time.
* SystemMonitor: implement FreeRtosMonitor only if trace facility is setReinhold Gschweicher2022-03-083-39/+33
| | | | | | | | | | | | | | | Split SystemMonitor into h and cpp file and move the logging code of the `Process` function into the cpp file. Depending of the `configUSE_TRACE_FACILITY` define from `src/FreeRTOSConfig.h` create either a "FreeRtosMonitor" or a "DummyMonitor". Make the `Process()` function non-const, as the FreeRtosMonitor changes the member variable `lastTick`. In `SystemTask.h` we then only need to use `SystemMonitor`, without knowledge of the `configUSE_TRACE_FACILITY` define.
* Merge branch 'airplane-mode' of https://github.com/evergreen22/InfiniTime ↵Jean-François Milants2022-02-202-4/+8
| | | | | | | | | | | | | into evergreen22-airplane-mode Apply a few changes that were requested in the PR during the review. # Conflicts: # src/CMakeLists.txt # src/displayapp/Apps.h # src/displayapp/DisplayApp.cpp # src/displayapp/Messages.h # src/displayapp/screens/settings/Settings.cpp
* Merge branch 'airplane-mode' of https://github.com/evergreen22/InfiniTime ↵Jean-François Milants2022-02-202-2/+5
|\ | | | | | | | | | | | | | | | | | | | | into evergreen22-airplane-mode # Conflicts: # src/CMakeLists.txt # src/displayapp/Apps.h # src/displayapp/DisplayApp.cpp # src/displayapp/Messages.h # src/displayapp/screens/settings/Settings.cpp
| * Add airplane mode featureJames A. Jerkins2021-12-232-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Implements 'Airplane mode' feature to disable and enable bluetooth/ble Adds airplaneMode as a non-persisted setting Adds a setting menu for switching airplane mode on and off Displays an airplane symbol on the Digital watch face and the PineTimeStyle watch face when airplane mode is enabled Always enables bluetooth/ble on boot (disable airplane mode) Alphabetizes the settings menu options Style cleanups Closes #632
* | SystemTask: forward declare BatteryController to fix of cyclic dependencyReinhold Gschweicher2022-02-192-1/+2
| | | | | | | | | | | | | | | | | | SystemTask.h included BatteryController.h, and BatteryController.h included SystemTask.h. If unlucky the class SystemTask isn't created yet when BatteryController wants to use it. Fix that cyclic dependency by forward declaring the BatteryController class and including it in the SystemTask.cpp file, where it is needed.
* | SystemTask: remove unused ble includesReinhold Gschweicher2022-02-191-9/+0
| | | | | | | | | | Remove unused includes. The firmware still compiles fine without the includes.
* | SystemTask: fix static cast missing brackets syntaxReinhold Gschweicher2022-02-121-2/+2
| | | | | | | | | | | | | | | | | | The static_cast syntax requires brackets around the input variable. The implementation worked because the used input are defines, which add the missing brackets like the following: ```cpp #define GPIO_PIN_CNF_SENSE_Low (3UL) ```
* | Merge pull request #949 from Riksu9000/fix_alarmJF2022-01-261-0/+3
|\ \ | | | | | | Fix alarm on time change
| * | Fix alarm on time changeRiku Isokoski2022-01-221-0/+3
| | |
* | | Merge pull request #903 from Riksu9000/improved_notif_timeoutJF2022-01-261-0/+1
|\ \ \ | | | | | | | | Improved notification timeout
| * | | Improved notification timeoutRiku Isokoski2022-01-011-0/+1
| | |/ | |/|
* | | SystemTask: add missing queue.h include for QueueHandle_tReinhold Gschweicher2022-01-161-0/+1
| |/ |/|
* | Merge branch 'ShakeWake' of https://github.com/geekbozu/InfiniTime into ↵Jean-François Milants2022-01-041-7/+13
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | geekbozu-ShakeWake # Conflicts: # src/CMakeLists.txt # src/displayapp/Apps.h # src/displayapp/DisplayApp.cpp # src/displayapp/screens/settings/Settings.cpp
| * | Add start of settings app for senstivity.Tim Keller2022-01-041-1/+2
| | | | | | | | | | | | | | | really just debugging. I want to make it more configurable then high med low. Position of setting needs a new location...dynamicly adding it currently at the end. Which honestly im fine with.