Board

    *This document has passed the test of MaixPy 0.5.1-128. *

    This is a MaixPy board-level configuration module, which can unify Python code at the user level, thereby shielding many hardware pin differences.

    The effect is as follows:

    from Maix import GPIO
    from fpioa_manager import fm
    from board import board_info
    print(board_info.LED_R)
    fm.register(board_info.LED_R, fm.fpioa.GPIO0, force=True)
    led_r = GPIO(GPIO.GPIO0, GPIO.OUT)
    led_r.value(0)
    

    And this code supports all MaixPy hardware to run at the same time, and the printed board_info.LED_R is not the same, it ensures the consistency of the sample code.

    Board configuration method

    Copy the python code corresponding to the following link (such as config_maix_bit.py), put it in the IDE edit box and run it to complete the import of the "your hardware" configuration item (config.json), which will be stored on the flash Configuration file.

    After running the configuration code, it will automatically restart. At this time, board_info.BOOT_KEY can be called in the code. In fact, board_info.BOOT_KEY refers to IO 16. The corresponding definition can be seen in config.json. If the resource does not exist, an error will be reported. If there is no hardware defined by LED, an error will be reported when the running LED is on.

    from board import board_info
    # see board/readme.md to config your sipeed's hardware.
    print(board_info.BOOT_KEY, board_info.BOOT_KEY == 16)
    

    Maix Bit

    config_maix_bit.py

    Maix Dock

    config_maix_dock.py

    Maix Go

    config_maix_go.py

    Maix Duino

    config_maix_duino.py

    Maix Cube

    config_maix_cube.py

    Maix Amigo

    config_maix_amigo.py

    Maix Nano

    This has no hardware peripherals... So don't ask why there is no configuration code.

    Create your own hardware

    You can use this interface code to adapt to your hardware. For the configuration method, please refer to MaixPy_scripts/board There is a configuration file for your reference.

    How to use board

    Import configuration:

    from board import board_info
    board_info.load({
        'PIN10': 10,
        'BOOT_KEY': 16,
        'WIFI_TX': 6,
        'WIFI_RX': 7,
        'WIFI_EN': 8,
    })
    print('PIN10:', board_info.PIN10)
    print('BOOT_KEY:', board_info.BOOT_KEY)
    print('WIFI_TX:', board_info.WIFI_TX)
    print('WIFI_RX:', board_info.WIFI_RX)
    print('WIFI_EN:', board_info.WIFI_EN)
    

    Call result:

    PIN10: 10
    BOOT_KEY: 16
    WIFI_TX: 6
    WIFI_RX: 7
    WIFI_EN: 8
    

    That's it.