summaryrefslogtreecommitdiff
path: root/src/components
AgeCommit message (Collapse)AuthorFilesLines
2021-09-04Linear decrease of advert rate to conserve batteryJames A. Jerkins2-0/+6
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-03Use percentage instead of IsFullRiku Isokoski1-4/+0
2021-09-03Detect full charge and improve watchface displayRiku Isokoski2-3/+16
2021-09-01Fix styles issues - no change to functionalityJames A. Jerkins1-6/+6
2021-09-01Fix race condition, connect->disconnect->discoveryJames A. Jerkins1-1/+3
2021-08-30Completely reset connection state on failJames A. Jerkins1-0/+3
2021-08-30Merge remote-tracking branch 'upstream/develop' into timer_battery_readingRiku Isokoski1-3/+40
2021-08-29WIP Refactor ble advertisingJames A. Jerkins2-40/+60
Refactor ble advertising based on ble standards and conventions. Changes are based on the bleprph example code, bluetooth docs, and nimble docs.
2021-08-29Merge branch 'develop' into pinmaphubmartin1-3/+40
2021-08-28Settings : use enums instead of ints to store colors. Group all PTS settings ↵Jean-François Milants1-20/+26
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-26Correct change test for wake up mode settingColin Kinloch1-1/+1
2021-08-22Merge branch 'develop' into pinmaphubmartin2-10/+34
2021-08-19Move Backup to the system task.Tim Keller2-2/+0
2021-08-19Add clearing of noinit segment on bad wordTim Keller2-2/+2
Code readability cleanup
2021-08-17Make Clock Persistant.Tim Keller2-1/+8
2021-08-15Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpickerKieran Cawthray2-10/+34
2021-08-14Merge branch 'develop' into timer_battery_readingRiku Isokoski2-10/+34
2021-08-14Merge branch 'call-improvements' of https://github.com/Riksu9000/InfiniTime ↵Jean-François Milants2-10/+34
into Riksu9000-call-improvements # Conflicts: # src/displayapp/screens/Metronome.cpp
2021-08-14Make battery reading periodic. Add events. Disable pullupRiku Isokoski2-7/+11
2021-08-12Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpickerKieran Cawthray3-68/+27
2021-08-11Merge branch 'develop' into pinmaphubmartin3-68/+27
2021-08-10Merge pull request #483 from Riksu9000/fix_adcJF0022-58/+17
Fix misconfigured ADC and remove now unnecessary filtering
2021-08-10Code cleaning in Clock, WatchFaceAnalog, WatchFaceDigital and PineTimeStyle, ↵Jean-François Milants1-10/+10
inspired by PR #232 by nscooling.
2021-08-08Merge branch 'JF002:develop' into set-datetime-manuallyTim11-145/+377
2021-08-04Rename backlight level pinshubmartin1-15/+15
2021-08-03Cleanup, set Pinetime as defaulthubmartin2-1/+1
2021-08-03PinMap with namespace and constexprhubmartin6-29/+24
2021-08-02DRAFT: Put gpio pins to separate filehubmartin1-1/+2
2021-08-01Remove floating point calculationRiku Isokoski1-2/+2
2021-08-01ImprovementsRiku Isokoski2-28/+24
2021-08-01Merge branch 'develop' into HEADRiku Isokoski28-375/+668
2021-07-27Increase ADC precisionRiku Isokoski1-4/+4
2021-07-27Merge branch 'develop' into fix_adcRiku Isokoski2-13/+35
2021-07-25Increment settings value, remove old hacky fixKieran Cawthray1-1/+1
2021-07-24Move callback function into anonymous namespaceJonathan Vander Mey1-5/+5
2021-07-24Remove unnecessary C-style casts with BLE UUIDsJonathan Vander Mey10-64/+55
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-24Update nav service UUID macro to constexpr functionsJonathan Vander Mey2-28/+20
2021-07-24Set navigation service id is base UUID macroJonathan Vander Mey2-13/+1
Avoids the need to copy the same ID into every characteristic UUID genereated from it.
2021-07-24Update Navigation UUID documentationJonathan Vander Mey1-1/+1
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-23Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpickerKieran Cawthray1-5/+4
2021-07-22Make firmware updating more foolproof (#469)Riku Isokoski1-5/+4
* 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-20Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpickerKieran Cawthray7-29/+60
2021-07-14Multiple wakeup sources (#290)Kozova11-8/+31
* 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-13Merge branch 'develop' into fix_adcRiku Isokoski6-17/+28
2021-07-12Fix misconfigured ADC and remove now unnecessary filteringRiku Isokoski2-48/+4
2021-07-12Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpickerKieran Cawthray8-194/+399
2021-07-11Notify battery level every 10 minutes when connected to a BLE host.Jean-François Milants6-21/+29
Refactor battery percent : only use uint8_t to store the battery % remaining.
2021-07-11Using littlefs (#438)joaquim.org4-112/+314
* 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-09Exposed Month and DayOfWeek texts in DateTimeControllerTim Taenny2-9/+45
Added static methods to return the text of a given month or dayOfWeek.
2021-07-04Whitespace and brace fixes (#456)Avamander1-1/+2
* Brace style and whitespace fixes * Additional whitespace fixes