Commit Graph

1024 Commits

Author SHA1 Message Date
hubmartin
fc2241fbf4 Add wake on charge event 2021-10-08 16:53:49 +02:00
Riku Isokoski
f61e88b842 Merge branch 'develop' into update_touch_driver 2021-10-05 12:45:03 +03:00
Riku Isokoski
a9f7153fdf Improve battery percentage calculation and reporting
While charging, percentage should only go up, and while discharging,
percentage should only go down.
2021-10-04 01:41:38 +03:00
Kieran Cawthray
7d1da9f1f9 Remove old PineTimeStyle settings app 2021-10-03 21:49:57 +02:00
Kieran Cawthray
3320eae95c Initial commit 2021-10-03 21:49:57 +02:00
hubmartin
9ef1babb9d Code cleanup 2021-10-03 17:03:08 +02:00
hubmartin
f5725714d1 Call battery controller update 2021-10-03 17:00:38 +02:00
hubmartin
2aebbe3f47 GPIOTE fix of button and power detection experiment 2021-10-03 16:47:01 +02:00
JF
b84a546920
Merge pull request #623 from Riksu9000/lvgl_queuetimeout
Let LVGL control queueTimeout
2021-10-03 16:20:20 +02:00
JF
fa6c291d3e
Merge pull request #638 from Riksu9000/detect_full_charge
Detect full charge and improve watchface battery display
2021-10-03 16:13:39 +02:00
JF
3442085a3c
Merge pull request #692 from danielgjackson/fix-fs-size
Fix the size of the filesystem.
2021-10-03 16:06:30 +02:00
Tim Keller
dafdf33062 Remove static declartion on batteryValue preventing read attribute from updating. 2021-10-02 03:22:12 +00:00
Maxim Leshchenko
05f8850acf Fixes based on code reviews 2021-09-29 19:15:48 +03:00
Maxim Leshchenko
d86ae69961 Alarm: Close the popup with information about the time until alarm with the back button
Previously, pressing the back button would close the alarm app anyway. Now if you press on it and the popup with information is open, it will first close and the second press will close the application
2021-09-28 22:50:09 +03:00
Daniel Jackson
7ba00b0157
Fix the size of the filesystem.
Correct typo: 0x400000 - 0x0B4000 = 0x34C000.
2021-09-27 02:42:53 +01:00
Daniel Jackson
d7ca217872
Correctly return the tick at which the RF will be fully enabled.
Always returning 0 (when `MYNEWT_VAL_BLE_LL_RFMGMT_ENABLE_TIME` is not defined), rather than a time near to the current tick, causes an issue in at least one place: `ble_ll_adv_sm_start()`, where the calculation of `delta` overflows when the system timer is at 0x80000000 or above -- causing an incorrect, huge adjustment to be made to the scheduled time, ultimately stopping adverts from being sent.
2021-09-25 23:48:53 +01:00
JF002
8a2b86dc83
Merge pull request #664 from Riksu9000/disable_notif_only
Toggle notifications only, keep vibrations.
2021-09-23 20:13:42 +02:00
Riku Isokoski
980ac17388 Show plug icon while plugged in 2021-09-22 13:58:45 +03:00
Riku Isokoski
b210090837 Merge branch 'develop' into detect_full_charge 2021-09-22 12:03:41 +03:00
Riku Isokoski
d7dfe5d4ed Remove unused variable 2021-09-21 15:36:31 +03:00
Jean-François Milants
1c3c3c8db9 Merge branch 'develop' of github.com:JF002/Pinetime into develop 2021-09-19 17:43:28 +02:00
Jean-François Milants
f3b5da0049 Fix the display of the date after a reset : when the date/time was restored from the noinit area, the date was displayed as "--" instead of the actual date.
This issue was caused by DateTime::SetCurrentTime() that would not update the internal state of the class : dayOfWeek, Month, Year were not properly updated according to the current time.
2021-09-19 17:42:50 +02:00
JF002
52eb94cfc4
Merge pull request #669 from NeroBurner/fix_unsigned_comparison_warning_metronome
Fix unsigned/signed comparison warning in Metronome.cpp
2021-09-18 20:33:45 +02:00
Riku Isokoski
e468acc99e
Merge branch 'develop' into update_touch_driver 2021-09-18 19:22:59 +03:00
Jean-François Milants
f556003de3 Merge branch 'PersistantStorage' of git://github.com/geekbozu/InfiniTime into geekbozu-PersistantStorage
# Conflicts:
#	src/systemtask/SystemTask.cpp
2021-09-18 17:37:37 +02:00
Jean-François Milants
7af7db74cd Fix DisplayAppRecovery : add AlarmController to ctor(). 2021-09-18 17:20:33 +02:00
Mark Russell
b9e56843a2 resolve conflict in src/systemtask/Messages.h 2021-09-16 16:20:39 -04:00
Mark Russell
cdf99b08f4 Revert "Merge upstream"
This reverts commit 1d43adcdfa.
2021-09-16 16:12:20 -04:00
hubmartin
27366bdfdf Merge branch 'develop' into wake-time 2021-09-16 22:04:31 +02:00
Mark Russell
1d43adcdfa Merge upstream 2021-09-16 16:01:25 -04:00
Mark Russell
f857a757a7 Fixes per Riksu9000's feedback 2021-09-16 15:38:31 -04:00
Reinhold Gschweicher
63477fc096 Fix unsigned/signed comparison warning in Metronome.cpp
`xTaskGetTickCount()` returns a `TickType_t`, which is defined as an
`uint32_t`. This is compared to the `bpm` variable, which is a `int16_t`
in the range of 40 to 220 as defined in the constructor.

```cpp
  lv_arc_set_range(bpmArc, 40, 220);
```

Just assume that `bpm` is greater than 0, as this
would result in a divison by zero or negative values, which would
unintentionally underflow to a very large number.
2021-09-16 10:47:09 +02:00
Riku Isokoski
8f0771183c Fix Error screen and optimize GetTouchInfo 2021-09-15 12:25:41 +03:00
Riku Isokoski
93d240a23b
Merge branch 'develop' into disable_notif_only 2021-09-14 23:38:42 +03:00
Riku Isokoski
f221f5d744 Merge branch 'develop' into update_touch_driver 2021-09-14 15:34:09 +03:00
Reinhold Gschweicher
f89780f332 Remove unused include in MotoController.h
Remove the unused include `app_timer.h` in `MotorController.h`
2021-09-13 22:40:15 +02:00
Mark Russell
2bf339a3f8 License header fix, add missing braces 2021-09-13 16:05:35 -04:00
Mark Russell
bfe13d9d68 Fixes based on code reviews (formatting, UI code) 2021-09-13 15:26:28 -04:00
Jean-François Milants
6356c7f276 Fix DisplayAppRecovery : fix include error by forward declaring Controllers in header file. 2021-09-13 20:35:51 +02:00
Riku Isokoski
40765f1173
Merge branch 'develop' into disable_notif_only 2021-09-13 21:22:53 +03:00
Jean-François Milants
9afa412a2a Merge branch 'refactor_adv' of https://github.com/evergreen22/InfiniTime into evergreen22-refactor_adv
# Conflicts:
#	src/components/ble/NimbleController.cpp
2021-09-13 20:22:27 +02:00
JF002
b0bdd2be1c
Merge pull request #549 from hubmartin/pinmap
Put all duplicated GPIO pin definitions to a single file
2021-09-13 20:05:43 +02:00
Tim Gates
84a93b5441
docs: Fix a few typos (#606)
* docs: Fix a few typos

There are small typos in:
- doc/versioning.md
- src/components/ble/NimbleController.cpp
- src/libs/mynewt-nimble/CODING_STANDARDS.md
- src/libs/mynewt-nimble/docs/btshell/btshell_GAP.rst
- src/systemtask/SystemTask.cpp

Fixes:
- Should read `milliseconds` rather than `miliseconds`.
- Should read `unnecessary` rather than `uncesseray`.
- Should read `target` rather than `tharget`.
- Should read `project` rather than `projct`.
- Should read `preferred` rather than `prefered`.
- Should read `functioning` rather than `functionning`.
- Should read `forever` rather than `forver`.
- Should read `existing` rather than `exisiting`.
2021-09-13 20:02:53 +02:00
hubmartin
73d3e41cea Merge branch 'develop' into pinmap 2021-09-13 10:19:07 +02:00
JF002
c9aeef94ea
Merge pull request #617 from ColinKinloch/wake_up_mode_setting_change
Correct change test for wake up mode setting
2021-09-12 18:41:26 +02:00
JF002
8728ac2f6a
Merge pull request #602 from Riksu9000/del_unused
Remove unused variables
2021-09-12 18:34:11 +02:00
JF002
f0329298ac
Merge pull request #580 from Riksu9000/timer_battery_reading
Make battery reading periodic
2021-09-12 18:22:04 +02:00
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