Commit graph

98 commits

Author SHA1 Message Date
Riku Isokoski 0a0f28fff4
Make firmware updating more foolproof (#469)
* 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-22 21:57:45 +02:00
Kozova1 57b3397078
Multiple wakeup sources (#290)
* 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-14 20:51:51 +02:00
Jean-François Milants e21f6a7f41 Notify battery level every 10 minutes when connected to a BLE host.
Refactor battery percent : only use uint8_t to store the battery % remaining.
2021-07-11 16:55:06 +02:00
joaquim.org 084123b752
Using littlefs (#438)
* 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-07-11 15:06:06 +02:00
Avamander ab59b9b830
Whitespace and brace fixes (#456)
* Brace style and whitespace fixes

* Additional whitespace fixes
2021-07-04 20:06:50 +02:00
Jonathan Vander Mey 8031cd1b40 Inititialize members in class declaration
Also added initializers for previously unintialized members.
2021-07-02 17:47:14 +02:00
Jonathan Vander Mey d13b0a7ec5 Move local-only function into anonymous namespace 2021-07-02 17:47:14 +02:00
Jonathan Vander Mey 4217a8cb65 Make MusicService UUID objects static constexpr 2021-07-02 17:47:14 +02:00
Jonathan Vander Mey e28516002b Eliminate reinterpret_casting 2021-07-02 17:47:14 +02:00
Riku Isokoski 38f40034b0
Float voltage to int (#444)
* Change voltage float to millivolt integer
* Explain the ADC to milliVolts conversion
2021-07-02 17:30:32 +02:00
Avamander bdb5965f1a static_cast cleanup 2021-07-02 16:27:41 +02:00
Neil O'Fix 0045fb16b6
SPI flash sleep if bootloader >= 1.0.0 (#322)
* Retrieve and display bootloader version
- Display bootloader version on System Info screen
- Enable SPI flash sleep mode if bootloader version >= 1.0.0
* Wait for SPI flash to wakeup before starting OTA DFU
2021-06-26 20:53:32 +02:00
JF002 c6dca25b9f
Add support for BMA425 acceleration sensor. (#440)
* Add support for BMA425 acceleration sensor.
2021-06-19 20:27:59 +02:00
Jonathan Vander Mey e90e8c7426 Fix signed/unsigned comparison warning
Changed type of encodedBufferIndex to size_t to eliminate warning. It is
fine as a size_t as its only ever compared to another size_t and used as
an array index.
2021-06-12 20:04:19 +02:00
JF002 a1b3537e9e
Merge pull request #359 from Avamander/patch-2
Used a macro for UUID generation, switched from C-style casts to reinterpret_cast, renamed callback
2021-06-12 13:18:12 +02:00
Jean-François Milants 7f9cc51b05 Initialize SystemTask, DisplayApp and HeartRateTask as global static 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-06-06 15:56:03 +02:00
Florian 13e3463276
Timer App (#355)
* 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-20 20:43:54 +02:00
Avamander 8568b5f31b Updated license header year 2021-05-17 02:16:50 +03:00
Avamander f6f28a95f6 Used a macro for UUID generation, switched from C-style casts to reinterpret_cast, renamed callback 2021-05-17 02:08:12 +03:00
David Ventura 9342d62a44
Emit event on power-present toggle (#320)
* 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-16 21:13:22 +02:00
JF002 09977c28c0
Merge pull request #298 from joaquimorg/StepsApp
New Steps app
2021-05-15 22:32:40 +02:00
david a62b81da3d Fix #209. Use int8_t for PPG data array 2021-05-01 12:10:44 +02:00
Joaquim cd0d85dff9 Merge branch 'develop' of
https://github.com/JF002/InfiniTime into StepsApp
2021-04-26 21:29:48 +01:00
Avamander 6989854519 Changed access modified indentation 2021-04-24 12:00:45 +03:00
Avamander 40d45d923b Reformatted all the files according to clang-format style 2021-04-24 11:39:53 +03:00
Joaquim 5fc07a8df7 Fix button size and default step goal 2021-04-20 16:21:01 +01:00
Joaquim cd4a3e1dfe New Steps app
Settings to set the steps goal
More detail in Motion app
New 42px Font
2021-04-19 15:28:38 +01:00
Joaquim 3c413bdd52 In order to stabilize the battery reading,
I modified the process to make 5 consecutive readings,
as the process is asynchronous,
there is no interference in the main process.
2021-04-16 16:15:38 +01:00
Jean-François Milants 15b3b8e282 Merge branch 'develop' into motion-sensor
# 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-09 21:16:21 +02:00
Jean-François Milants 63584b6561 Merge branch 'develop' into notification-title
# Conflicts:
#	src/displayapp/screens/Notifications.cpp
2021-04-09 20:47:24 +02:00
JF002 9096d1db4c
Merge pull request #259 from JF002/fix-music-app2
Fix music app
2021-04-09 20:44:02 +02:00
Joaquim 3cf4df905a restore battery buffer 2021-04-08 16:15:57 +01:00
Joaquim 365e68e6cc Fix wake up lock in twi
optimize battery code
2021-04-05 15:22:10 +01:00
Jean-François Milants f8b9a7c060 Fix music app :
- Enable LVGL animation (and disable groups, which were not used), and set the speed.
 - Fix disc animation and progress display by initializing lastIncrement at 0 (a random value will be used otherwise, in release build)
2021-04-04 17:19:41 +02:00
Jean-François Milants 1d7576de64 Reset the step count every day at midnight. 2021-04-04 15:56:40 +02:00
Jean-François Milants 52a90288fd Handle return code from BMA driver, and set a flag is the initialization fails. This allows to boot InfiniTime even if the device cannot initialize. 2021-04-04 15:56:11 +02:00
Jean-François Milants 68bdaee1cc First integration of the motion sensor (bma 421) : step counting + wake on wrist rotation + app to see the value of the 3 axis in "real time". 2021-04-04 15:56:04 +02:00
Jean-François Milants 3934e9bef2 Ignore notification with empty message. 2021-04-04 15:19:37 +02:00
Joaquim bb7531e208 double tap wakeup error fix
battery nonblocking read
2021-04-04 13:51:22 +01:00
Jean-François Milants 03de1c6739 Add support for notification title. The notification buffer must contain the title and the message separated by a '\0' character.
If the buffer does not contain any \0, the whole buffer is considered to be the message of the notification. A default title will be displayed in the notification app.
2021-04-04 12:10:47 +02:00
Joaquim 1d3742e14f Big UI and navigation Rewrite
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-04-04 03:08:51 +01:00
JF002 a3ff2e46ca
Merge pull request #240 from joaquimorg/ScreenCorruptionFIX
FIX screen corruption (Issue #213)
2021-03-20 18:10:13 +01:00
Jean-François Milants 405c85c160 Merge branch 'develop' of github.com:JF002/Pinetime into develop
# Conflicts:
#	src/main.cpp
#	src/systemtask/SystemTask.h
2021-03-20 11:41:49 +01:00
Joaquim dba7e47ac0 FIX screen corruption #213 2021-03-18 19:38:19 +00:00
Jean-François Milants 9f67e6f652 Merge branch 'develop' into recovery-firmware
# Conflicts:
#	src/CMakeLists.txt
#	src/displayapp/DisplayApp.h
#	src/systemtask/SystemTask.cpp
#	src/systemtask/SystemTask.h
2021-03-07 08:44:14 +01:00
Joaquim 97deb43fb7 Update from JF comments to PR 2021-03-06 19:55:53 +00:00
Joaquim 8c53d0b70b Multi face support, analog clock, 12/24 config 2021-02-24 19:40:24 +00:00
JF002 97a1c4b3d7
Merge pull request #182 from petterhs/warnings
Fix build warnings coming from HR implementation
2021-02-14 14:25:38 +01:00
Jean-François Milants 5fdfb2112e Fix merge conflict. 2021-02-14 14:19:30 +01:00
JF002 4c3803450e
Merge pull request #161 from petterhs/calls
Call functionality with changed UUID for notification event characteristic
2021-02-14 12:03:49 +01:00