not logged in | [Login]

Brain barf

This section to be deleted/reformatted/made politically correct at a later date

  • I will not be teaching C or Python - that is completely off-topic and I ask that questions regarding C or Python questions not specific to micropython be taken elsewhere.

Hello, world!

Introduction

Creating a pyb module is a complicated task all by itself and I don't want to try and learn both C -> pyb at the same time as ST's CAN hardware all while struggling to push my compiled code to the board (dfu-util is giving me trouble at the moment). Because of all this complexity, I will start by simply creating a "Hello, world!" pyb module within the Unix implementation. I'm a Saab fan, so my module consists of the 6 different Saabs that I've owned. Originally it was going to be a generic module capable of storing any Saab between 1947 and 1993, but I realized this was more difficult and did not match up my example: the LED module. You see, the LEDs on the micropython board are all hard-coded in as static globals instead of being created on-the-fly as you need them - so I too have hard-coded my six Saabs instead of allowing a user to create any Saab (s)he wants. You will then be able to select which of my Saabs you want via an ID (just like selecting LED 1, 2 or 3).

Assumptions

  • The path <root>/ refers to the top level directory of micropython. I am referring to the directory with README.md in it.

Getting started

  1. First, start by downloading the source code, reading the README, and familiarizing yourself with how to compile from source. https://github.com/micropython/micropython
  2. There are two non-negotiable first-steps to creating your module: create your source file and add it to the Makefile. I've created two files: <root>/unix/saab.c and <root>/unix/saab.h and added one line <root>/unix/Makefile in the style of line 73. My line simply reads saab.c \ immediately below line 73. This compiles your module into the micropython executable.