Skip to content

Commit

Permalink
changes at the documentation level and taking the mpy firmware public…
Browse files Browse the repository at this point in the history
… @1.0.0 (#7)

* use direct values instead of variables for gigglebot module

* fix conflict induced by having the same address on the I2C line

* simplify the gigglebot_advanced module and rename it to gb_diag

* add read functions to each add-on sensor in the gigglebot module

* add little comment in the distance sensor's constructor

* correct version name in the changelog's title

* just a simple change (#5)

* Small change

* Update changelog.yaml

* fix - documentation (reorganization, fw vs runtime, badges) (#6)

* update badge icons for build and docs status

* mention what modules have been dropped out of the mpy firmware

* add note about the existence of a different term apparently synonymous to the firmware

* change where the API is placed in the documentation

* update the changelog

* make small changes to the documentation

* putting emphasis on 2 paragraphs & changing the wording on an expression
  • Loading branch information
RobertLucian authored Jun 28, 2019
1 parent f09bcb2 commit 4fa9a2a
Show file tree
Hide file tree
Showing 6 changed files with 33 additions and 9 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@ docs/build
.vscode/
*.pyc
docs/source/branch

docs/source/_build/html/
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## GiggleBot MicroPython for the BBC Micro:bit
[![Build Status](https://travis-ci.org/RobertLucian/micropython-gigglebot.svg?branch=master)](https://travis-ci.org/RobertLucian/micropython-gigglebot) [![Documentation Status](https://readthedocs.org/projects/gigglebot-dev/badge/?version=develop)](https://gigglebot-dev.readthedocs.io/en/develop/?badge=develop)
[![Build Status](https://travis-ci.org/DexterInd/micropython-gigglebot.svg?branch=master)](https://travis-ci.org/DexterInd/micropython-gigglebot) [![Documentation Status](https://readthedocs.org/projects/gigglebot/badge/?version=stable)](https://gigglebot.readthedocs.io/en/stable/?badge=stable)

This is the repository for the MicroPython that's running on the BBC micro:bit + GiggleBot robot.

Expand Down
9 changes: 8 additions & 1 deletion changelog.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
v1.0.0:
title: GiggleBot MicroPython Firmware v1.0.0
body:
- Update build/docs badges on the project's README.
- Mention the removal of the compass and SPI libraries.
- Clarify the difference between the MicroPython and DAPLink firmwares.
- Reorganize the documentation a little bit.
v0.4.0:
title: GiggleBot MicroPython Firmware v0.4.0
body:
Expand Down Expand Up @@ -48,4 +55,4 @@ v0.1.0:
- Reduced the number of recursions to a minimum with the distance sensor library
and made it not use much RAM memory when imported.
- Added the gigglebot library to this release.
- Added build server (with Travis-CI) and automated the release of new versions.
- Added build server (with Travis-CI) and automated the release of new versions.
8 changes: 3 additions & 5 deletions docs/source/firmware.rst
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,9 @@ Firmware

This customized firmware that includes the modules listed in this documentation also includes a handful of features meant to make use
of the available RAM on the BBC micro:bit in a more efficient manner.
The downside to this, is that we had to **remove the built-in support for the micro:bit's compass and the SPI libraries**, which are least likely to be needed.

The vanilla firmware that comes with the `Mu Editor`_ is not really a good choice to use with external libraries because you cannot load precompiled
modules and then just import them. And loading most of the bigger libraries on the microbit doesn't work either, because the board has such limited RAM resources.

So we have come up with a custom firmware that allows the import of precompiled python modules (to byte-code aka ``.mpy`` files). These ``.mpy`` modules can be treated
The default micropython firmware that comes with the Mu Editor fills the needs of a single microbit but does not offer enough power to easily drive extra hardware like the GiggleBot. So we have come up with a custom firmware that allows the import of precompiled python modules (to byte-code aka ``.mpy`` files). These ``.mpy`` modules can be treated
like regular ``.py`` modules and copied in exactly the same manner over your microbit's filesystem, but they cannot be opened and edited in any way; it's not like it's necessary anyway.
This has the advantage of skipping the precompiling phase on the microbit that could leave it without RAM resources during or after this process.

Expand Down Expand Up @@ -90,4 +88,4 @@ To download, flash and play with the firmware, follow the :ref:`Getting Started
.. _temperature humidity pressure sensor: https://www.dexterindustries.com/shop/temperature-humidity-pressure-sensor/
.. _light and color sensor: https://www.dexterindustries.com/shop/light-color-sensor/
.. _mu editor: https://codewith.mu/en/
.. _bbc microbit: https://microbit.org/
.. _bbc microbit: https://microbit.org/
4 changes: 2 additions & 2 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@ For an introduction to MicroPython on the Micro:Bit, see the `official tutorial
quickstart
firmware

code

control-tutorial
sensors-tutorial
addon-sensors-tutorial

code



Indices and tables
Expand Down
17 changes: 17 additions & 0 deletions docs/source/quickstart.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,23 @@ At the end of these short instructions, you will be able to run the following sn
sleep(250) # wait 250 msec
pixels_off() # turn off the GiggleBot eyes
sleep(250) # wait 250 msec
.. note::

There are 2 MCUs (short for *Microcontroller Unit*) sitting on the BBC micro:bit:

* One MCU has the role of flashing the HEX file that gets copied over to the other MCU.
* And the second MCU houses the actual scripts and MicroPython runtime (technically known as firmware) that you interact with (in the real world or at the terminal).

In the micropython ecosystem, people refer to it as *firmware*. In the micro:bit ecosystem, it is referred to as *micropython runtime* to differentiate it from the microbit firmware, also known as the DAL firmware.
Here are some examples:

* `Exhibit A <https://microbit-micropython.readthedocs.io/en/v1.0.1/devguide/flashfirmware.html?highlight=firmware#>`_ from BBC micro:bit MicroPython docs.
* `Exhibit B <https://microbit-micropython.readthedocs.io/en/v1.0.1/devguide/hexformat.html>`_ from BBC micro:bit MicroPython docs.

So in our documentation, **when we talk about the firmware, we are referring to the MicroPython firmware. And when we want to refer to the other MCU's firmware,
we just call it the DAPLink firmware**. Simple, right?


************************
Expand Down

0 comments on commit 4fa9a2a

Please sign in to comment.