Commit graph

242 commits

Author SHA1 Message Date
James A. Jerkins 319030d9e1 Add airplane mode feature
Implements 'Airplane mode' feature to disable and enable bluetooth/ble
Adds airplaneMode as a non-persisted setting
Adds a setting menu for switching airplane mode on and off
Displays an airplane symbol on the Digital watch face and the
    PineTimeStyle watch face when airplane mode is enabled
Always enables bluetooth/ble on boot (disable airplane mode)
Alphabetizes the settings menu options
Style cleanups

Closes #632
2021-12-23 20:30:14 -06:00
Tim Keller f57f797ff5 Added Blank FSService that exposes only version info 2021-12-10 01:18:57 +00:00
Kieran Cawthray 6cf4a933b6 Merge remote-tracking branch 'upstream/develop' into pts-settings 2021-12-09 22:41:29 +01:00
Avamander 42a5cdb5b7 Added QCBOR to pinetime-mcuboot-recovery 2021-12-09 21:57:32 +01:00
Avamander 6354511c20 Hotfix for other build targets 2021-12-09 21:57:32 +01:00
Riku Isokoski ec9b5a0bd2 Move radio button styling to a single place 2021-12-09 21:32:07 +01:00
Avamander e8c1302cd6
Merge branch 'develop' into patch-weather 2021-12-09 22:20:29 +02:00
James A. Jerkins 62dbcbfc95 Connect and bond with a passkey
This commit adds the following:
    Passkey pairing - passkey is displayed on watch
    Swipe down to clear passkey screen
    Connection encryption
    Connection bonding
    Automatic reconnects to a bonded peripheral
    Trusted device on Android

Note that persisting the bond between reboots is NOT included in
this commit. Therefore, rebooting the watch will cause reconnect failures.
You must delete the bond from the phone to reconnect/pair.
2021-12-09 21:14:16 +01:00
Avamander b998d5e2a8 Removed unnecessary change in CMakeLists 2021-12-04 22:03:40 +02:00
Avamander cccec6e1ab Improved debug UI. 2021-12-04 22:03:40 +02:00
Avamander 48beb7c3b1 Improved error handling and fixed incompatibility with co.nstant.in:cbor library 2021-12-04 22:03:40 +02:00
Avamander df04763ab4 Fixed recovery build 2021-12-04 22:03:40 +02:00
Avamander 0ed256ba15 Few formatting fixes 2021-12-04 22:03:40 +02:00
Avamander 3a09b3614c Brace style and whitespace fixes 2021-12-04 22:03:40 +02:00
Avamander 4b2dcbb4f0 Fixed a few bugs, enabled UsefulBuf library optimizations 2021-12-04 22:03:40 +02:00
Avamander 1d3f0dfa9e Tidied up and added Weather to CMakeLists.txt 2021-12-04 22:03:40 +02:00
Avamander 6ba2878605 Added QCBOR dependency 2021-12-04 22:03:40 +02:00
Kieran Cawthray 18e3cc7038 Merge remote-tracking branch 'upstream/develop' into pts-settings 2021-11-07 17:49:54 +01:00
SteveAmor 5932391c8b Chimes option 2021-11-07 10:50:33 +00:00
Riku Isokoski d5dfa80876 Newer buttonhandler 2021-10-25 12:53:14 +03:00
Kieran Cawthray ff1fce18d6 Merge remote-tracking branch 'upstream/develop' into pts-settings 2021-10-18 23:14:39 +02:00
Jean-François Milants 60a49af886 Add MotionService : expose step count and RAW X/Y/Z values to the host. 2021-10-17 08:23:44 +02:00
Jean-François Milants 6d0e68d626 Merge branch 'update_touch_driver' of git://github.com/Riksu9000/InfiniTime into Riksu9000-update_touch_driver
# Conflicts:
#	src/displayapp/Apps.h
2021-10-10 16:48:45 +02:00
Jean-François Milants cf9e149b33 Merge with develop and fix conflicts from timaios:set-datetime-manually. 2021-10-10 16:01:43 +02:00
Kieran Cawthray 7d1da9f1f9 Remove old PineTimeStyle settings app 2021-10-03 21:49:57 +02:00
Riku Isokoski e468acc99e
Merge branch 'develop' into update_touch_driver 2021-09-18 19:22:59 +03: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
Mark Russell 1d43adcdfa Merge upstream 2021-09-16 16:01:25 -04:00
Riku Isokoski f221f5d744 Merge branch 'develop' into update_touch_driver 2021-09-14 15:34:09 +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
Mark Russell 1fb5757655 Created basic alarm app 2021-09-10 18:40:13 -04: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
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 d2d97319e0 Merge branch 'develop' into update_touch_driver 2021-08-28 17:19:49 +03: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 85c99797da Merge branch 'develop' into new_touch_handler 2021-08-18 22:07:02 +03:00
hubmartin df8ea7fe52 Add memory print usage 2021-08-18 20:21:10 +02:00
Riku Isokoski 780a811f05 Automatic error detection 2021-08-18 15:23:30 +03:00
Tim 3e9c30a18f
Merge branch 'JF002:develop' into set-datetime-manually 2021-08-08 14:37:48 +02:00
hubmartin 28abeae21b DRAFT: Put gpio pins to separate file 2021-08-02 21:37:48 +02:00
Riku Isokoski fe64176e7b New touch handler, with issues 2021-07-15 14:11:27 +03:00
Kieran Cawthray db99ac88d9 Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpicker 2021-07-12 13:01:11 +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
timaios 07b3a507b4
Include new screens in CMakeLists.txt 2021-07-09 14:14:17 +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 38ab0add48 PineTimeStyle color picker initial commit 2021-06-24 19:15:23 +02:00
Kieran Cawthray 607af27ba8 Add step count gauge - replaces heartrate in sidebar 2021-06-20 21:53:09 +02:00
Kieran Cawthray f5d756928f Merge remote-tracking branch 'upstream/develop' into pinetimestyle 2021-06-16 16:33:34 +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
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
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 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
Kieran Cawthray 565601ef50 Merge remote-tracking branch 'upstream/develop' into pinetimestyle 2021-05-21 14:34:25 +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
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 378fa6b401 Reset 2021-05-18 15:33:25 +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 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 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
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
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 e5e3fc02b8 Updated to include WatchFaceAnalog and fixed clashes 2021-03-22 17:23:49 +00:00
panky-codes 5345650880 Merged upstream 2021-03-20 22:45:29 +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
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
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
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 3d6e8c3beb Merge from upstream 2021-03-06 19:55:36 +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 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
roblabla 9f6d1c6948 Flash correct file name 2021-02-19 19:44:51 +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
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
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
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
The King 8c3df5f021
Merge branch 'develop' into upstream-dev 2021-01-24 16:01:14 -05: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
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
Jean-François Milants 68674cec53 Add heart rate BLE service. 2021-01-17 16:34:14 +01: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
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
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