Micropython

@j-devel @mcr done.

https://github.com/RIOT-OS/micropython/pull/5 we need some review and advice on to fix some of the build system problems.

Some additional contexts/thoughts regarding the PR (opinions/suggestions welcome).

For refining ‘ports/riot’, we would like to suggest a progressive approach. Specifically, we are splitting PRs into multi-parts depending on the functionalities:

  • part-1: (<-- we are here now) build system integration (including the relocation of RIOT-micropython source files)
  • part-2: RIOT multi-board support (we have the esp32 case study presented in the summit; and also this would be a good opportunity to enlist any other board types whoever in RIOT community is currently working on)
  • part-3: networking (can this micropython socket module be functional against ‘ports/riot’?)
1 Like

We have just sorted out the new build machinery (thanks @Kaspar for help!), and now we can easily evaluate “micropython v1.17 (current latest stable)” with RIOT –

$ git clone https://github.com/RIOT-OS/micropython
$ cd micropython/ports/riot
$ make       # build MCU "native" with the latest RIOT
$ ./main/bin/native/main.elf    # run RIOT-micropython
>>>

Anyone curious about this topic, try it out!

Following this, we are going to make progress on the corresponding RIOT-side adaptation so that RIOT applications can pull the repo as a package.

4 Likes

Nice work! Some other people I know want to endeavor integrating RIOT LoRa support. Should we direct them to base their work on this repo already?

@Kaspar is there a plan concerning open PRs (for GPIO and for SAUL) on your fork?

We’d have everything in one place then…

Some other people I know want to endeavor integrating RIOT LoRa support. Should we direct them to base their work on this repo already?

I think we are already ready for that! (as far as native board) Under ‘ports/riot’, use

  • ‘RIOT’ dir (git cloned via ‘Makefile’) for base RIOT tree,
  • ‘main’ dir for core RIOT application,
  • ‘modules’ dir for custom RIOT modules, and
  • ‘mod*.c’ for custom micropython modules.