Make wasp-os namig consistant
Rename WASP to wasp-os (or Wasp-os)
This commit is contained in:
parent
b8efcd3053
commit
d11e6eb4a1
6 changed files with 36 additions and 36 deletions
|
@ -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
10
TODO.md
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue