summaryrefslogtreecommitdiff
path: root/src/systemtask/SystemTask.cpp
AgeCommit message (Collapse)AuthorFilesLines
2021-08-01Merge branch 'develop' into HEADRiku Isokoski1-67/+145
2021-07-25Merge branch 'develop' into new_touch_handlerRiku Isokoski1-9/+32
2021-07-24Dim screen before sleep (#464)Riku Isokoski1-11/+34
* Implement dimming
2021-07-23Merge branch 'develop' into new_touch_handlerRiku Isokoski1-3/+8
2021-07-22Make firmware updating more foolproof (#469)Riku Isokoski1-3/+8
* Make firmware updating more foolproof and fix bugs * No need to manually handle overflow * Make startTime TickType_t * Don't process TouchEvents::None * Fix sleep getting re-enabled issue more directly
2021-07-18UpdateRiku Isokoski1-0/+3
2021-07-16Fix touch wakeup and code cleanupRiku Isokoski1-19/+19
2021-07-16Fix most issuesRiku Isokoski1-1/+1
2021-07-15New touch handler, with issuesRiku Isokoski1-1/+0
2021-07-15Merge branch 'develop' into update_touch_driverRiku Isokoski1-9/+9
2021-07-14Multiple wakeup sources (#290)Kozova11-9/+9
* Allow multiple wakeup modes at the same time. This commit adds multiple wakeup modes support. It does so by storing them as a uint8_t bitfield enum. It changes the following functions: Since multiple modes can be on now, older version would not cut it: WakeUpMode getWakeupMode() -> std::bitset<3> getWakeUpModes() Where each bit corresponds to a WakeUpMode We still need a way to check whether a specific wakeup mode is on, so: bool isWakeUpModeOn(const WakeUpMode mode) This function was changed to work correctly with the new implementation. setWakeUpMode(WakeupMode mode, bool enable) Previously, systemtask would exit SystemTask::OnTouchEvent() if the wake up mode was None or RaiseWrist, to prevent waking up when a touch was received. However, after enabling using multiple WakeUpModes, this caused a bug where when RaiseWrist was checked with SingleTap or DoubleTap, the tap detection wouldn't work. This commit fixes that bug. Next commit will update the settings WakeUpMode select UI to reflect these changes. Signed-off-by: Kozova1 <mug66kk@gmail.com> * Updated UI to reflect multiple WakeUp sources being available. Signed-off-by: Kozova1 <mug66kk@gmail.com>
2021-07-14Update touchpad driverRiku Isokoski1-1/+1
2021-07-11Notify battery level every 10 minutes when connected to a BLE host.Jean-François Milants1-0/+5
Refactor battery percent : only use uint8_t to store the battery % remaining.
2021-07-11Using littlefs (#438)joaquim.org1-3/+8
* add submodule littlefs * base fs * Save settings using littlefs * Small fixes and suggestions from PR * More small fixes from PR suggestions * Code clean up * Change SpiNorFlash functions to be private in FS
2021-06-19Add support for BMA425 acceleration sensor. (#440)JF0021-0/+1
* Add support for BMA425 acceleration sensor.
2021-06-12Move most of the code from the constructor of the objects statically ↵Jean-François Milants1-1/+2
initialized in main() into Start()/Init() functions to avoid Static Initialization Order Fiasco (https://en.cppreference.com/w/cpp/language/siof). See https://github.com/JF002/InfiniTime/pull/415#issuecomment-859004238.
2021-06-10Minor improvements: use std::make_unique when creating unique_ptr, check the ↵Jean-François Milants1-6/+18
code is running from an IRQ before calling xQueueSendFromISR or xQueueSend)
2021-06-06Initialize SystemTask, DisplayApp and HeartRateTask as global static ↵Jean-François Milants1-38/+37
variable instead of variables on the heap. We don't need them on the heap as we know their size at build time, it'll reduce memory fragmentation and it'll make memory analysis easier.
2021-05-20Timer App (#355)Florian1-2/+15
* built timer app * Style improvements * making sure buttons stay hidden when the app is reopened and reappear after the timer runs out * more sensible calculations of time deltas. eliminated that mysterious scaling factor * changing the timer icon
2021-05-17Fix wrong initialization of 'pinPowerPresent' pin that would prevent the ↵Jean-François Milants1-3/+6
touchpanel from working correctly when the device boots while connected to the charger.
2021-05-16Emit event on power-present toggle (#320)David Ventura1-5/+17
* Emit event on power-present toggle * clang-format on changes * also update battery status on any event * update comments; remove double battery update * Fix formatting * Vibrate shortly on charging event * debounce charge event
2021-05-16cleaned up the code and reduced the size of the diff by removing things like ↵Florian Kraupa1-1/+1
additional whitespaces
2021-05-16only activate the timeout on call notification previews after they have been ↵Florian Kraupa1-1/+1
interacted with
2021-05-16implemented continuous vibration pattern for incoming callsFlorian Kraupa1-1/+5
2021-05-02short vibration when enabling itpetter1-0/+1
2021-04-24Reformatted all the files according to clang-format styleAvamander1-87/+107
2021-04-16Disable the reading of the motion values in sleep mode when the wake up mode ↵Jean-François Milants1-0/+3
is not 'wrist rotation'.
2021-04-16In order to stabilize the battery reading,Joaquim1-2/+7
I modified the process to make 5 consecutive readings, as the process is asynchronous, there is no interference in the main process.
2021-04-09Merge branch 'develop' into motion-sensorJean-François Milants1-7/+44
# Conflicts: # src/CMakeLists.txt # src/displayapp/Apps.h # src/displayapp/DisplayApp.cpp # src/displayapp/DisplayApp.h # src/displayapp/lv_pinetime_theme.c # src/displayapp/screens/ApplicationList.cpp # src/drivers/TwiMaster.cpp # src/systemtask/SystemTask.h
2021-04-08TwiMaster is now based on the NRFX TWI driver, as it handles more edge cases ↵Jean-François Milants1-2/+6
and workarounds for errors on the bus. Reset the TWI bus after the soft-reset of the motion sensor to workaround issues on the TWI bus.
2021-04-05Fix wake up lock in twiJoaquim1-10/+16
optimize battery code
2021-04-05array in SettingWakeUp wrong sizeJoaquim José Almeida Pereira1-1/+1
2021-04-04Reset the step count every day at midnight.Jean-François Milants1-2/+12
2021-04-04Handle return code from BMA driver, and set a flag is the initialization ↵Jean-François Milants1-0/+1
fails. This allows to boot InfiniTime even if the device cannot initialize.
2021-04-04Code cleaning in BMA421 driver. Do the axis inversion in the driver and not ↵Jean-François Milants1-2/+2
in the application. NOTE: Axis remapping from the SDK do not apply to the "raw" X/Y/Z values returned to the sensor. According to the doc, the remapping is only applied to features, but I cannot check if it has any effect on step counting (I'm not sure I use it correctly, doc is not complete enough about this feature).
2021-04-04First integration of the motion sensor (bma 421) : step counting + wake on ↵Jean-François Milants1-3/+25
wrist rotation + app to see the value of the 3 axis in "real time".
2021-04-04double tap wakeup error fixJoaquim1-10/+10
battery nonblocking read
2021-04-04Big UI and navigation RewriteJoaquim1-9/+38
new navigation add some color to the apps redesign menus new settings menu new quick settings code clean up size reduction by converting navigation images to font and more...
2021-03-22replaced all unique_ptr.reset calls with std::make_uniqueNiall Cooling1-1/+1
2021-03-22Updated to include WatchFaceAnalog and fixed clashesNiall Cooling1-12/+16
2021-03-20Merge branch 'develop' of github.com:JF002/Pinetime into developJean-François Milants1-2/+6
# Conflicts: # src/main.cpp # src/systemtask/SystemTask.h
2021-03-16Resolved C++14 Cmake build issues so correctly building to C99/C++14 standardsNiall Cooling1-2/+4
2021-03-07Merge branch 'develop' into recovery-firmwareJean-François Milants1-4/+8
# Conflicts: # src/CMakeLists.txt # src/displayapp/DisplayApp.h # src/systemtask/SystemTask.cpp # src/systemtask/SystemTask.h
2021-02-24Multi face support, analog clock, 12/24 configJoaquim1-2/+6
2021-02-14Fix merge conflict.Jean-François Milants1-3/+7
2021-02-07add vibration togglepetter1-1/+1
2021-02-05trigger vibration from systemtaskpetter1-3/+4
2021-01-26Generate pinetime-recovery : a light version of InfiniTime design to be used ↵Jean-François Milants1-11/+10
as a recovery firmware : it only provides basic UI and BLE connectivity for OTA. This new FW is build on the same codebasse than the actual InfiniTime. Only the display task is different (this allows to remove lvgl from the recovery fw, which is very heavy). CMake builds and docker have been modified accordingly. Note than the fw is converted into an image and then into a DFU in the cmake build (previously, it was only done in the
2021-01-25create motorcontroller in main and pass by referencepetter1-2/+5
2021-01-24Handle call notification the same way than other notifications.Jean-François Milants1-6/+1
Display the call notifications in the Notification app, with buttons to accept/reject the call.