summaryrefslogtreecommitdiffstatshomepage
path: root/docs/wipy/general.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/wipy/general.rst')
-rw-r--r--docs/wipy/general.rst35
1 files changed, 29 insertions, 6 deletions
diff --git a/docs/wipy/general.rst b/docs/wipy/general.rst
index 37900deac8..b59e0d71a5 100644
--- a/docs/wipy/general.rst
+++ b/docs/wipy/general.rst
@@ -18,7 +18,7 @@ There is a small internal file system (a drive) on the WiPy, called ``/flash``,
which is stored within the external serial flash memory. If a micro SD card
is hooked-up and enabled, it is available as ``/sd``.
-When the WiPy boots up, it always boots from the ``boot.py`` located in the
+When the WiPy boots up, it always boots from the ``boot.py`` located in the
``/flash`` file system. If during the boot process the SD card is enabled and
it's selected as the current drive then the WiPy will try to execute ``main.py``
that should be located in the SD card.
@@ -28,6 +28,27 @@ Open your FTP client of choice and connect to:
``ftp://192.168.1.1``, ``user: micro``, ``password: python``
+FileZilla settings
+------------------
+Do not use the quick connect button, instead, open the site manager and create a new
+configuration. In the ``General`` tab make sure that encryption is set to: ``Only use
+plain FTP (insecure)``. In the Transfer Settings tab limit the max number of connections
+to one, otherwise FileZilla will try to open a second command connection when retrieving
+and saving files, and for simplicity and to reduce code size, only one command and one
+data connections are possible. Other FTP clients might behave in a similar way.
+
+Upgrading the firmware Over The Air
+-----------------------------------
+
+OTA software updates can be performed through the FTP server. Upload the ``mcuimg.bin`` file
+to: ``/flash/sys/mcuimg.bin`` it will take around 6s. You won't see the file being stored
+inside ``/flash/sys/`` because it's actually saved bypassing the user file system, but rest
+assured that it was successfully transferred, and it has been signed with a MD5 checksum to
+verify its integrity. Now, reset the MCU by pressing the switch on the board, or by typing::
+
+ import pyb
+ pyb.reset()
+
Boot modes
----------
@@ -54,19 +75,21 @@ and the WiPy will proceed to boot. The firmware selection mechanism is as follow
+-------------------------+-------------------------+----------------------------+
| 1st 3 secs window | 2nd 3 secs window | Final 1.5 secs window |
+=========================+=========================+============================+
-| | Normal boot, *latest* | | Safe boot, *previous* | | Safe boot, the *factory* |
+| | Safe boot, *latest* | | Safe boot, *previous* | | Safe boot, the *factory* |
| | firmware is selected | | user update selected | | firmware is selected |
+-------------------------+-------------------------+----------------------------+
-When selecting a previous firmware version, safe boot mode is entered, meaning
-that the execution of both ``boot.py`` and ``main.py`` is skipped. This is
-useful to recover from crash situations caused by the user scripts.
+In any if the above 3 scenarios, safe boot mode is entered, meaning that
+the execution of both ``boot.py`` and ``main.py`` is skipped. This is
+useful to recover from crash situations caused by the user scripts. The selection
+made during safe boot is not persistent, meaning that after the next normal reset,
+the latest firmware will run again.
The heart beat LED
------------------
By default the heart beat LED flashes once every 5s to signal that the system is
-alive. This can be overridden through the HeartBeat class:
+alive. This can be overridden through the HeartBeat class:
``pyb.HeartBeat().disable()``