|
|
|
General information about the pyboard
|
|
|
|
=====================================
|
|
|
|
|
|
|
|
.. contents::
|
|
|
|
|
|
|
|
Local filesystem and SD card
|
|
|
|
----------------------------
|
|
|
|
|
|
|
|
There is a small internal filesystem (a drive) on the pyboard, called ``/flash``,
|
|
|
|
which is stored within the microcontroller's flash memory. If a micro SD card
|
|
|
|
is inserted into the slot, it is available as ``/sd``.
|
|
|
|
|
|
|
|
When the pyboard boots up, it needs to choose a filesystem to boot from. If
|
|
|
|
there is no SD card, then it uses the internal filesystem ``/flash`` as the boot
|
|
|
|
filesystem, otherwise, it uses the SD card ``/sd``. After the boot, the current
|
|
|
|
directory is set to one of the directories above.
|
|
|
|
|
|
|
|
If needed, you can prevent the use of the SD card by creating an empty file
|
|
|
|
called ``/flash/SKIPSD``. If this file exists when the pyboard boots
|
|
|
|
up then the SD card will be skipped and the pyboard will always boot from the
|
|
|
|
internal filesystem (in this case the SD card won't be mounted but you can still
|
|
|
|
mount and use it later in your program using ``os.mount``).
|
|
|
|
|
|
|
|
(Note that on older versions of the board, ``/flash`` is called ``0:/`` and ``/sd``
|
|
|
|
is called ``1:/``).
|
|
|
|
|
|
|
|
The boot filesystem is used for 2 things: it is the filesystem from which
|
|
|
|
the ``boot.py`` and ``main.py`` files are searched for, and it is the filesystem
|
|
|
|
which is made available on your PC over the USB cable.
|
|
|
|
|
|
|
|
The filesystem will be available as a USB flash drive on your PC. You can
|
|
|
|
save files to the drive, and edit ``boot.py`` and ``main.py``.
|
|
|
|
|
|
|
|
*Remember to eject (on Linux, unmount) the USB drive before you reset your
|
|
|
|
pyboard.*
|
|
|
|
|
|
|
|
Boot modes
|
|
|
|
----------
|
|
|
|
|
|
|
|
If you power up normally, or press the reset button, the pyboard will boot
|
|
|
|
into standard mode: the ``boot.py`` file will be executed first, then the
|
|
|
|
USB will be configured, then ``main.py`` will run.
|
|
|
|
|
|
|
|
You can override this boot sequence by holding down the user switch as
|
|
|
|
the board is booting up. Hold down user switch and press reset, and then
|
|
|
|
as you continue to hold the user switch, the LEDs will count in binary.
|
|
|
|
When the LEDs have reached the mode you want, let go of the user switch,
|
|
|
|
the LEDs for the selected mode will flash quickly, and the board will boot.
|
|
|
|
|
|
|
|
The modes are:
|
|
|
|
|
|
|
|
1. Green LED only, *standard boot*: run ``boot.py`` then ``main.py``.
|
|
|
|
2. Orange LED only, *safe boot*: don't run any scripts on boot-up.
|
|
|
|
3. Green and orange LED together, *filesystem reset*: resets the flash
|
|
|
|
filesystem to its factory state, then boots in safe mode.
|
|
|
|
|
|
|
|
If your filesystem becomes corrupt, boot into mode 3 to fix it.
|
|
|
|
If resetting the filesystem while plugged into your compute doesn't work,
|
|
|
|
you can try doing the same procedure while the board is plugged into a USB
|
|
|
|
charger, or other USB power supply without data connection.
|
|
|
|
|
|
|
|
Errors: flashing LEDs
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
There are currently 2 kinds of errors that you might see:
|
|
|
|
|
|
|
|
1. If the red and green LEDs flash alternatively, then a Python script
|
|
|
|
(eg ``main.py``) has an error. Use the REPL to debug it.
|
|
|
|
2. If all 4 LEDs cycle on and off slowly, then there was a hard fault.
|
|
|
|
This cannot be recovered from and you need to do a hard reset.
|
|
|
|
|
|
|
|
.. include:: hardware/index.rst
|