Commit graph

854 commits

Author SHA1 Message Date
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