Commit Graph

278 Commits

Author SHA1 Message Date
JF
28bc434419 [WIP] New notification app that uses software scrolling effect. 2020-10-18 17:35:36 +02:00
Avamander
4b0a852053 Made sure to use right data type for a negative number 2020-10-15 22:52:53 +03:00
Avamander
174e5ccfe4 Removed weird parentheses from constexpr 2020-10-15 22:51:43 +03:00
Avamander
128a2ea226 Changed #define to constexpr in Music.cpp 2020-10-15 22:50:28 +03:00
Avamander
6f45c0f669 Unified MusicStatus enum constant capitalization with others 2020-10-15 22:45:53 +03:00
Avamander
d4531d7bf3 Reordered the functions in Music.cpp correctly 2020-10-15 22:16:08 +03:00
Avamander
82126edf88 Added lv_img_set_src_arr that does better type checking when drawing images from arrays 2020-10-15 22:16:08 +03:00
Avamander
2b9906184b Refactored and improved the Music watchapp 2020-10-15 22:16:08 +03:00
Robert Curtin
2d5ddb88a7 Noticed this typo when booting my PineTime 2020-10-12 08:45:41 -04:00
Rafa Couto
efb7a973a1
Update SystemInfo.cpp
Show MAC bytes with left-zeroes
2020-10-12 05:12:31 +02:00
Avamander
fd110dabe8 Reformatted InfiniPaint again 2020-10-09 11:36:16 +03:00
Avamander
189c5a83b2 Made sure to unsuppress the diagnostic check after the infinite loop declaration 2020-10-09 11:36:16 +03:00
Avamander
f68c7b65b3 Minor formatting, diagnostic and documentation changes 2020-10-09 11:36:16 +03:00
JF002
b3ef816471
Merge pull request #83 from Avamander/patch-7
Removed an incomplete message() call from CMakeLists.txt
2020-10-08 21:03:39 +02:00
JF002
0a8d8953f7
Merge pull request #80 from Avamander/patch-1
Switched from NULL to nullptr
2020-10-08 20:58:24 +02:00
Avamander
cc3a9f3c79 Removed an incomplete message() call from CMakeLists.txt 2020-10-04 18:46:34 +03:00
Avamander
aba3d65e3a Merge remote-tracking branch 'origin-origin/patch-3'
# Conflicts:
#	src/systemtask/SystemTask.cpp
2020-10-04 16:23:13 +03:00
Avamander
77f4d5448b Fixed a small warning with Screen's constructor 2020-10-04 15:14:09 +03:00
Avamander
9b7ba7b5b8 Fixed a typo in SystemTask 2020-10-04 15:13:01 +03:00
Avamander
1d96758acd Minor #include improvements 2020-10-04 15:11:21 +03:00
Avamander
e85d1ffc62 Replaced NULL with nullptr 2020-10-04 15:09:17 +03:00
Avamander
13da1e38f0 Switched from NULL to nullptr 2020-10-04 14:53:11 +03:00
Avamander
6c86d1d9d7 Fixed all the includes that were broken due to the renames 2020-10-02 22:16:48 +03:00
Avamander
4daab26926 Renamed displayapp/Screens to displayapp/screens 2020-10-02 21:49:55 +03:00
Avamander
e3fb2f0b89 Renamed DisplayApp/ to displayapp/ 2020-10-02 21:46:41 +03:00
Avamander
30c261028e Renamed Logging/ to logging/ 2020-10-02 21:45:51 +03:00
Avamander
e25c4edbcf Renamed SystemTask/ to systemtask/ 2020-10-02 21:45:21 +03:00
Avamander
40a643d203 Renamed Components/ to components/ 2020-10-02 21:44:27 +03:00
Avamander
455d8319e4 Reformatted the CMakeLists for consistency 2020-10-02 21:43:30 +03:00
JF
f3728c41bb Add Immediate Alert Service, needed by the "Find Me" profile from BLE spec. 2020-09-27 20:59:06 +02:00
JF
5d3a974493 Add BatteryInformationService to expose the battery level to BLE host. 2020-09-27 20:02:47 +02:00
JF
6f92356873 Call SpiNorFlash::WakeUp() during initialization to ensure that the chip is not is sleep mode. 2020-09-20 14:31:26 +02:00
JF
d45cf23611 Rename Pinetime-JF -> InfiniTime 2020-09-20 11:09:50 +02:00
JF
20f5b0ffba Fix race conditions during sleep/wakeup, where SPI/TWI could be disabled while transaction were in progress (https://github.com/JF002/Pinetime/issues/60). 2020-09-13 21:26:44 +02:00
JF
d757344f1b Docker post build : generate post build script with versions from the CMake project. 2020-09-08 22:15:10 +02:00
JF
4e8e52bf6e Fix constness and set version to 0.8.1. 2020-09-02 21:36:13 +02:00
JF
1aa5b0a440 Fix firmware version reported by Device Information Service on BLE. It was previously hard-coded, it is now set by CMake accoridng to the project version.
Fix Manufacturer name, model number, sw revision according to https://wiki.pine64.org/index.php?title=Firmware_versioning_for_companion_apps.
2020-09-02 21:31:31 +02:00
JF
754918fda6 Fix bad formatting in SystemInfo. 2020-08-22 20:43:14 +02:00
JF
f7e40b1b58 Re-implement sleep/wakeup for touch panel, display, NOR Flash, SPI and TWI. 2020-08-22 17:59:59 +02:00
JF
ecbbeb6283 Fix Infinipaint that would crash when started. 2020-08-22 16:42:53 +02:00
JF
a664dec07f Add paint application. 2020-08-21 11:55:59 +02:00
JF
7d3af600bd Add TouchModes : in Gestures mode, only 1 event is processed for each touchevent. This allows to recognize gesture and handle them in Screens or in DisplayApp.
In Polling mode, X/Y positions are sent continuously to lvgl, allowing to scroll inside a dropdown menu for example.
2020-08-20 21:09:45 +02:00
JF
e6a1aff6ce Docker build : split build.sh into 2 scripts : build.sh that always exists and post_build.sh that is generated by cmake build.sh 2020-08-20 09:38:10 +02:00
JF
f197a3fe88 All output files (bin, hex, image, dfu) contain the version of the project in their filename.
Update Docker build script accordingly.
Also fix permission issue with docker build (all files belonged to root).
2020-08-19 21:52:46 +02:00
JF
1e1bb1c6b7 Build lvgl, nimble and nrf sdk as static libs. This allows to specify custom build param and to remove warnings from these libs.
This also speeds up the build of the whole project as those libs are now built once for the 3 targets.
2020-08-17 16:48:12 +02:00
JF
83f6d7d81b Fix most of the warnings. Remaining warnings come from nimble source code. 2020-08-17 16:31:00 +02:00
JF
41c36d3a42 Re-order apps in application menu on 2 pages.
Add firmware validation app.
2020-08-14 20:47:21 +02:00
JF
e6f5ab7b91 Merge develop and fix conflicts. 2020-08-14 19:54:43 +02:00
JF
6c678e872d Screens::Label is now a subclass of Screen. 2020-08-14 10:05:44 +02:00
JF
f5328ec9eb Refactor ScreenList to make it more generic : it can now contain any Screen type.
Integrate this new ScreenList in SystemInfo.

Add ApplicationList, which is a ScreenList of Tile. This allows to display a menu of more than 6 applications.
2020-08-14 09:46:37 +02:00
JF
bbfc20c3ff Add new screen that allows the user to manually validate the new firmware he's just OTA'ed.
Still need to find a way to display this screen when needed.
2020-08-11 17:50:00 +02:00
JF002
3f72af1030
Merge pull request #40 from piggz/music
Music
2020-07-25 15:03:29 +02:00
frederic lesur LESUR Frederic
a9f0459626 correct include header 2020-07-21 08:56:12 +09:00
frederic lesur LESUR Frederic
504c2b3d5c correct bad including of sdk files
(cherry picked from commit 8510e4436f6a2ac7b53fe8cb5010acb840c743b8)
2020-07-21 08:47:19 +09:00
Adam Pigg
5713eac104 Fully implement music app and service
SystemTask can return a reference to the nimbleController
The nimbleController can return a reference to the musicService
The musicService get a connection handle from the nimbleController
The musicApp communicated directly with the musicService
2020-07-20 21:28:21 +01:00
JF
6af5bbcbc8 New implementation of the I²C/TWI driver.
Fix reset timing and add dummy reading in Cst816S to fix init error on some devices.
2020-07-19 20:30:44 +02:00
Adam Pigg
686e826f4e Rework characteristic handling 2020-07-15 10:02:01 +01:00
Adam Pigg
306aa25aad Initial code for music app screena and service 2020-07-13 12:40:39 +01:00
Adam Pigg
789e06fdb7 Merge branch 'develop' of https://github.com/JF002/Pinetime into music 2020-07-11 21:41:20 +01:00
Adam Pigg
7a1e6e6e5b Add start of music appliction 2020-07-11 21:37:28 +01:00
JF
6309719a62 Set version to 0.7.0 2020-07-11 20:53:04 +02:00
JF
09adb78b55 Fix/Workaround a memory leak each time a device connects to BLE. 2020-07-11 20:50:40 +02:00
JF
71842667a0 Remove debug (and bad) #includes. 2020-07-08 21:14:52 +02:00
JF
62de76ba99 Automatically switch the display on when receiving a notification 2020-07-04 18:10:30 +02:00
JF
4abbd7d0cf Add doc : how to add new symbols. 2020-07-04 14:14:31 +02:00
JF
da39f402e5 Replace bitmap icons by font icons (provided by AwesomeFont and LVGL). These icons are smaller in memory and quicker to draw.
BLE and battery icon replaced in Clock screen.
Added heartbeat and step icons in Clock screen.
Replace all labels in Menu by icons.

Add doc to generate new font.
2020-07-04 13:58:15 +02:00
JF
bb11891b6e Remove custom styles in Screens and define default style and "Big style" in LittleVgl during the initialization of LVGL. 2020-07-03 21:37:40 +02:00
JF
ca549bcfd8 Add doc about memory usage analysis. 2020-07-03 14:45:01 +02:00
JF
a83f067af9 Reduce RAM memory usage by tuning the stack of the stasks and the heap allocated for FreeRTOS.
Add Monitor to log the stack usage of each task.
2020-07-02 21:38:52 +02:00
JF
89e7033830 Fix buffer overflow opportunities in AlertNotificationService & AlertNotificationClient. 2020-06-28 11:59:14 +02:00
JF
4f9adb2372 Re-enable watchdog 2020-06-27 16:11:42 +02:00
JF
f8ffb405a2 Merge branch 'nimble_1_3_0' into develop 2020-06-27 16:10:17 +02:00
JF002
e86991284f
Merge pull request #37 from darnel/fix-include
Fix #include to relative paths
2020-06-20 16:36:36 +02:00
JF
3dfba0b90d Update BLE status when BLE is connected. 2020-06-19 22:20:12 +02:00
JF
b8f9d70667 Use PRIMASK instead of BASEPRI for critical sections in FreeRTOS. This is needed by NimBLE to be able to mask radio interrupt (which has priority 0). 2020-06-19 22:11:21 +02:00
JF
238cda0b90 Apply fix for errata 87 (FPU issue). 2020-06-19 22:10:30 +02:00
JF
a0b5cbbc1c Disable all logging 2020-06-19 22:10:01 +02:00
Vojtěch Jirkovský
34fd4c5cf3 Fix link error because of missing file "nrf_common.ld" 2020-06-17 23:32:56 +02:00
Vojtěch Jirkovský
064e77f05a Fix #include to relative paths 2020-06-17 09:04:15 +02:00
JF
73e6cbde79 Fix builds that do not specify CMAKE_BUILD_TYPE during CMake generation. Apply Release by default. 2020-06-16 21:02:03 +02:00
JF
f133d1e9ea Fix #include that were pointing to my own FS instead of relative paths to the SDK. 2020-06-16 20:44:11 +02:00
JF
9898fed806 Update to nimble 1.3.0 + WIP : debug BLE connection issue with android phones. 2020-06-16 20:36:24 +02:00
JF
fab220d0b9 Fix idle timer bug that would prevent the screen from waking up. 2020-06-13 17:33:49 +02:00
JF
47851fb3b4 Display BLE MAC address in sysinfo Screen. 2020-06-08 21:51:34 +02:00
JF
9115c49bba Fix reset reason (it returns the actual reset reason instead of hard coded 'hard reset' value). 2020-06-07 20:31:13 +02:00
JF
421af9625b Add build date and time in sysinfo screen. 2020-06-07 20:16:39 +02:00
JF
81a0ad73d9 Set idle timeout to 15s before going to sleep. 2020-06-07 20:05:04 +02:00
JF
e22c0609b5 Add uptime counter in DateTimeController and display it in SystemInfo screen. 2020-06-07 20:04:43 +02:00
JF
dbdb26ae1f DfuService : fix Magic number : incorrect values were written in memory. 2020-06-07 14:10:17 +02:00
JF
46b8bf9fc1 Add new target (pinetime-graphics) that flash the bootloader logo into the spi flash memory. 2020-06-06 19:28:01 +02:00
JF
e7723598a6 Automatically go to sleep after 5 sec of inactivity.
Advertise for  3 minutes at startup and on wake-up. Disable automatic continuous StartAdvertising.
2020-06-01 20:40:11 +02:00
JF
de822cc3a2 Encapsulate DFU Image buffering and writing into spi flash in DfuImage.
Add some const in SPI driver.
2020-06-01 18:32:46 +02:00
JF
f6aa41c214 Encapsulate notification send (sync/async) into DfuService::NotificationManager; 2020-06-01 17:35:28 +02:00
JF
07f74cee63 DFU : add timeout detection : abort dfu procedure after 10s without any data from the host. 2020-06-01 16:30:24 +02:00
JF
dca559aad5 Improve DFU procedure :
- correctly write all bytes to flash
 - check CRC
 - Fix bug in notification : they cannot be sent from the control point handler (because it seems you cannot send a notification and a write acknowledge at the same time) using a timer (quick'n'dirty implementation to be improved)
 - Improve dfu screen
 - Reset if dfu image is correctly copied into flash and crc is ok.
2020-06-01 09:22:54 +02:00
JF
4717cf0a1d Add driver for writing into the internal flash.
Write the OK flag for mcuboot using this driver.
2020-05-24 20:30:06 +02:00
JF
4154dae01a Fix race condition in SpiMaster.cpp. 2020-05-24 17:46:43 +02:00
JF
073717980f Merge develop 2020-05-24 16:51:50 +02:00
JF
331481cd0c Refactor CMake files to allow building 2 binaries : one standalone and one compatible with mcuboot bootloader (the offset in memory is different).
Add documentation about mcuboot image generation and OTA.

Re-enable watchdog
2020-05-24 16:36:04 +02:00
JF
3cc76d7673 Working demo of OTA using MCUBoot https://github.com/lupyuen/pinetime-rust-mynewt/releases/tag/v4.1.4 2020-05-24 09:15:59 +02:00