summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-11-17Test and build docs for user defined apps tooFrancesco Gazzetta
Signed-off-by: Francesco Gazzetta <fgaz@fgaz.me>
2021-11-17Remove morse from default appsFrancesco Gazzetta
Even after optimizing it, it makes the image 224 bytes too big. Signed-off-by: Francesco Gazzetta <fgaz@fgaz.me>
2021-11-17Morse app: optimize letter lookup and constantsFrancesco Gazzetta
The dictionary of strings was taking a lot of space, and is now replaced by a binary tree flattened into a string plus a small loookup function. Signed-off-by: Francesco Gazzetta <fgaz@fgaz.me>
2021-11-17Add morse appFrancesco Gazzetta
Signed-off-by: Francesco Gazzetta <fgaz@fgaz.me>
2021-10-16[alarms] Skip touch events on checkboxes of undefined alarmsk
Signed-off-by: k <k@klabz.org>
2021-10-16HeartApp: draw black line ahead of cursorRudy Ges
Helps seeing where the cursor is when displaying data over previous screen ![image](https://user-images.githubusercontent.com/6101998/134028533-5f190252-ad71-43c5-accc-c2b7b6c49663.png) Signed-off-by: k <k@klabz.org>
2021-10-16Calc app: fill gapsRudy Ges
Closes #262 Signed-off-by: k <k@klabz.org>
2021-10-16[stopwatch] Fix refactoring remainsk
Closes #264 Signed-off-by: k <k@klabz.org>
2021-09-10drivers: hrs3300: Reduce HGAIN to x8Daniel Thompson
Experimentally drop the HGAIN to x8. Currently the evidence base for this change is a little weak but it doesn't seem to be *worse* than what we have now. Therefore I hope the wasp-os users will forgive me for using them as guinea pigs! Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-09-10tools: wasptool: Increase OTA reboot timeoutDaniel Thompson
Currently --ota works "most of the time" but occasionally the OTA fails to start. Let's give the reset an extra second to settle! Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-09-10apps: software: Add support for user-defined applicationsDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-09-10wasptool: Automatically create directories during uploadDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-09-05docs appguide: Update the section on updating main.pyDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-09-05improve and simplify installation guideXander Sanger
Signed-off-by: Xander Sanger <BlimpLover1000@protonmail.com> Signed-off-by: Xander Sanger <81831075+BlimpLover1000@users.noreply.github.com>
2021-09-05bootloader: Provate a gcc-11 related workaroundDaniel Thompson
Currrently, gcc-11 users risk bricking their devices because to the combination of a new optimization pass and some mistakes in the way the Nordic Softdevice headers wrap the SD system calls. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-08-31bma42x: Provide a means to check the chip idDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-08-31k9, p8, pinetime: Fix initial filesystem creationDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-08-31bma42x-upy: Add BMA425 supportDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-08-23apps: Fixed weather app with GadgetBridge.Tait Berlette
When I created the weather app I didn't have GadgetBridge installed, so I tried to follow the protocol on the [espurino website](https://www.espruino.com/Gadgetbridge), but it wasn't very helpful and I made some mistakes. This commit should fix these mistakes to stop the weather app from crashing, and so it displays the correct values. I have also added a new settings option called "Units", where apps can see what units the user would prefer (metric/imperial). Signed-off-by: Tait Berlette <54515877+taitberlette@users.noreply.github.com>
2021-08-07tools: hrs2csv: Add a simple parser for hrs.data filesDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-07-28micropython: Update to v1.16Daniel Thompson
Don't forget to run `make submodules`! Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-07-28apps: Replace del self.x with self.x = None in all appsDaniel Thompson
Testing has demonstrated that del self.x does not make the memory used to store x available for garbage collection. There is clearly an additional reference from another place. In fact *after* del self.x then the memory can be made available for GC by assignment (e.g. self.x = None). However I haven't found how to release this reference and there is nothing in self.__dict__ that can help. For now we'll use a twp-step process where we set the variable to None before deleting it. This has a big impact on memory usage. For Software it is almost 1k (a.k.a. about 10% impact on free RAM). Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-07-25Fix escape sequences in wasptoolAndreas Kloeckner
Signed-off-by: Andreas Kloeckner <inform@tiker.net>
2021-07-25wasptool: Make mem_free issue data as csvDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-07-25Advanced alarm appAdam Blair
Features: * Multiple alarms (up to 4) * Day of the week support * One time alarms * Snooze Changes to wasp-os for app support: * Added + and - to the 28pt and 36pt fonts * Checkboxes now require a click on the body of the checkbox if there is no label * Added a Toggle Button class that extends Button and stores a state like checkbox Signed-off-by: Adam Blair <adampblair@protonmail.com>
2021-07-22draw565: Improve line wrappingDaniel Thompson
Currently the final word of wrapped text will always appear as a single word on its own line. Fix this by rearranging the break cases to avoid searching for the most recent space when we get to the end of the text. Fixes: #230 Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-21wasp: Manager: Fix the capture of the post-init free RAMDaniel Thompson
Fixes: b59a5b1d37c3 ("wasp: Manager: Rewrite the startup logic") Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-20wasp: Manager: Rewrite the startup logicDaniel Thompson
Reduce the number of applications imported by the manager and alter the way applications are initially registered to allow main.py complete control over the initial applications (but only if it wants it). Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-20drivers: cst816s: Add a version() methodDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-20apps: SportsApp: Initial sports app implementationDaniel Thompson
This app is functional... although it lacking in almost every costmetic way, from the icon to the main screen. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-20widgets: Further compact some of the internal representationsDaniel Thompson
Many widgets adopted the _im(mutable) idiom to allow us to reduce the RAM overhead of each widget. Where the immutable data considers entirely of integers smaller than 256 then we can push this just a little further by switching from a tuple to a bytes. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-20widgets: Refactor the stopwatch as a widgetDaniel Thompson
This is purely a refactoring for the purposes of code reuse. No change of behaviour is expected. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-20tools: Update nrfutil for click 8.x compatibilityDaniel Thompson
Tested on Debian bullseye using wasp/requirements.txt in order to get the latest version of click. Fixes: #211 Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-20boards: simulator: main: Update the ChronoApp exampleDaniel Thompson
Currently the ChronoApp example code is both broken (missing apps. prefix) and doesn't use the latest API for registering watch faces. Fix this. Whilst here let's also provide an example for the DemoApp since that is not included in the Software chooser. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-20apps: DemoApp: Fully document the demo appDaniel Thompson
The demo app is of somewhat niche interest and is disabled by default but arguable that makes it more important to document it fully since this app is harder to find the many others. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-20apps: FacesApp: Add a watch face chooserDaniel Thompson
This app is enabled by default and allows users to select a watch face based on a fullscreen preview of how the app will draw the screen. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-20all clocks: Add a preview() method ready for a watch face chooserDaniel Thompson
One benefit from wasp-os' dirt simple drawing model is that it is very easy for apps to provide full screen previews of themselves. Add this for all clocks ready for us to add a watch face chooser application. Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-20icons: Introduce new clock iconDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-20rle_encode: Include the image size in the commentsDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-20gitignore: Add a couple of extra temporary file types to the ignore listDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-19rtc: Undo the once-per-second wake upDaniel Thompson
So... waking up once per second turns out to be a dumb idea because it regresses the stop watch and HRS tools (which now also only wake up once per second). Undo this change but sprinkle a few more micropython.native decorations on methods used on the wakeup path to minimise power. Fixes: fb18705b9b9cc ("manager/rtc: Experimental power saving technique") Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-18drivers: nrf_rtc: Fix sphinx buildDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-18README: Move wasp-os community chat to libera.chatDaniel Thompson
We also update the recommendation for those new to IRC to use a matrix/IRC bridge instead of a simple IRC web client since that should make the community a bit more interactive. If you are curious about the move to libera.chat take a look at the Linux Weekly News summary of the beginning of the end (https://lwn.net/Articles/857140/ ) together with these testimonials about the behaviour of the new freenode staff which I think makes clear we have reached the end of the end: * https://nedbatchelder.com/blog/202106/goodbye_freenode.html * https://www.fsf.org/news/update-to-the-fsf-and-gnus-plan-to-move-irc-channels-to-libera.chat * https://twitter.com/irccloud/status/1404153550159159298 So... we're moving... and sorry for not making this decision sooner! Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-04manager/rtc: Experimental power saving techniqueDaniel Thompson
Currently the time is calculated 8 times per second from (relatively) slow python code. Optimize the power consumed by reducing the number of times we check for wall time updates to only once-per-second and use native code generation to reduce VM overhead when executing this critical code. At the time of writing the difference is battery life has not yet been measured (but we know the current master branch is worse than v0.4 and, in theory at least, this should close the gap). Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-04draw565: Fix bounding box calculationsDaniel Thompson
wasp-os uses an drawing optimization technique to automatically place a single pixel line on the right of glyphs when rendering them. This results in a change to the bounding box for a rendered string (by adding a single pixel on the right of the final character). Fix the bounding box calculations accordingly. Among other things this eliminates graphical artifacts when rendering labels in 2048. Fixes: #203 Fixes: 58b5c0378ec3 ("draw565: Optimize the string drawing") Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-03MemoryError exception now shows custom message instead of CrashApp.Tait Berlette
Signed-off-by: Tait Berlette <54515877+taitberlette@users.noreply.github.com>
2021-06-03Added weather application.Tait Berlette
Signed-off-by: Tait Berlette <54515877+taitberlette@users.noreply.github.com>
2021-06-03manager: Improve application registrationDaniel Thompson
When an application is registered using a string that gives the class name (e.g. "apps.chrono.ChronoApp") when we automatically delete the module from a couple of namespaces. This ensures the garbage collector can do a deeper clean when the application is unregistered. We also provide a means to directly register watch faces (e.g. to replace the default clock). Fixes: #214 Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-03Makefile: Create .zip distributions as well as a tarballDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>
2021-06-03reloader: Update to newer factory firmware for pinetimeDaniel Thompson
Signed-off-by: Daniel Thompson <daniel@redfelineninja.org.uk>