1
0
Fork 0

Make wasp-os namig consistant

Rename WASP to wasp-os (or Wasp-os)
This commit is contained in:
Daniel Thompson 2020-05-14 22:41:05 +01:00
parent b8efcd3053
commit d11e6eb4a1
6 changed files with 36 additions and 36 deletions

View file

@ -12,7 +12,7 @@ functions implemented that it can survive for well over 72 hours between
charges so even at this early stage it is functional as a wearable charges so even at this early stage it is functional as a wearable
timepiece. timepiece.
WASP includes a robust bootloader based on the Adafruit NRF52 Wasp-os includes a robust bootloader based on the Adafruit NRF52
Bootloader. It has been extended to make it robust for development on Bootloader. It has been extended to make it robust for development on
form-factor devices without a reset button, power switch, SWD debugger form-factor devices without a reset button, power switch, SWD debugger
or UART. This allows us to confidently develop on sealed devices relying or UART. This allows us to confidently develop on sealed devices relying
@ -33,11 +33,11 @@ Videos
Documentation Documentation
------------- -------------
WASP is has [extensive Wasp-os is has [extensive
documentation](https://daniel-thompson.github.io/wasp-os/) which includes a documentation](https://daniel-thompson.github.io/wasp-os/) which includes a
detailed [Applicaiton Writer's detailed [Applicaiton Writer's
Guide](https://daniel-thompson.github.io/wasp-os/appguide.html) to help you get Guide](https://daniel-thompson.github.io/wasp-os/appguide.html) to help you get
started coding for WASP as quickly as possible. started coding for wasp-os as quickly as possible.
Building from a git clone Building from a git clone
------------------------- -------------------------

10
TODO.md
View file

@ -2,7 +2,7 @@
## M1: Dumb watch feature parity ## M1: Dumb watch feature parity
The focus for M1 is to get WASP both to meet feature parity with a dumb The focus for M1 is to get wasp-os both to meet feature parity with a dumb
watch and to have a bootloader and watchdog strategy that is robust enough watch and to have a bootloader and watchdog strategy that is robust enough
to allow a PineTime case to be confidently glued shut. to allow a PineTime case to be confidently glued shut.
@ -21,7 +21,7 @@ to allow a PineTime case to be confidently glued shut.
- [X] Feed dog from REPL polling loop - [X] Feed dog from REPL polling loop
- [X] Feed dog from a tick interrupt - [X] Feed dog from a tick interrupt
### WASP ### Wasp-os
* [X] Display driver * [X] Display driver
- [X] Display initialization - [X] Display initialization
@ -55,7 +55,7 @@ applications.
* [X] Enable LittleFS on SPI FLASH (at boot) * [X] Enable LittleFS on SPI FLASH (at boot)
* [X] BLE file transfer * [X] BLE file transfer
### WASP ### Wasp-os
* [X] Add dd/mm/yyyy support to RTC * [X] Add dd/mm/yyyy support to RTC
* [X] Button driver (interrupt based) * [X] Button driver (interrupt based)
@ -68,7 +68,7 @@ applications.
- [X] Sphinx framework and integration with github.io - [X] Sphinx framework and integration with github.io
- [X] Document bootloader protocols - [X] Document bootloader protocols
- [X] Application writer's guide - [X] Application writer's guide
- [ ] Write full docstring documentation for all WASP components - [ ] Write full docstring documentation for all wasp-os components
* [X] Application Launcher * [X] Application Launcher
* [X] Debug notifications * [X] Debug notifications
* [o] Multi-colour RLE images * [o] Multi-colour RLE images
@ -90,7 +90,7 @@ functionality.
* [ ] Use SoftDevice sleep logic * [ ] Use SoftDevice sleep logic
* [ ] Automatically enter SPI flash power saving mode * [ ] Automatically enter SPI flash power saving mode
### WASP ### Wasp-os
* [ ] Enable heart rate sensor * [ ] Enable heart rate sensor
- [ ] HRS3300 driver - [ ] HRS3300 driver

View file

@ -7,7 +7,7 @@ Application Writer's Guide
Introduction Introduction
------------ ------------
WASP, the Watch Application System in Python, has one pervasive goal that Wasp-os, the Watch Application System in Python, has one pervasive goal that
influences almost everything about it, from its name to its development influences almost everything about it, from its name to its development
roadmap: make writing applications easy (and fun). roadmap: make writing applications easy (and fun).
@ -16,7 +16,7 @@ are what **really** distinguishes a smart watch from a "feature watch"[#]_.
In other words if we want a watch built around a tiny microcontroller to be In other words if we want a watch built around a tiny microcontroller to be
sufficiently "smart" then it has to be all about the applications. sufficiently "smart" then it has to be all about the applications.
This guide will help you get started writing applications for WASP. Have fun! This guide will help you get started writing applications for wasp-os. Have fun!
.. [#] The fixed function mobile phones that existed before iOS and Android .. [#] The fixed function mobile phones that existed before iOS and Android
took over the industry were retrospectively renamed "feature phones" to took over the industry were retrospectively renamed "feature phones" to
@ -24,10 +24,10 @@ This guide will help you get started writing applications for WASP. Have fun!
to early Android devices but is was the application ecosystem that really to early Android devices but is was the application ecosystem that really
made smart phones smart. made smart phones smart.
Hello World for WASP Hello World for wasp-os
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~
Let's start by examining a simple "Hello, World!" application for WASP. Let's start by examining a simple "Hello, World!" application for wasp-os.
.. literalinclude:: hello.py .. literalinclude:: hello.py
:linenos: :linenos:
@ -46,13 +46,13 @@ There are a couple of points of interest:
for us to do! for us to do!
4. The use of :py:meth:`~.TemplateApp._draw` is optional. We could just do 4. The use of :py:meth:`~.TemplateApp._draw` is optional. We could just do
the work in :py:meth:`~.TemplateApp.foreground` but this application follows the work in :py:meth:`~.TemplateApp.foreground` but this application follows
a common WASP idiom that is normally used to pattern to distinguish a full a common wasp-os idiom that is normally used to pattern to distinguish a full
refresh of the screen from an fast update (a redraw). refresh of the screen from an fast update (a redraw).
Application life-cycle Application life-cycle
---------------------- ----------------------
Applications in WASP are triggered by and do all their processing Applications in wasp-os are triggered by and do all their processing
from calls their entry points. The entry points can be coarsely categorized from calls their entry points. The entry points can be coarsely categorized
event notifications, timer callbacks (the application tick) and event notifications, timer callbacks (the application tick) and
system notifications. system notifications.
@ -82,7 +82,7 @@ calls, together with the implicit application states are shown below.
When an application is initialized is enters the ``BACKGROUND`` state. A When an application is initialized is enters the ``BACKGROUND`` state. A
backgrounded application will not execute but it should nevertheless backgrounded application will not execute but it should nevertheless
maintain its user visible state whilst in the background. To conserve maintain its user visible state whilst in the background. To conserve
memory WASP does not permit two applications to run simultaneously but memory wasp-os does not permit two applications to run simultaneously but
because each application preserves its state when in the background it will because each application preserves its state when in the background it will
appear to the user as though all applications are running all the time. appear to the user as though all applications are running all the time.
@ -117,9 +117,9 @@ API primer
---------- ----------
This API primer introduces some of the most important and frequently used This API primer introduces some of the most important and frequently used
interfaces for WASP. For more comprehensive coverage see the interfaces for wasp-os. For more comprehensive coverage see the
:ref:`WASP Reference Manual` which contains extensive API documentation :ref:`Wasp-os Reference Manual` which contains extensive API documentation
covering the entire of WASP, including its drivers. covering the entire of wasp-os, including its drivers.
System management System management
~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~
@ -175,8 +175,8 @@ Some applications customize the above code slightly if they require a custom
background colour and it may even be omitted entirely if the application background colour and it may even be omitted entirely if the application
explicitly draws every pixel on the display. explicitly draws every pixel on the display.
Finally, WASP provides a small number of widgets that allow common fragments of Finally, wasp-os provides a small number of widgets that allow common fragments
logic and redrawing code to be shared between applications: of logic and redrawing code to be shared between applications:
* :py:class:`.BatteryMeter` * :py:class:`.BatteryMeter`
* :py:class:`.ScrollingIndicator` * :py:class:`.ScrollingIndicator`
@ -184,7 +184,7 @@ logic and redrawing code to be shared between applications:
MicroPython MicroPython
~~~~~~~~~~~ ~~~~~~~~~~~
Many of the features of WASP are inherited directly from MicroPython_. It is Many of the features of wasp-os are inherited directly from MicroPython_. It is
useful to have a basic understanding of MicroPython and, in particular, put useful to have a basic understanding of MicroPython and, in particular, put
in a little time learning the best ways to copy with running in a little time learning the best ways to copy with running
`MicroPython on microcontrollers`__. `MicroPython on microcontrollers`__.
@ -199,7 +199,7 @@ How to run your application
Testing on the simulator Testing on the simulator
~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~
WASP provides a simulator that can be used to test applications before wasp-os provides a simulator that can be used to test applications before
downloading them to the device. The simulator is useful for ensuring the downloading them to the device. The simulator is useful for ensuring the
code is syntactically correct and that there are not major runtime problems code is syntactically correct and that there are not major runtime problems
(e.g. missing symbols). (e.g. missing symbols).
@ -285,7 +285,7 @@ and ensure it gets launched during system startup.
.. note:: .. note::
Applications stored in external FLASH have a greater RAM overhead than Applications stored in external FLASH have a greater RAM overhead than
applications that are frozen into the WASP binary. See next section for applications that are frozen into the wasp-os binary. See next section for
additional details. additional details.
To copy your application to the external FLASH try: To copy your application to the external FLASH try:
@ -298,7 +298,7 @@ To copy your application to the external FLASH try:
At this point your application is stored on the external FLASH but it will At this point your application is stored on the external FLASH but it will
not automatically be loaded. This requires you to update the ``main.py`` file not automatically be loaded. This requires you to update the ``main.py`` file
stored in the external FLASH. When WASP runs for the first time it stored in the external FLASH. When wasp-os runs for the first time it
automatically generates this file (using ``wasp/main.py`` as a template) automatically generates this file (using ``wasp/main.py`` as a template)
and copies it to the external FLASH. After this point ``main.py`` is user and copies it to the external FLASH. After this point ``main.py`` is user
modifiable and can be used to tweak the configuration of the watch before modifiable and can be used to tweak the configuration of the watch before
@ -328,8 +328,8 @@ to the watch:
startup. If that happens, and you don't know how to debug the problem, then startup. If that happens, and you don't know how to debug the problem, then
you can use wasptool to restore the original version of main.py . you can use wasptool to restore the original version of main.py .
Freezing your application into the WASP binary Freezing your application into the wasp-os binary
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Freezing your application causes it to consume dramatically less RAM. That is Freezing your application causes it to consume dramatically less RAM. That is
because the code is both pre-compiled (meaning we don't need any RAM budget to because the code is both pre-compiled (meaning we don't need any RAM budget to

View file

@ -1,7 +1,7 @@
.. _WASP Reference Manual: .. _Wasp-os Reference Manual:
WASP Reference Manual Wasp-os Reference Manual
===================== ========================
.. contents:: .. contents::
:local: :local:
@ -142,7 +142,7 @@ have any hardware mechanism to allow the user to force a failed device into
bootloader mode. This makes them difficult to develop on because opening the bootloader mode. This makes them difficult to develop on because opening the
case to access a SWD or reset pins may compromise their waterproofing. case to access a SWD or reset pins may compromise their waterproofing.
WASP uses a watchdog timer (WDT) combined with a single hardware button in wasp-os uses a watchdog timer (WDT) combined with a single hardware button in
order to provide a robust mechanism to allow the user to force entry into a order to provide a robust mechanism to allow the user to force entry into a
over-the-air firmware recovery mode that allows the buggy application to be over-the-air firmware recovery mode that allows the buggy application to be
replaced. replaced.

View file

@ -193,7 +193,7 @@ def handle_upload(c, fname):
if __name__ == '__main__': if __name__ == '__main__':
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description='WASP command and control client') description='Wasp-os command and control client')
parser.add_argument('--console', action='store_true', parser.add_argument('--console', action='store_true',
help='Launch a REPL session') help='Launch a REPL session')
parser.add_argument('--check-rtc', action='store_true', parser.add_argument('--check-rtc', action='store_true',
@ -207,11 +207,11 @@ if __name__ == '__main__':
parser.add_argument('--reset', action='store_true', parser.add_argument('--reset', action='store_true',
help="Reboot the device (and don't stay in bootloader mode)") help="Reboot the device (and don't stay in bootloader mode)")
parser.add_argument('--rtc', action='store_true', parser.add_argument('--rtc', action='store_true',
help='Set the time on the WASP device') help='Set the time on the wasp-os device')
parser.add_argument('--upload', parser.add_argument('--upload',
help='Copy the specified file to the WASP device') help='Copy the specified file to the wasp-os device')
parser.add_argument('--verbose', action='store_true', parser.add_argument('--verbose', action='store_true',
help='Log interaction with the WASP device') help='Log interaction with the wasp-os device')
args = parser.parse_args() args = parser.parse_args()
device_name = args.device device_name = args.device

View file

@ -82,7 +82,7 @@ class PinHandler():
return new_value return new_value
class Manager(): class Manager():
"""WASP system manager """Wasp-os system manager
The manager is responsible for handling top-level UI events and The manager is responsible for handling top-level UI events and
dispatching them to the foreground application. It also provides dispatching them to the foreground application. It also provides