Skip to content

Latest commit

 

History

History
30 lines (28 loc) · 1.88 KB

PORTING.md

File metadata and controls

30 lines (28 loc) · 1.88 KB

Porting ljinux

These instructions are seperated into 3 big steps:

  1. Verify your board will actually be able to run ljinux.
    gc.mem_free() should be at least 100000 for ljinux to be able to function.
    Only wifi and usb workflows supported.

  2. From within "Boardfiles", copy and modify a similar board's folder.
    For the settings.toml, you need to edit the led to match the respective pin for your board, and set the type.
    For using board.LED or board.NEOPIXEL set the value to -1.
    The supported types are "neopixel", "generic", "generic_invert", "rgb" and "rgb_invert".
    "generic" is any simple on / off led.
    "neopixel" is for neopixel leds.
    "rgb" is for tri-color leds.

    For the pinout.map, you need to create a ascii pinout for the board.
    If you feel too uncreative, you can skip it, but please don't.

    For the pintab.py, you need to properly add all the user accessible pins of the board module.
    import board;dir(board)
    Make sure not to add duplicate pins, or the board.LED.
    For the extras, include whatever modules your board's hardware needs.
    For example, or adding native wifi support, create a file named driver_wifi.driver in folder extras.
    Files in extras that have their name end with .driver will pull a .py file from other/drivers.
    Files in extras that have their name end with .other will pull from other/ a file or a folder.
    To include a folder deeper in other/, use dots in place of slashes, for example, to include other/Adafruit_CircuitPython_HTTPServer/, create a file named "Adafruit_CircuitPython_HTTPServer.adafruit_httpserver.other".

  3. Test your changes by loading ljinux onto the board. "make install" will update the config.