1
0
Fork 0

Compare commits

..

No commits in common. "bf07f0cf551cfec5253b7efe38673d6ae13986bb" and "749fe3432fb0ee22dd68fb22b504f188f8646023" have entirely different histories.

8 changed files with 38 additions and 78 deletions

View file

@ -13,11 +13,11 @@ jobs:
steps:
- name: Checkout files
id: checkout-files
uses: actions/checkout@v4
uses: actions/checkout@v2
- name: Check the cached arm-none-eabi-gcc compiler
id: cache-toolchain
uses: actions/cache@v4
uses: actions/cache@v2
env:
cache-name: cache-toolchain-10-2020-q4
with:
@ -68,35 +68,35 @@ jobs:
- name: Upload full binary distribution
id: upload-binaries
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: wasp-os-${{ github.sha }}
path: wasp-os-${{ github.sha }}.tar.gz
- name: Upload pinetime binaries
id: upload-pinetime
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: pinetime-${{ github.sha }}
path: build-pinetime
- name: Upload Colmi P8 binaries
id: upload-p8
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: p8-${{ github.sha }}
path: build-p8
- name: Upload Senbono K9 binaries
id: upload-k9
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: k9-${{ github.sha }}
path: build-k9
- name: Upload extra apps binaries
id: upload-apps
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: apps-${{ github.sha }}
path: apps/*.mpy

View file

@ -13,11 +13,11 @@ jobs:
steps:
- name: Checkout files
id: checkout-files
uses: actions/checkout@v4
uses: actions/checkout@v2
- name: Check the cached python downloads
id: cache-modules
uses: actions/cache@v4
uses: actions/cache@v2
env:
cache-name: cache-toolchain
with:

View file

@ -23,13 +23,10 @@ clean :
reloader/build-$(BOARD) reloader/src/boards/$(BOARD)/bootloader.h \
micropython/mpy-cross/build \
micropython/ports/nrf/build-$(BOARD)-s132 \
apps/*.mpy \
build-$(BOARD) \
wasp/boards/$(BOARD)/watch.py \
wasp/apps/user \
wasp/boards/manifest_user_apps.py \
wasp/appregistry.py
find . -type f -name '*.py[co]' -delete -o -type d -name __pycache__ -delete
# Avoid a recursive update... it grabs far too much
submodules :
@ -65,13 +62,7 @@ wasp/boards/$(BOARD_SAFE)/watch.py : wasp/boards/$(BOARD_SAFE)/watch.py.in
|| ($(RM) wasp/boards/$(BOARD)/watch.py; false)
micropython/mpy-cross/mpy-cross:
$(MAKE) -C micropython/mpy-cross \
CWARN="-Wall -Wno-error"
# ^ Disable some Werrors from GCC>=13, specifically
# - dangling-pointer
# - enum-int-mismatch
# TODO update micropython and remove.
# https://github.com/wasp-os/wasp-os/issues/493
$(MAKE) -C micropython/mpy-cross
micropython: build-$(BOARD_SAFE) wasp/boards/manifest_user_apps.py wasp/boards/$(BOARD_SAFE)/watch.py micropython/mpy-cross/mpy-cross
$(RM) micropython/ports/nrf/build-$(BOARD)-s132/frozen_content.c
@ -79,13 +70,7 @@ micropython: build-$(BOARD_SAFE) wasp/boards/manifest_user_apps.py wasp/boards/$
BOARD=$(BOARD) SD=s132 \
MICROPY_VFS_LFS2=1 \
FROZEN_MANIFEST=$(CURDIR)/wasp/boards/$(BOARD)/manifest.py \
USER_C_MODULES=$(CURDIR)/wasp/modules \
COPT="-Wno-error"
# ^ Disable some Werrors from GCC>=13, specifically
# - dangling-pointer
# - enum-int-mismatch
# TODO update micropython and remove.
# https://github.com/wasp-os/wasp-os/issues/493
USER_C_MODULES=$(CURDIR)/wasp/modules
$(PYTHON) -m nordicsemi dfu genpkg \
--dev-type 0x0052 \
--application micropython/ports/nrf/build-$(BOARD)-s132/firmware.hex \

View file

@ -254,7 +254,7 @@ To launch the simulator:
sh$ make sim
PYTHONDONTWRITEBYTECODE=1 PYTHONPATH=.:wasp/boards/simulator:wasp \\
python3 -i wasp/boards/simulator/main.py
python3 -i wasp/main.py
MOTOR: set on
BACKLIGHT: 2
Watch is running, use Ctrl-C to stop
@ -280,8 +280,8 @@ by swiping or using the Arrow keys to bring up the launcher and then clicking
on your application.
The application can also be registered automatically when you load the
simulator if you add it to ``wasp/boards/simulator/main.py``. Try adding lines
5 and 6 from the above example into this file (between ``import wasp`` and
simulator if you add it to ``wasp/main.py``. Try adding lines 5 and 6 from
the above example into this file (between ``import wasp`` and
``wasp.system.run()``).
The simulator accepts gestures such as up/down and left/right swipes but the

View file

@ -243,9 +243,9 @@ screen, a step counter and a heart rate sensor.
wasp-os can be installed directly from the factory default operating
system using an over-the-air update with no tools or disassembly
required. Gadgetbridge for Android can be used to install both the
:ref:`wasp-bootloader<Bootloader Gadgetbridge>` and the
:ref:`main OS image<Main OS Gadgetbridge>`.
required. nRF Connect for Android can be used to install both the
:ref:`wasp-bootloader<Bootloader nRF Connect>` and the
:ref:`main OS image<Main OS nRF Connect>`.
.. note::
@ -330,12 +330,12 @@ DaFlasher for Android can be used to install both the
Installing wasp-bootloader
--------------------------
.. _Bootloader Gadgetbridge:
.. _Bootloader nRF Connect:
Gadgetbridge for Android
~~~~~~~~~~~~~~~~~~~~~~~~
nRF Connect for Android
~~~~~~~~~~~~~~~~~~~~~~~
For Pine64 PineTime devices running Infinitime then Gadgetbridge for Android
For Pine64 PineTime devices running Infinitime then nRF Connect for Android
can be used to install wasp-bootloader:
* Ensure the watch is fully charged before attempting to install the
@ -343,14 +343,12 @@ can be used to install wasp-bootloader:
sealed devices.
* Copy ``reloader-mcuboot.zip`` (see :ref:`Building wasp-os from source`) to
your Android device and download
`Gadgetbridge <https://f-droid.org/en/packages/nodomain.freeyourgadget.gadgetbridge/>`_
`nRF Connect <https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp>`_
for Android if you do not already have it.
* Wake the device so that Infinitime is showing a watch face.
* Connect to the *Infinitime* device usnig Gadgetbridge, tap on the "+" button on the
bottom right of the screen to add a new device, *Infinitime* should be detected.
* Tap on it and Gadgdetbridge will pair and connect to your device. Use the file browser
application and find and send ``reloader-mcuboot.zip`` to the device.
* When the progress meter reaches 100% Gadgetbridge will disconnect
* Connect to the *Infinitime* device usnig nRF Connect, click the DFU button
and send ``reloader-mcuboot.zip`` to the device.
* When the progress meter reaches 100% the nRF Connect will disconnect
and the watch will reboot.
* The watch will boot the reloader application which draws a small blue
pine cone in the centre of the screen. The pine cone acts a progress
@ -368,11 +366,9 @@ can be used to install wasp-bootloader:
.. note::
If you want to restore the PineTime factory firmware then you can
use Gadgetbridge to do this. Perform a long press reset and then
use Gadgetbridge to send ``reloader-factory.zip`` to the *PineDFU*
device. GadgetBridge may list *PINE DFU* as an unsupported device.
See the work around at the end of
:ref:`main OS image<Main OS Gadgetbridge>`.
use nRF Connect to do this. Perform a long press reset and then
use nRF Connect to send ``reloader-factory.zip`` to the *PineDFU*
device.
.. _Bootloader DaFlasher:
@ -469,35 +465,23 @@ logo and wait for a OTA update.
Installing wasp-os
------------------
.. _Main OS Gadgetbridge:
.. _Main OS nRF Connect:
Gadgetbridge for Android
~~~~~~~~~~~~~~~~~~~~~~~~
nRF Connect for Android
~~~~~~~~~~~~~~~~~~~~~~~
To install the main firmware using Gadgetbridge for Android:
To install the main firmware using nRF Connect for Android:
* Copy ``micropython.zip`` (see :ref:`Building wasp-os from source`) to
your Android device and download
`Gadgetbridge <https://f-droid.org/en/packages/nodomain.freeyourgadget.gadgetbridge/>`_
`nRF Connect <https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp>`_
for Android if you do not already have it.
* Ensure the watch is running in :ref:`OTA update mode<OTA update mode>`.
* Connect to the device (e.g. *PineDFU* if you have a PineTime) using
Gadgetbridge, use the file browser application and send ``micropython.zip`` to the
device.
nRFConnect, click the DFU button and send ``micropython.zip`` to the device.
* When the upload is complete the watch will reboot and launch the digital
clock application.
.. note::
GadgetBridge may list PINE DFU as an unsupported device. This prevents users from
sending the ``micropython.zip`` file to the device. Do the following to work around
this: In GadgetBridge, go to discovery and pairing options and allow unsupported
devices.
The Pinetime will show up as an unsupported device. Long-press it and select Add
as a test device. A list of devices will show up. Scroll down to Pinetime and select
it. The device will be added and you then can upload the ``micropython.zip`` file.
.. _Main OS DaFlasher:
DaFlasher for Android
@ -600,14 +584,8 @@ A default version of ``main.py`` is installed automatically when wasp-os initial
formats the external flash as a file system.
Most problems with normal mode operation occur either because ``main.py`` is
missing, out-of-date or corrupt, or because too many applications are being started
by default, resulting in the system running out of RAM.
Out of memory problems are best addressed by reducing the number of applications you
have set to automatically load (auto_load in wasp.toml). If you are developing your
own application, it is best that you load the minimal set of applications to have
the maximum possible amount of available RAM and minimum fragmentation. For example,
only autoloading the software app will get you the maximum amount of RAM.
missing, out-of-date or corrupt. These issues most commonly result in an
entirely black screen when running the watch is running in normal mode.
.. note::

View file

@ -6,9 +6,6 @@ let
ifLinux = pkgs.lib.optionals pkgs.stdenv.isLinux;
in pkgs.mkShell {
buildInputs = ifLinux [
pkgs.gobject-introspection
];
nativeBuildInputs = [
(pkgs.python3.withPackages (pp: with pp; [
cbor

@ -1 +1 @@
Subproject commit 0e95be2ed0ddc21ea0c833fe0497e175a132524c
Subproject commit 5572b01b26e04c7f8c79e8407f4d202e7258bf6b

@ -1 +1 @@
Subproject commit 2c41c396adc80ee0c09f7cc7263f162c0f508d59
Subproject commit b968b2530440afae8b555613e89b1240afcf4da2