Commit graph

1127 commits

Author SHA1 Message Date
Riku Isokoski 3ee4876214 Toggle notifications only, keep vibrations. 2021-09-12 11:08:25 +03:00
Mark Russell 1fb5757655 Created basic alarm app 2021-09-10 18:40:13 -04:00
James A. Jerkins 22571d4b38 Advertise fast for at least 30 secs then slow down
On power up, advertise aggressively for at least 30 seconds then switch
to a longer interval to conserve battery life. This fast/slow pattern
is designed to balance connection response time and battery life.

When a disconnect event is received restart the fast/slow pattern.

When a failed connect event is received, restart the fast/slow pattern.

When the screen is activated and ble is not connected, restart the fast/slow pattern.

This pattern is consistent with Apple's BLE developer standards (QA 1931).
2021-09-05 15:53:20 -05:00
James A. Jerkins 4820b2ffe8 Revert "Linear decrease of advert rate to conserve battery"
This reverts commit c32ba844e0.
2021-09-05 15:52:01 -05:00
James A. Jerkins c32ba844e0 Linear decrease of advert rate to conserve battery
Start advertising aggressively when powered on then
slow down linearly over 75 seconds. This will conserve
battery by not advertising rapidly the whole time we
are seeking a connection. The slowest rate is
approximately once every 4.5 seconds to balance
responsiveness and battery life.

We use a fixed advertising duration of 5 seconds and start
with a 62.5 ms advertising interval. Every 5 seconds
(the advertising duration) we step up to a larger
advertising interval (slower advertising). We continue
to increase the advertising interval linearly for
75 seconds from the start of advertising. At 75 seconds
we have an advertising interval of 4.44 seconds which we
keep until connected. A reboot will restart the sequence.

When we receive a disconnect event we restart the sequence
with fast advertising and then slow down as described above.
Note that we are not using the BLE high duty cycle setting to
change the advertising rate. The rate is managed by repeatedly
setting the minimum and maximum intervals.

The linear rate of decrease and the slowest interval size
were determined experimentally by the author. The 5.3 Core
spec suggests that you not advertise slower than once
every 1.2 seconds to preserve responsiveness but we
ignored that suggestion.
2021-09-04 15:57:07 -05:00
Riku Isokoski b31b2425f8 Use percentage instead of IsFull 2021-09-03 16:57:00 +03:00
Riku Isokoski ac2ccaeff6 Auto realign battery icon in Analog watch face 2021-09-03 14:57:07 +03:00
Riku Isokoski fd52ca8fe6 Detect full charge and improve watchface display 2021-09-03 14:35:38 +03:00
Tim Keller 28fdc376b2 Add some comments 2021-09-02 23:01:12 +00:00
Itai Nelken bd1a571399
Update Settings.cpp 2021-09-02 23:20:25 +03:00
James A. Jerkins 3e1fe687b8 Fix styles issues - no change to functionality 2021-09-01 22:50:56 -05:00
James A. Jerkins d69a8e84fa Fix race condition, connect->disconnect->discovery 2021-09-01 22:48:01 -05:00
Jean-François Milants 1635bfafb3 Fix notifications that wouldn't auto close when the timeout elapsed (in preview mode). 2021-08-31 21:56:21 +02:00
James A. Jerkins 00a3f84ea7 Completely reset connection state on fail 2021-08-30 23:17:16 -05:00
Riku Isokoski 21d37d1e23 Merge remote-tracking branch 'upstream/develop' into timer_battery_reading 2021-08-30 10:15:19 +03:00
James A. Jerkins be31f417db WIP Refactor ble advertising
Refactor ble advertising based on ble standards and conventions.
Changes are based on the bleprph example code, bluetooth docs, and nimble docs.
2021-08-29 15:50:04 -05:00
hubmartin 8390d0ef72 Merge branch 'develop' into pinmap 2021-08-29 11:43:50 +02:00
Riku Isokoski e57ff28231 Let lvgl control queueTimeout 2021-08-29 12:40:48 +03:00
Jean-François Milants 6c023785e5 Fix wake on tap/double tap. 2021-08-28 21:30:31 +02:00
Jean-François Milants 31bc47d1cb Settings : use enums instead of ints to store colors. Group all PTS settings into a struct.
PTS/SettingsPTS : Convert to/from LVGL color and Settings::Color, add functions to reduce code duplication.
Adapt SettingPineTimeStyle with the last Screen Interface
2021-08-28 21:02:11 +02:00
JF002 ef9f809e14
Merge pull request #458 from kieranc/pinetimestyle-colorpicker
Add color picker for PineTimeStyle watchface
2021-08-28 20:56:34 +02:00
Riku Isokoski c2fae47391 Merge branch 'develop' into refresh_rework 2021-08-28 17:25:50 +03:00
Riku Isokoski d2d97319e0 Merge branch 'develop' into update_touch_driver 2021-08-28 17:19:49 +03:00
Riku Isokoski c78177eedf Merge branch 'develop' into fit_more_tasks 2021-08-28 17:10:01 +03:00
Riku Isokoski 085c9ab2e1 Merge branch 'develop' into timer_battery_reading 2021-08-28 16:54:40 +03:00
Jean-François Milants fab49f8557 Fix recovery firmware since last changes in DisplayApp. 2021-08-28 15:23:13 +02:00
Jean-François Milants 0313277ae6 Fix touchinfo typo in SystemTask. 2021-08-28 15:10:14 +02:00
Jean-François Milants 45e7638fc2 Merge branch 'twimaster_rework' of https://github.com/Riksu9000/InfiniTime into Riksu9000-twimaster_rework
# Conflicts:
#	src/systemtask/SystemTask.cpp
2021-08-28 15:08:50 +02:00
Colin Kinloch b45d7c372d Correct change test for wake up mode setting 2021-08-26 19:42:02 +01:00
hubmartin db50131ed4 Remove commented commands completely 2021-08-23 15:02:40 +02:00
hubmartin d832a6c908 Merge branch 'develop' into wake-time 2021-08-23 15:00:56 +02:00
hubmartin 51c5257548 Update startup SCL toggling pinmap definitions 2021-08-22 22:17:57 +02:00
hubmartin 2a299fe275 Merge branch 'develop' into pinmap 2021-08-22 22:11:57 +02:00
Kieran Cawthray 8ac1ae70cc Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpicker 2021-08-19 15:14:04 +02:00
Riku Isokoski 2b30ff4fc6 Remove unused variables 2021-08-19 11:12:34 +03:00
Tim Keller 4f6d7e2c63 Move Backup to the system task. 2021-08-19 00:51:12 +00:00
Tim Keller 2dd7b8ba2c Add clearing of noinit segment on bad word
Code readability cleanup
2021-08-19 00:44:22 +00:00
Riku Isokoski 85c99797da Merge branch 'develop' into new_touch_handler 2021-08-18 22:07:02 +03:00
Riku Isokoski 40392d7b91 Use highest frequency and move mutex creation to Init 2021-08-18 21:40:27 +03:00
hubmartin df8ea7fe52 Add memory print usage 2021-08-18 20:21:10 +02:00
Riku Isokoski b91100573e Fix music app buttons 2021-08-18 20:19:02 +02:00
Riku Isokoski 780a811f05 Automatic error detection 2021-08-18 15:23:30 +03:00
Tim Keller 55f8908769 Make Clock Persistant. 2021-08-17 23:53:57 +00:00
Riku Isokoski 9c175e2f0c Fix after merge 2021-08-17 16:01:18 +03:00
Riku Isokoski 5b969ccfa9 Merge branch 'develop' into update_touch_driver 2021-08-17 15:35:29 +03:00
Riku Isokoski 81a36dc31e Simplify parameters and cleanup 2021-08-16 18:26:10 +03:00
Kieran Cawthray 30b32e4c8a Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpicker 2021-08-15 17:50:56 +02:00
hubmartin 099364e619 Remove LCD reset and more cmds, save over 200ms 2021-08-15 16:48:41 +02:00
hubmartin faed0d4900 Remove unnecessary pin_set, save 50ms 2021-08-15 16:47:41 +02:00
Kieran Cawthray 9851ed33d8 Fix potential edge case of sidebar being set black 2021-08-15 15:28:40 +02:00
Kieran Cawthray 639fd3a9bd More tidying following review 2021-08-15 15:00:54 +02:00
Kieran Cawthray 5789f1527c Avoid setting the sidebar black 2021-08-15 14:42:30 +02:00
Kieran Cawthray 16ea069d55 Remove duplicate code, minor fixes 2021-08-15 14:05:21 +02:00
Riku Isokoski 3cef05b745 Merge branch 'develop' into refresh_rework 2021-08-15 13:35:15 +03:00
Kieran Cawthray c0bb88799c Add check for randomise button in case colors clash 2021-08-15 12:33:32 +02:00
Riku Isokoski ee44b6ff49 Adjust inner padding in applist 2021-08-15 11:19:47 +02:00
Riku Isokoski bc82905371 Clean up using variables 2021-08-15 11:19:47 +02:00
Riku Isokoski 637ed8033b Adjust previously missed scrollbar and firmware validation buttons 2021-08-15 11:19:47 +02:00
Riku Isokoski e0d01411d7 Ui update 2021-08-15 11:19:47 +02:00
Kieran Cawthray 477ff32edc Add randomise button to color picker 2021-08-15 10:41:00 +02:00
Riku Isokoski 044036e884 Merge branch 'develop' into timer_battery_reading 2021-08-14 23:02:23 +03:00
Jean-François Milants 0eeed5ac33 Merge branch 'call-improvements' of https://github.com/Riksu9000/InfiniTime into Riksu9000-call-improvements
# Conflicts:
#	src/displayapp/screens/Metronome.cpp
2021-08-14 21:54:00 +02:00
Riku Isokoski c3d8ee14fe Merge branch 'develop' into refresh_rework 2021-08-14 22:53:35 +03:00
Riku Isokoski 6192775161 Improve metronome 2021-08-14 21:08:42 +02:00
Riku Isokoski 7c28de0b6f Set pin before loop 2021-08-14 21:00:33 +02:00
Riku Isokoski 10f610b219 Better pin configuration 2021-08-14 21:00:33 +02:00
Riku Isokoski e51c3eee4e Try to fix bootloop 2021-08-14 21:00:33 +02:00
Riku Isokoski 23bde0d18e Make battery reading periodic. Add events. Disable pullup 2021-08-14 21:18:11 +03:00
Kieran Cawthray 6bffc7d528 Tidying 2021-08-12 21:28:41 +02:00
Kieran Cawthray 52ee25e551 Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpicker 2021-08-12 21:26:51 +02:00
Riku Isokoski 1d341a7aeb Don't reconfigure pins 2021-08-12 14:06:58 +03:00
hubmartin 0d083a2bea Merge branch 'develop' into pinmap 2021-08-11 22:00:55 +02:00
Riku Isokoski fe33c756b7 Fix longpress gesture 2021-08-11 18:31:40 +03:00
Riku Isokoski cd7ca458fa Remove leftover 2021-08-10 22:37:41 +03:00
Riku Isokoski 6776776421 Make diff smaller and revert some changes in DisplayApp 2021-08-10 22:18:21 +03:00
Riku Isokoski 8a694adb09 Rework TouchHandler into not a task 2021-08-10 22:03:34 +03:00
Riku Isokoski 7e92577c14 Revert "Merge branch 'unblock_i2c' into develop"
This reverts commit 275a84b323, reversing
changes made to 9fb3755088.
2021-08-10 21:02:51 +03:00
Riku Isokoski f1346f098e Merge branch 'develop' into new_touch_handler 2021-08-10 20:58:42 +03:00
Riku Isokoski 275a84b323 Merge branch 'unblock_i2c' into develop 2021-08-10 14:15:42 +03:00
Riku Isokoski d307c6bd9e Merge branch 'develop' into refresh_rework 2021-08-10 14:13:58 +03:00
JF002 9fb3755088
Merge pull request #483 from Riksu9000/fix_adc
Fix misconfigured ADC and remove now unnecessary filtering
2021-08-10 12:32:09 +02:00
Jean-François Milants 81a143173f Merge branch 'improve-battery-percentage-to-battery-icon-mapping' of https://github.com/hassless/InfiniTime into hassless-improve-battery-percentage-to-battery-icon-mapping
# Conflicts:
#	src/displayapp/screens/BatteryIcon.cpp
2021-08-10 12:30:42 +02:00
Jean-François Milants c086520c97 Code cleaning in Clock, WatchFaceAnalog, WatchFaceDigital and PineTimeStyle, inspired by PR #232 by nscooling. 2021-08-10 11:39:25 +02:00
Riku Isokoski 90ea1071d1 Explicitly disable pullup 2021-08-10 11:52:20 +03:00
Riku Isokoski 2194a339cf Only enable the bus when needed 2021-08-10 11:26:43 +03:00
Riku Isokoski 5eb56d9a06 Set pin before loop 2021-08-09 22:11:35 +03:00
Riku Isokoski ff81a72533 Better pin configuration 2021-08-09 22:07:06 +03:00
Riku Isokoski d35a54c060 Try to fix bootloop 2021-08-09 21:49:35 +03:00
Riku Isokoski baa7e1bf12 Optimize twiMaster 2021-08-09 17:45:24 +03:00
Tim 3e9c30a18f
Merge branch 'JF002:develop' into set-datetime-manually 2021-08-08 14:37:48 +02:00
hubmartin abd8f343e4 Rename backlight level pins 2021-08-04 14:43:04 +02:00
hubmartin b3e6da7514 Cleanup, set Pinetime as default 2021-08-03 20:40:27 +02:00
hubmartin b7aa04e1f5 PinMap with namespace and constexpr 2021-08-03 20:32:23 +02:00
Riku Isokoski 10b5d30ec3 Merge branch 'develop' into refresh_rework 2021-08-03 12:16:40 +03:00
hubmartin 28abeae21b DRAFT: Put gpio pins to separate file 2021-08-02 21:37:48 +02:00
Riku Isokoski f9319dfb91 Remove leftover 2021-08-01 21:19:33 +03:00
Riku Isokoski 09aaa58710 Remove floating point calculation 2021-08-01 16:19:09 +03:00
Riku Isokoski a618f43b4d Fixes 2021-08-01 14:13:32 +03:00
Riku Isokoski e6dcb3009f Improvements 2021-08-01 13:05:48 +03:00
Riku Isokoski 5bdef365f2 Merge branch 'develop' into HEAD 2021-08-01 11:47:26 +03:00
Kieran Cawthray 12aeb46889 Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpicker 2021-07-28 16:07:43 +02:00
Riku Isokoski 79ee65bfd5 Increase ADC precision 2021-07-27 22:41:48 +03:00
Riku Isokoski a0a05553cf Merge branch 'develop' into fix_adc 2021-07-27 21:57:21 +03:00
Kieran Cawthray e6bc485679 Increment settings value, remove old hacky fix 2021-07-25 22:18:39 +02:00
Jean-François Milants 514481ef7f Tile event handler : read the event data only if the event is a "value changed event". LVGL sends many other event and some of them do not set the event data (global static variable) to a valid address, which may cause an invalid read. I noticed that when porting this class on RISC-V platform (BL602). 2021-07-25 19:55:21 +02:00
Riku Isokoski a1ba187c47 Merge branch 'develop' into new_touch_handler 2021-07-25 20:01:09 +03:00
Riku Isokoski 2e8bc634dc Merge branch 'develop' into fit_more_tasks 2021-07-25 19:30:27 +03:00
Jonathan Vander Mey 7b75ca591d Fix compile warnings 2021-07-25 18:01:13 +02:00
Riku Isokoski 574434550a Fix slow scroll 2021-07-25 17:59:58 +02:00
Riku Isokoski 1ae22f45f9 Fix cases where Get() isn't used 2021-07-25 17:56:07 +02:00
Riku Isokoski f2f22184b0 Add new unique icons for some apps 2021-07-25 17:55:08 +02:00
Riku Isokoski a69be1520a Add task state info to SystemInfo 2021-07-25 17:52:19 +02:00
Riku Isokoski ec2469a6c1
Code cleanup (#466)
* Code cleanup
* Remove override again
2021-07-25 16:54:05 +02:00
Riku Isokoski 34949a47c5
Dim screen before sleep (#464)
* Implement dimming
2021-07-24 20:29:10 +02:00
Riku Isokoski e4d9636e82 Merge branch 'develop' into new_touch_handler 2021-07-24 20:26:10 +03:00
Jonathan Vander Mey 7cc73b7832 Move callback function into anonymous namespace 2021-07-24 13:02:43 -04:00
Jean-François Milants 926553d043 Merge branch 'fix_touchevent_tap' of git://github.com/Riksu9000/InfiniTime into Riksu9000-fix_touchevent_tap
# Conflicts:
#	src/displayapp/DisplayApp.cpp
2021-07-24 18:46:52 +02:00
Jonathan Vander Mey 487ae478ad Remove unnecessary C-style casts with BLE UUIDs
Instead of casting the UUID object to the ble_uuid_t* used throughout
the NimBLE API just pass the address of the ble_uuid_t member that's at
the start of each of the UUID structs.
2021-07-24 11:40:06 -04:00
Jonathan Vander Mey 1bdaf581a3 Update nav service UUID macro to constexpr functions 2021-07-24 11:18:17 -04:00
Jonathan Vander Mey 6b95fd841f Set navigation service id is base UUID macro
Avoids the need to copy the same ID into every characteristic UUID
genereated from it.
2021-07-24 11:09:56 -04:00
Jonathan Vander Mey 54ccd2cc07 Update Navigation UUID documentation
Fixed mismatch between the service and characteristic IDs in the
navigation service comments and documentation. They had old values not
reflecting the current code and changes in doc/ble.md
2021-07-24 11:07:06 -04:00
Kieran Cawthray b3e3d75d0f Add extra screen in settings to show scrollbar correctly 2021-07-24 14:25:27 +02:00
Riku Isokoski fc93bdbbba Merge branch 'develop' into refresh_rework 2021-07-23 22:56:00 +03:00
Riku Isokoski d666c5004f
Merge branch 'develop' into new_touch_handler 2021-07-23 22:52:08 +03:00
Kieran Cawthray 1ddb1f0832 Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpicker 2021-07-23 15:03:28 +02:00
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
Riku Isokoski 12b14176ec Fix 2021-07-21 14:46:27 +03:00
Riku Isokoski 93893511f1 Fit more tasks in SystemInfo 2021-07-21 14:41:29 +03:00
Kieran Cawthray db784fc2fb Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpicker 2021-07-20 15:30:07 +02:00
Riku Isokoski 331fc2be69 Set remaining default periods to LV_DISP_DEF_REFR_PERIOD 2021-07-19 17:06:20 +03:00
Riku Isokoski 97c761a5c7 Refresh rework 2021-07-19 16:26:12 +03:00
Riku Isokoski dc2b5f0c6b Restore Tile.cpp changes 2021-07-19 10:21:42 +03:00
Riku Isokoski 3e42297bd8 Update 2021-07-18 12:32:46 +03:00
Riku Isokoski 329482f873 Fix remaining known issues 2021-07-16 11:55:29 +03:00
Riku Isokoski baffa1594f Fix gestures 2021-07-16 02:17:17 +03:00
Riku Isokoski 93ccbf38e8 Fix touch wakeup and code cleanup 2021-07-16 01:49:20 +03:00
Riku Isokoski 2a3e126390 Fix most issues 2021-07-16 00:07:55 +03:00
Riku Isokoski 0d24d2b81e Quick fix 2021-07-15 23:18:05 +03:00
Riku Isokoski fe64176e7b New touch handler, with issues 2021-07-15 14:11:27 +03:00
Riku Isokoski 7ac6bdfe71 Merge branch 'develop' into update_touch_driver 2021-07-15 01:03:44 +03: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
Riku Isokoski 7133287b76
Set correct refresh times for lvgl (#488) 2021-07-14 20:35:21 +02:00
Riku Isokoski 5bc40c9287 Update touchpad driver 2021-07-14 17:11:16 +03:00
Riku Isokoski 95b8a56dd4 Merge branch 'develop' into fix_touchevent_tap 2021-07-14 09:59:56 +03:00
Riku Isokoski b5eabf6604 Merge branch 'develop' into fix_adc 2021-07-13 22:11:46 +03:00
Jean-François Milants a07b6382ae Merge branch 'develop' of github.com:JF002/Pinetime into develop 2021-07-13 20:54:49 +02:00
Jean-François Milants e2efb193c4 Merge branch 'lvgl_use_system_tick' of https://github.com/Riksu9000/InfiniTime into Riksu9000-lvgl_use_system_tick
# Conflicts:
#	src/displayapp/screens/BatteryInfo.cpp
#	src/displayapp/screens/BatteryInfo.h
2021-07-13 20:53:40 +02:00
Riku Isokoski a5616b0bc8
Adjust displayapp delay to compensate time spent (#482) 2021-07-13 20:42:59 +02:00
Jean-François Milants 3e70554844 Merge branch 'develop' into notify-battery-level
# Conflicts:
#	src/displayapp/screens/BatteryInfo.cpp
2021-07-13 20:31:26 +02:00
Riku Isokoski 7efe2b7c51 Fix misconfigured ADC and remove now unnecessary filtering 2021-07-12 23:07:05 +03:00
Kieran Cawthray db99ac88d9 Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpicker 2021-07-12 13:01:11 +02:00
Jonathan Vander Mey 4f378e8726
Refactor trig functions into LUT (#476)
Replaced the use of the standard library trig functions with a LUT-based
implementation instead. The standard library implementations produce
more accurate results but the usage here doesn't need that. This ends up
saving nearly 7kB of binary size.
2021-07-11 20:18:07 +02:00
kieranc 748e31421d
Modify status text in BatteryInfo so it fits on screen (#437)
* Modify status text in BatteryInfo so it fits on screen
2021-07-11 17:48:16 +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
kieranc 6a91b83b12
Change step gauge range to 100 and calculate progress as percantage (#468) 2021-07-11 15:08:23 +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
Tim Taenny ffa51612fc Code optimizations in SettingSetDate and SettingSetTime
Instead of calling lv_obj_align after each button click, the
labels have their auto_realign property set.
2021-07-09 20:35:48 +02:00
Tim Taenny da36d4a5a1 Code optimizations in SettingSetTime
The positions of the labels are controlled by #define's, just
like in SettingSetDate.
2021-07-09 20:17:47 +02:00
Tim Taenny 0842a13339 Modified Settings menu as per suggestion
Moved "Set date" and "Set time" to the second page of the
Settings menu.
2021-07-09 17:49:35 +02:00
Tim Taenny 3e5ad49e3a Code optimizations in SettingSetDate
Using static method of DateTimeController for retrieving month
texts instead of implementing it in SettingSetDate again.
2021-07-09 17:46:17 +02:00
Tim Taenny 899bee2cf5 Exposed Month and DayOfWeek texts in DateTimeController
Added static methods to return the text of a given month
or dayOfWeek.
2021-07-09 17:32:48 +02:00
Tim Taenny 06dfe14251 Code optimizations in SettingSetTime 2021-07-09 17:13:29 +02:00
Tim Taenny f78c9bfcab Code optimizations in SettingSetDate 2021-07-09 16:57:59 +02:00
timaios 5ae4192d8d
Added new menu entries to Settings page 2021-07-09 14:22:45 +02:00
timaios f3f5eb5739
Added new screens to DisplayApp.cpp 2021-07-09 14:19:38 +02:00
timaios 6b3be0f5a1
Added new screens to the list of applications 2021-07-09 14:15:50 +02:00
timaios 07b3a507b4
Include new screens in CMakeLists.txt 2021-07-09 14:14:17 +02:00
timaios c396925766
Added new screen: SettingSetDate 2021-07-09 14:12:26 +02:00
timaios c77634ce32
Added new screen: SettingSetTime 2021-07-09 14:11:20 +02:00
Riku Isokoski 99e26bdd4c LVGL use system tick 2021-07-07 15:47:47 +03:00
Riku Isokoski 61a4642221
Improve stopwatch (#432)
* Improve stopwatch more

* Make sure sleep gets reenabled

* Cleanup and clang-format
2021-07-04 20:23:03 +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
Riku Isokoski 3b0fcc2a73 clang-format 2021-07-04 20:05:39 +02:00
Riku Isokoski 94aefed98f Condense firmware validation code 2021-07-04 20:05:39 +02:00
Riku Isokoski 217f16d189 Improve paddle game 2021-07-03 10:40:30 +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
Bryton Hall 4e435e93e0
and metronome icon (#439)
* add drum icon for metronome app
2021-07-02 17:34:32 +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
Riku Isokoski 7075b7f264 Fix call notification button alignment 2021-07-02 17:20:58 +02:00
Avamander bdb5965f1a static_cast cleanup 2021-07-02 16:27:41 +02:00
Avamander 2f479e5fc7 Fixed a bunch of format specifiers 2021-07-02 16:27:16 +02:00
Kieran Cawthray 2edf41be8e Fix bad merge 2021-06-29 21:15:39 +02:00
Kieran Cawthray 9bd180896e Replace font file 2021-06-29 21:12:39 +02:00
Kieran Cawthray 4f21748aa2 Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpicker 2021-06-29 21:10:36 +02:00
kieranc f317d54218
Add PineTimeStyle watchface (#334)
* PineTimeStyle
* Move GPL license header
* Add step count gauge - replaces heartrate in sidebar
* Enable 12/24h functionality
* Set step gauge outer to be white when step goal is reached
* Add font source file
* Move static needle_colors array to member variable
* Add documentation on generating a font
* Replace .ttf with Google version, add link to font page

Co-authored-by: JF002 <JF002@users.noreply.github.com>
2021-06-29 20:20:27 +02:00
Kieran Cawthray 660a8597f6 Add reset button, reduce button opacity 2021-06-27 15:24:17 +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
Kieran Cawthray 6889cf1ed8 Fix the fix, whoops 2021-06-25 21:55:51 +02:00
Kieran Cawthray 800daecf90 Add a check to set default colors if all colors are white 2021-06-25 21:36:55 +02:00
Kieran Cawthray f3b40cb7a6 Make it loop around when you get to the end of the list of colors 2021-06-25 19:04:29 +02:00
Kieran Cawthray be22a9b1b8 Fix off-by-one error, reduce step gauge needle width 2021-06-25 15:09:18 +02:00
Kieran Cawthray 878dd1a776 Use colors from settings for PineTimeStyle watchface 2021-06-25 14:58:45 +02:00
Kieran Cawthray 50b92e5dd6 Move array to member variable, retrieve colors from settings for display 2021-06-25 14:47:56 +02:00
Kieran Cawthray d5d8438b60 Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpicker 2021-06-25 08:48:16 +02:00
Kieran Cawthray 8f16574992 PineTimeStyle color picker tidying 2021-06-24 21:51:23 +02:00
Kieran Cawthray 7edfc53481 PineTimeStyle color picker add settings integration 2021-06-24 21:49:04 +02:00
Kieran Cawthray 38ab0add48 PineTimeStyle color picker initial commit 2021-06-24 19:15:23 +02:00
Kieran Cawthray 14721e8f1e Move static needle_colors array to member variable 2021-06-23 22:14:34 +02:00
Kieran Cawthray c3f854ba65 Add font source file 2021-06-22 21:32:27 +02:00
Florian 883700fca1
update main font to keep diffs for future changes small (#420)
* update font with jetbrains mono v2.225 and the current converter
* added the tff file for JetBrains Mono to ensure everybody is using the same version

Co-authored-by: Florian <florian@florian-thinkpad.local>
2021-06-22 20:56:49 +02:00
Jonathan Vander Mey ef999e8dd3
Fix typo in variable names (#430) 2021-06-22 20:34:46 +02:00
Avamander 572be3e857
Removed an illogical comparison from SystemInfo and St7789 driver (#449)
* Removed an illogical comparison
2021-06-22 20:31:31 +02:00
Kieran Cawthray be505fc15f Set step gauge outer to be white when step goal is reached 2021-06-21 20:06:47 +02:00
Kieran Cawthray 266573deff Enable 12/24h functionality 2021-06-20 21:57:28 +02:00
Kieran Cawthray 607af27ba8 Add step count gauge - replaces heartrate in sidebar 2021-06-20 21:53:09 +02:00
Kieran Cawthray b130ffa39c Merge remote-tracking branch 'upstream/develop' into pinetimestyle 2021-06-20 21:46:51 +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
hassless 84a6c88e98
Merge branch 'JF002:develop' into improve-battery-percentage-to-battery-icon-mapping 2021-06-18 17:17:26 +02:00
Kieran Cawthray f5d756928f Merge remote-tracking branch 'upstream/develop' into pinetimestyle 2021-06-16 16:33:34 +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
Jonathan Vander Mey 006771699f Remove infinitime-nb.c from source list
Was causing compiler warning for unused constant variable when being
compiled. This feel is directly included where it's needed so it doesn't
need to be separately compiled anyways.
2021-06-12 20:04:19 +02:00
Jean-François Milants dbc2d23405 Add Init() in DummyuLittleVgl to fix recovery firmware 2021-06-12 18:00:42 +02:00
Jean-François Milants d6fcbe960e Fix build issues since Metronome app has been merged. 2021-06-12 15:14:14 +02:00
Bryton Hall c575754b42
add basic metronome app (#409)
* add basic metronome app

* add bpb, tap to bpm, update widgets

* use event pressed for bpm tap

* move case statement break to the right place

* narrow bpm selection range, override touch events

* fix arc knob style

* re-enable sleeping in destructor
2021-06-12 15:06:58 +02:00
JF002 58a8507b3d
Merge pull request #405 from Riksu9000/improve_stopwatch
Improve stopwatch
2021-06-12 14:27:51 +02:00
Jean-François Milants d7962617e4 Clock : initialize the actual clockface in initialization list instead of in the core of the ctro(). 2021-06-12 14:21:29 +02:00
JF002 17c6583937
Merge pull request #425 from Raupinger/remove-watch-tap
Remove tap to switch Watchfaces
2021-06-12 14:15:32 +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
Avamander 314a8ebba0
Changed the namespace of SystemInfo::sortById to avoid a name conflict (#360) 2021-06-12 11:18:19 +02:00
Riku Isokoski bf906bd573
Fix scrollbar (#382) 2021-06-12 11:12:39 +02:00
Jonathan Vander Mey 4d1626e3b6
Fix fallthrough on case statement (#403) 2021-06-12 11:07:23 +02:00
Jean-François Milants 6d524ebea2 Move most of the code from the constructor of the objects statically 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-12 10:58:28 +02:00
Riku Isokoski 239b5547ea Fix another regression 2021-06-11 14:55:37 +03:00
Riku Isokoski 21b6f85140 Fix regression 2021-06-11 14:46:03 +03:00
Riku Isokoski 123c6f1917 Fix touchevent tap 2021-06-11 13:26:28 +03:00
Florian 049174bd35 replace ScreenList with a single screen in Clock. This removes the tap to switch feature 2021-06-11 01:15:32 +02:00
Jean-François Milants b1925ff286 Minor improvements: use std::make_unique when creating unique_ptr, check the code is running from an IRQ before calling xQueueSendFromISR or xQueueSend) 2021-06-10 21:20:27 +02:00
Jean-François Milants caca6a5cff Fix stack corruption when exiting an app (the app was destroyed while it was executing the button handler). 2021-06-10 21:19:11 +02:00
hassless d0df278b0b
Update BatteryIcon.cpp
Improvement to the mapping of battery percentage to the battery icon to be displayed.
2021-06-09 13:47:22 +02:00
Jean-François Milants ff00873f97 Fix build for recovery firmware. 2021-06-06 20:20:55 +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
Kieran Cawthray f2d01166c3 Merge remote-tracking branch 'upstream/develop' into pinetimestyle 2021-06-04 08:57:40 +02:00
JF002 79f0fcb07a
Add the maximum memory used by LVGL in SystemInfo app. This will help the developers to size the memory buffer allocated to lvgl. (#408) 2021-06-01 21:03:29 +02:00
JF002 1b6acdedc2
Enable various compilation flags to reduce the binary size (#401)
* Add the following compilation flags:
 * -fno-exceptions and -fno-non-call-exceptions : disable exception handling
 * -fno-rtti : disable run time type information (needed by dynamic_cast, for example)

These flags reduce the binary size by about 100KB!

Also, -fstack-usage generate debug info (not in final binary) to allow tools like Puncover to do a stack analysis.

* Remove unused CMake variables in CMake_nRF5x.cmake (duplicated in src/CMakeLists.txt).
Replace -O0 by -Og in DEBUG builds. This generates a smaller binary (small enough for the internal memory) that is debugger friendly.
2021-06-01 21:03:01 +02:00
JF002 c0b0f8cb73
Remove debug defines (DEBUG & DEBUG_NRF_USER) from the build. These debug can be useful for debugging purposes but not in production (release). (#400)
This reduces the size of the binary by about 6KB!
This also removes filepath that were embedded into the binary (.bin) file.
2021-06-01 21:02:15 +02:00
JF002 287399f993
Navigation app: reduce memory usage (#362)
* Navigation app:
 - Renaming and reformatting according to coding conventions
 - declare iconMap as constexpr and use char* instead of std::string

This reduces the flash usage from 424644B to 419344B (-5300B)!
2021-06-01 21:01:32 +02:00
Riku Isokoski c6969268fc Keep button visible, but disabled 2021-05-26 16:13:40 +03:00
Riku Isokoski b393105082 improve ui and optimize code 2021-05-26 15:15:10 +03:00
Kieran Cawthray 565601ef50 Merge remote-tracking branch 'upstream/develop' into pinetimestyle 2021-05-21 14:34:25 +02:00
Jean-François Milants f88c0f41fa Fix recovery DisplayApp. 2021-05-21 11:56:50 +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
Florian 8c3b250dbf
removed an empty assignment that caused a compiler warning (#372) 2021-05-20 20:34:21 +02:00
Kieran Cawthray 5c413016a7 Move GPL license header 2021-05-19 17:27:42 +02:00
Kieran Cawthray 249b6db6f5 Remove newline modifications 2021-05-19 17:05:33 +02:00
Kieran Cawthray 5daaa5cf75 Tidying/formatting fixes 2021-05-19 11:03:33 +02:00
Kieran Cawthray 108bbc3642 Fix it again.. 2021-05-18 18:03:26 +02:00
Kieran Cawthray 6a92529272 Revert "Reset"
This reverts commit 378fa6b401.
2021-05-18 17:45:16 +02:00
Kieran Cawthray a4968b5029 PineTimeStyle 2021-05-18 15:33:25 +02:00
Kieran Cawthray 378fa6b401 Reset 2021-05-18 15:33:25 +02:00
Jean-François Milants 9ab298c09e Fix wrong initialization of 'pinPowerPresent' pin that would prevent the touchpanel from working correctly when the device boots while connected to the charger. 2021-05-17 09:52:31 +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 5b2472c4bc
Merge pull request #347 from jedi2light/feature-show-git-commit-hash-short
Feature: Store and show git short ref on PineTime alongside other firmware information
2021-05-16 11:37:39 +02:00
Florian Kraupa 9e8dd9a1e6 NotificationItem now also redefines the start of the timeout 2021-05-16 00:42:31 +02:00
Florian Kraupa 56af4a0b83 cleaned up the code and reduced the size of the diff by removing things like additional whitespaces 2021-05-16 00:42:31 +02:00
Florian Kraupa 5da65494b3 only activate the timeout on call notification previews after they have been interacted with 2021-05-16 00:42:31 +02:00
Florian Kraupa d13dd6dee3 implemented continuous vibration pattern for incoming calls 2021-05-16 00:42:31 +02:00
Florian Kraupa 2627ef760e better handling of long notification titles 2021-05-16 00:16:33 +02:00
Jean-François Milants d7fa000b85 DisplayApp : returnApp was renamed ReturnApp() (manual fix after multiple merges). 2021-05-15 22:38:49 +02:00
JF002 09977c28c0
Merge pull request #298 from joaquimorg/StepsApp
New Steps app
2021-05-15 22:32:40 +02:00
JF002 204d63697c
Merge pull request #349 from Avamander/patch-2
Switched to booleans for infinite while loops
2021-05-15 09:57:22 +02:00
JF002 48018fc1d8
Merge pull request #350 from Avamander/patch-3
Added braces to a few if statements
2021-05-15 09:56:48 +02:00
Avamander d29d513244 Fixed a naming inconsistency of DisplayApp::ReturnApp and a few formatting errors 2021-05-14 12:46:51 +03:00
Avamander e54163b7c2 Added braces to a few if statements 2021-05-14 12:43:29 +03:00
Avamander 33f965f326 Switched to booleans for infinite while loops 2021-05-14 12:40:46 +03:00
Stoian Minaiev a4de61e1f5 git: show git short ref hash on SystemInfo(first screen) and FirmwareValidation screen alongside other information 2021-05-14 01:09:40 +03:00
Stoian Minaiev e04c8ee95e git: store git short ref hash on build stage to Version.h 2021-05-14 01:08:37 +03:00
Stoian Minaiev 9a8824c35a
SystemInfo app screen
First screen. Let the build date and build time string be centered as well as the others
2021-05-10 15:13:33 +03:00
Martin Ashby 3a938236d4
Fix a possible double free in StopWatch::Refresh.
The lv_obj_del is called on btnStopLap  when transitioning to the
initial state, however the variable isn't then set to null. A subsequent
call to Refresh would attempt to delete the already freed object. This
could be triggered by stopping the stop watch, then pressing the
physical button on the watch.

Fixes https://github.com/JF002/InfiniTime/issues/315
2021-05-03 08:11:58 +01:00
JF002 e3ead332b9
Merge pull request #319 from DavidVentura/use-byte-for-ppg
Use int8_t for PPG data array
2021-05-02 14:55:43 +02:00
JF002 65e4fe0310
Merge pull request #314 from eivindm/improved_heartbeat_in_watchface
Improve design of heartbeat data in digital watchface
2021-05-02 14:41:19 +02:00
Eivind Mork 3355afbbd1 Show heartbeat icon in watchface in gray if data is missing 2021-05-02 12:30:33 +02:00
JF002 9f15fd1820
Merge pull request #301 from petterhs/vib
Short vibration when enabling it in quick settings menu
2021-05-02 11:58:48 +02:00
petter 6e1726d1d0 short vibration when enabling it 2021-05-02 11:48:05 +02:00
JF002 d141888b82
Merge pull request #275 from panos/navigation-text
Changed text in Navigation
2021-05-02 11:45:08 +02:00
JF002 9af0eb04c2
Merge pull request #318 from Kozova1/TypoFix
Fix typo in src/displayapp/fonts/README.md
2021-05-02 11:43:35 +02:00
JF002 cd902e3670
Merge pull request #308 from joaquimorg/LVGL-Update
Update LVGL
2021-05-02 11:41:45 +02:00
david a62b81da3d Fix #209. Use int8_t for PPG data array 2021-05-01 12:10:44 +02:00
Kozova1 d9bbda2010
Fix typo in src/displayapp/fonts/README.md
Signed-off-by: Kozova1 <mug66kk@gmail.com>
2021-04-30 01:02:30 +03: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 552f880a23 Update LVGL
fixes from upstream
2021-04-21 15:48:41 +01:00
Jean-François Milants fefb429fb4 Fix formatting issue on the lap counter in Stopwatch (display lap counter on 2 characters). 2021-04-20 21:01:38 +02:00
Joaquim 5fc07a8df7 Fix button size and default step goal 2021-04-20 16:21:01 +01:00
Jean-François Milants 410cc821f4 Fix formatting issue on the lap counter in Stopwatch. 2021-04-19 20:30:51 +02: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
Jean-François Milants bbc24e88b0 Fix a display glitch when an OTA is initiated while an app (other than Clock) was open and while the device was in sleep mode. 2021-04-18 17:44:40 +02:00
Jean-François Milants a7114f21b7 Fix display consistency with the HR measurement when measurements are already running when the app is open. 2021-04-18 13:50:38 +02:00
JF002 6eaa395e7d
Merge pull request #285 from Peetz0r/fix-stopwatch-formatting
Fix stopwatch formatting
2021-04-18 10:47:46 +02:00
JF002 4152306bc3
Merge pull request #269 from petterhs/musicBtnTheme
Apply theme to Music buttons
2021-04-18 10:40:15 +02:00
Peetz0r b221cc1731 Stopwatch: improve variable naming
msec => hundredths
2021-04-17 23:47:53 +02:00
Peetz0r 7caeecc09b Stopwatch: improve number formatting 2021-04-17 23:47:02 +02:00
Panagiotis Vasilopoulos a26f64996a
Changed text in Navigation 2021-04-17 05:40:05 +03:00
Jean-François Milants 63635381b0 Disable the reading of the motion values in sleep mode when the wake up mode is not 'wrist rotation'. 2021-04-16 20:05:46 +02: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
petter 2f1ddad403 fix style formatting in 2048 game 2021-04-16 01:18:32 +02:00
Joaquim José Almeida Pereira 969bb8e721 Change animation direction in menus 2021-04-15 15:55:01 +01:00
petter d2f9ea893a apply button theme to Music UI 2021-04-14 23:43:06 +02:00
Joaquim f5e43a1668 Move Task info to about menu
fix build error in WatchFaceDigital
2021-04-11 17:20:15 +01:00
Joaquim 012c246e40 0.16.0 TWI problems fix
More memory for freertos heap and timer stack
Fix warning in watchface
Fix number of bytes read by cst816
Debug app to show freertos tasks
Increased the number of bytes of the twi write buffer
2021-04-10 19:09:33 +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 57b4c3f0ed Fix display of empty notification. 2021-04-09 20:50:09 +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 3685095da0 add more memory to displayapp task 2021-04-09 09:29:29 +01:00
Jean-François Milants 9ac4be8b75 TwiMaster is now based on the NRFX TWI driver, as it handles more edge cases 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-08 20:07:24 +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
Joaquim José Almeida Pereira 96961709f3 array in SettingWakeUp wrong size 2021-04-05 11:01:44 +01:00
Joaquim 7e2db806c3 font creation 2021-04-04 22:03:53 +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 c7cc47ae30 Code cleaning in BMA421 driver. Do the axis inversion in the driver and not 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-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 1b71a10beb Notification app : disable swipe when the app is in 'preview' mode. In this mode, only the new notification should be displayed, there is no point to allow navigating to past notifications.
Works as a workaround for the crash that occurs when you swipe the notification app in preview mode (https://github.com/JF002/InfiniTime/issues/250).
2021-04-04 13:42:22 +02: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
Niall Cooling 8eb947a223 replaced all unique_ptr.reset calls with std::make_unique 2021-03-22 17:56:26 +00:00
Niall Cooling e5e3fc02b8 Updated to include WatchFaceAnalog and fixed clashes 2021-03-22 17:23:49 +00:00
JF002 0c8b371a4c
Merge pull request #245 from petterhs/fixDisplayErrors
fix display driver issues in recovery
2021-03-21 16:35:21 +01:00
JF002 84798329dc
Merge pull request #244 from joaquimorg/LVGL7.11.0
Update to LVGL 7.11.0 Final
2021-03-21 16:35:00 +01:00
petter 3b51b4367d fix display driver issues in recovery 2021-03-21 12:29:57 +01:00
panky-codes dd9d6cd23e Reverted the paddle app in displayapp.cpp 2021-03-21 11:15:31 +01:00
panky-codes bb12ae9d65 Updated lvgl submodule to match with develop branch 2021-03-21 10:43:14 +01:00
panky-codes 5345650880 Merged upstream 2021-03-20 22:45:29 +01:00
panky-codes 754ac23304 Reworked based on PR comments. 2021-03-20 22:42:13 +01:00
Joaquim d257ad21be Update to LVGL 7.11.0 Final 2021-03-20 18:12:44 +00:00
JF002 a3ff2e46ca
Merge pull request #240 from joaquimorg/ScreenCorruptionFIX
FIX screen corruption (Issue #213)
2021-03-20 18:10:13 +01:00
JF002 463e60eb4e
Merge pull request #237 from muesli/systeminfo-url
Update project URL in SystemInfo
2021-03-20 17:55:32 +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
Niall Cooling 14bd790701 Resolved C++14 Cmake build issues so correctly building to C99/C++14 standards 2021-03-16 12:43:50 +00:00
Christian Muehlhaeuser 509ac066d4
Update project URL in SystemInfo
Pinetime -> InfiniTime
2021-03-16 04:01:22 +01:00
panky-codes abc30028a2 Removed unused variables. Tested. 2021-03-15 21:35:36 +01:00
panky-codes bc6d447a5f Increased the size of the button and realigned the layout a bit. Tested. 2021-03-13 22:29:07 +01:00
panky-codes d409643b8e Added some comments for clarity. Ready for review. Tested. 2021-03-13 14:53:37 +01:00
panky-codes 02824d0671 Stopwatch completed. Ready for PR 2021-03-13 14:38:18 +01:00
panky-codes 5d57b9054a Adding laps completed. 2021-03-13 13:59:54 +01:00
panky-codes 00f2a053bf Laps introduced. Tested. Need to change the icon. 2021-03-12 20:24:53 +01:00
panky-codes a090664a4c Added a button for stop lap. Logic works. Need to implement symbol and buffer for lap 2021-03-12 09:43:13 +01:00
panky-codes 70373e7345 Added play/pause button. 2021-03-11 23:41:24 +01:00
panky-codes ce91e1a7a6 Changed the clock source. Stopwatch works. Need to add butttons. 2021-03-11 11:56:58 +01:00
panky-codes 1f8f527f9f Merge branch 'develop' of github.com:JF002/Pinetime into feature/add-stop-watch 2021-03-11 10:54:58 +01:00
panky-codes cc58b635a3 Basic logic done. Need to change the timer source to get ms. Also need to replace with paddle app in displayApp.cpp and ApplicationList.cpp later. 2021-03-11 10:54:14 +01:00
Joaquim José Almeida Pereira 282e34dca1 fix AM/PM 2021-03-08 12:23:32 +00:00
Jean-François Milants 5845fd98ba Add submodule again... 2021-03-07 09:15:26 +01: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 3d6e8c3beb Merge from upstream 2021-03-06 19:55:36 +00:00
JF002 54dcd77c61
Merge pull request #222 from nscooling/refactor-clock-private-statics
Moved private statics into unnamed namespace in cpp file
2021-03-06 17:34:57 +01:00
Niall Cooling d34a510158 Moved private statics into unnamed namespace in cpp file to reduce coupling and uncessar in header 2021-03-03 17:07:05 +00:00
Niall Cooling 35aa4bb8d6 Refactored src/CMakelist to support C++14 and cleanup up redundant/incorrect -std= directives 2021-03-03 15:27:32 +00:00
Joaquim ee6ce64571 Merge branch 'develop' of https://github.com/JF002/Pinetime into MultiFaceClock 2021-02-25 09:28:25 +00:00
Joaquim 8c53d0b70b Multi face support, analog clock, 12/24 config 2021-02-24 19:40:24 +00:00
JF002 8a48850afd
Merge pull request #211 from roblabla/fix-flashing
Flash correct file name
2021-02-24 20:05:47 +01:00
Jean-François Milants 094f98743d Fix LVGL submodule (sorry!) 2021-02-23 21:53:50 +01:00
Jean-François Milants b11b20b0ac Remove LVGL folder (it's now a submodule) 2021-02-23 21:21:29 +01:00
Jean-François Milants f864330d35 Merge branch 'LVGL7' of https://github.com/joaquimorg/Pinetime into joaquimorg-LVGL7
# Conflicts:
#	src/CMakeLists.txt
#	src/displayapp/DisplayApp.cpp
#	src/displayapp/screens/Modal.cpp
#	src/displayapp/screens/Modal.h
#	src/displayapp/screens/Notifications.cpp
#	src/displayapp/screens/Tile.h
2021-02-23 21:18:59 +01:00
Joaquim 3fe3f06299 Fix delay in button actions 2021-02-22 21:33:27 +00:00
roblabla 9f6d1c6948 Flash correct file name 2021-02-19 19:44:51 +01:00
Jean-François Milants f81ff98c30 Merge branch 'develop' of github.com:JF002/Pinetime into develop 2021-02-14 14:42:42 +01:00
Jean-François Milants 01e194426d Fix IRQ management in FreeRTOS to avoid crash and deadlock in BLE stack. 2021-02-14 14:42:30 +01:00
JF002 e62f8734be
Merge pull request #205 from nscooling/dirtyRefactor
refactored class DirtyValue
2021-02-14 14:37:26 +01:00
JF002 57ce58ff0d
Merge pull request #186 from petterhs/musicUI
music: Symbols for the buttons
2021-02-14 14:32:15 +01:00
Jean-François Milants 2922b26121 Remove debug variable. 2021-02-14 14:30:34 +01:00
JF002 0ad10a3817
Merge branch 'develop' into Hrs3300_SetGain_remove_warnings 2021-02-14 14:26:49 +01: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
Niall Cooling 6c03c97005 eliminated warnings in Hrs3300 2021-02-12 17:36:56 +00:00
Niall Cooling 751ffab497 refactored class DirtyValue 2021-02-12 17:13:02 +00:00
Jean-François Milants 4918524550 Fix memory leak in timer management in port layer of Nimble. 2021-02-07 18:09:19 +01:00
petter 1e2cc3ce91 add vibration toggle 2021-02-07 13:31:02 +01:00
petter 7ab153cd76 refactor MotorController 2021-02-05 17:12:46 +01:00
petter 1bd5457848 trigger vibration from systemtask 2021-02-05 15:43:20 +01:00
Jean-François Milants 5016e0143f Increase FreeRTOS heap size and re-enable heart rate task. New Nimble probably uses more memory than before. 2021-02-03 20:28:41 +01:00
Jean-François Milants d90b7274fa Update to nimble 1.3 master branch commit 82153e744833821e20e9a8b0d61c38b2b0dbcfe1
WARNING : heartbeat task is disabled!
2021-02-02 22:09:00 +01:00
Jean-François Milants 740b3d7b58 Add new cmake option to disable the generation of DFU file (which needs adafruit-nrfutil on the build machine) : BUILD_DFU (disabled by default, enabled in docker build). 2021-02-01 21:07:53 +01:00
Joaquim a4361de0cf Cleanup 2021-02-01 12:14:49 +00:00
Joaquim ccd423bcef Merge branch 'develop' of https://github.com/JF002/Pinetime into LVGL7 2021-02-01 10:44:10 +00:00
JF002 97807edd9d
Merge pull request #193 from Avamander/patch-5
Updated CMakeLists.txt to be more consistent
2021-01-31 20:51:02 +01:00
Jean-François Milants 51ff9d5e7b Normalize all the line endings 2021-01-31 20:50:04 +01:00
Jean-François Milants d2bb209d7f Remove BLE debug code 2021-01-31 19:51:36 +01:00
Avamander 4371b7fecc
Update CMakeLists.txt 2021-01-30 19:11:07 +02:00
Joaquim a456887eff LVGL v7.10.0 2021-01-28 17:13:28 +00:00
Joaquim efa99da44d LVGL V7 Upgrade 2021-01-28 17:07:28 +00:00
petter d4c31bcbbe add mute button and functionality for call notification + new button icons 2021-01-27 17:07:46 +01:00
petter 700af0b8a1 improve music UI with icons for play/pause/next/prev/ and volume 2021-01-27 13:49:56 +01:00
petter 7ea2cbff67 update font with icons for music, call and qr 2021-01-27 13:48:30 +01:00
petter 523398d24a update font with icons for music, call and qr 2021-01-27 13:42:04 +01:00
Jean-François Milants 25f35c7d0e Generate pinetime-recovery : a light version of InfiniTime design to be used 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-26 20:31:45 +01:00
jlukanc da56ca5bfb remove vibtimer from .h to fix nonstop vibration 2021-01-25 13:03:04 -05:00
petter 3dd88339f3 create motorcontroller in main and pass by reference 2021-01-25 12:45:04 -05:00
jlukanc f27e632906 move app timer def 2021-01-25 12:44:58 -05:00
petter 169b861af1 fix build warnings in HR implementation 2021-01-25 14:53:44 +01:00
The King 8c3df5f021
Merge branch 'develop' into upstream-dev 2021-01-24 16:01:14 -05:00
Jean-François Milants 3d1881c5ab Revert invalid changes in Navigation.h and add missing changes in Notifications.h. 2021-01-24 17:27:48 +01:00
Jean-François Milants 219bafb01a Handle call notification the same way than other notifications.
Display the call notifications in the Notification app, with buttons to accept/reject the call.
2021-01-24 17:22:39 +01:00
jlukanc 51c8cadcb7 fix merge issue 2021-01-23 16:13:58 -05:00
jlukanc 4cbcc99c8d fis merge conflict? 2021-01-23 16:12:06 -05:00
jlukanc bf7d77bd34 remove unneeded defines 2021-01-23 15:15:42 -05:00
petter 6d76dbc911 change Notification Event base UUID 2021-01-21 23:36:17 +01:00
petter 2d90571f0d change Notification Event UUID 2021-01-21 23:15:34 +01:00
Rasmus Schenstrom 10ba20876f Add incoming call functionality
Add categories to AlertNotification

Add new alert notification screens bases

Add Incoming Call

Add Modal

Add event to AlertNotification

Co-authored-by: Robin Karlsson <robin.karlsson@protonmail.com>
2021-01-21 23:15:29 +01:00
Niall Cooling 66a296d0f3 changed command MemoryDataAccessControl from 036 to 0x36 in St7789 class 2021-01-21 07:51:43 +00:00
JF002 be48f5275a
Merge pull request #168 from Panky-codes/fix-erratic-battery
Fix erratic battery
2021-01-20 20:41:55 +00:00
Jean-François Milants 522a1eb0be Merge branch piggz/nav into develop:
- fix conflict
 - add a icon for the navigation app.
2021-01-20 21:34:09 +01:00
JF002 a0f2fa8469
Merge pull request #169 from JF002/heartRateSensor
Heart rate sensor
2021-01-20 20:11:56 +00:00
JF002 35d4f6d487
Merge pull request #171 from JF002/fix-lvgl-animation
Fix bug in animation management for lv_label
2021-01-20 20:09:59 +00:00
Jean-François Milants ba03372f3b Music UUID must start with 00000000 instead of 00010000 (copy/paste error) 2021-01-19 21:38:53 +01:00
Jean-François Milants ccbe2e8e1b Adapt the UUID of Music service according to new guidelines. 2021-01-19 21:27:44 +01:00
Jean-François Milants 39d9fc2053 Fix bug in animation management for lv_label 2021-01-17 18:25:22 +01:00
Jean-François Milants 68674cec53 Add heart rate BLE service. 2021-01-17 16:34:14 +01:00
Jean-François Milants 3a3a14115a Add License/copyright info in HR related files. 2021-01-17 16:33:45 +01:00
panky-codes b31c0e7e45 Added more descriptive comments in doxygen format. 2021-01-17 11:06:24 +01:00
Jean-François Milants 04063cf0af HR Sensor : Add start/stop button to the HeartRate app (the HR sensors stays ON when the app is closed), display the HR value on the Clock app. 2021-01-17 10:39:46 +01:00
panky-codes 952021cdb6 Changed float to int in battery controller file. 2021-01-16 21:31:58 +01:00
panky-codes 8697a06642 Changed std accumulate to use int instead of a float. 2021-01-16 20:46:01 +01:00
panky-codes 271ca78be5 Converted all the other float usage to int. 2021-01-16 20:18:55 +01:00
panky-codes e2d1f81915 Converted percent remaining calc to int. 2021-01-16 19:51:32 +01:00
panky-codes 11280d5f37 Adjusted the firmware to display percent instead of gfx. 2021-01-16 14:55:13 +01:00
jlukanc b5992fd7ec add motor to notifs, fix tabs in motorcontroller.h 2021-01-15 22:49:37 -05:00
jlukanc ce6c5d3bd3 add motorcontroller to cmake 2021-01-15 22:46:03 -05:00
jlukanc fbb77baa3b add non-blocking motor controller 2021-01-15 22:11:53 -05:00
panky-codes dece6c6bc8 Adapted the accumulate function to return float. 2021-01-14 22:11:17 +01:00
panky-codes b8f943e73c Implemented a circular buffer and added an average alg for batter remaining percentage. 2021-01-14 21:22:36 +01:00
Jean-François Milants c82c22650c HR Sensor : do not go to sleep when the HR app is running. 2021-01-10 22:02:21 +01:00
Jean-François Milants 1a582815ba First implementation of the HR sensor using 100% foss code (ported from waspos) 2021-01-10 17:57:26 +01:00
petter 10376cd81c fix MusicService UUID typo in comment 2021-01-08 15:35:43 +01:00
JF002 033a09db6d
Merge pull request #154 from jedmijares/twos-game
Adds 2048 clone game
2021-01-03 13:40:29 +00:00
Jean-François Milants e0082f0ae3 Rename Pinetime in InfiniTime in sysinfo app. 2021-01-02 21:23:40 +01:00
Jed 12617ed1bf adds 2048 clone game
styles table


reads touch events


allows moving tiles


allows merging tiles


improves tile movement


allows merging tiles


adds score display


implements color


edit comments


adjust game logic


disallows double merges
2021-01-02 14:15:12 -06:00
Michael 1a6de3326f Add source code license and link to github to system app 2020-12-28 02:45:24 -05:00
ZephyrLabs cc04c2c1f8 Update Paddle.cpp
blankline removal
2020-12-20 11:53:39 +05:30
ZephyrLabs 61e78d338b Update Paddle.cpp
fix uppercase
2020-12-20 09:32:00 +05:30
ZephyrLabs 020840e04f Update Paddle.h
fix uppercase
2020-12-20 09:28:51 +05:30
ZephyrLabs b098d27d08 Update Paddle.cpp
tranparent paddle bug fix.
2020-12-20 09:23:31 +05:30
ZephyrLabs ea4d2560cf Update Paddle.cpp
added changes from PR
2020-12-08 10:06:30 +05:30
ZephyrLabs 6b2dbafd6c Update Paddle.h
add changes from PR
2020-12-08 09:50:44 +05:30
ZephyrLabs a701ef23d8 Update Symbols.h
change symbol to correct vale
2020-12-04 14:09:12 +05:30
ZephyrLabs 418d857308 Update Paddle.cpp
bugfix: add missing class
2020-12-03 20:59:22 +05:30
ZephyrLabs ad1a99acac Update Paddle.h
bugfix: add missing class
2020-12-03 20:57:54 +05:30