DLPU103B october 2020 – may 2023 DLP230NP
The Python software package contains an API, as well as example scripts implementing basic features of the DLPDLCR230NPEVM. The directory structure of this package is as follows:
To execute these scripts, Python version 3 or higher is required. Once the "config.txt" file on the Raspberry Pi is set up and the above Python software package is installed, you are ready to interface your Raspberry Pi with the DLPDLCR230NPEVM. Each of the above scripts includes docstrings describing code functionality within. TI recommends reviewing these docstrings to take full advantage of the provided system functionality. The included sample scripts are portable and can be executed on their own or incorporated into a larger codebase, provided the API libraries are also present or included. Simply call the script by invoking Python 3 on command line with the script being evaluated.
The "flash_write_controller.py" and "flash_write_fpga.py" scripts are unique in that they operate the outside of its standard operating mode. In these scripts, the GPIOs on the Raspberry Pi are reconfigured to establish a SPI connection between the Raspberry Pi and one of the DLPDLCR230NPEVM's onboard flash devices (DLPC3436 controller flash device or FPGA flash device). A flash image must be provided as command line arguments with these scripts, at which point the onboard GPIOs are set to enable writing to the directed flash device. A GPL software program flashrom is required to perform this write operation, and is installed by default on Raspberry Pi 4B systems. Learn more at (https://www.flashrom.org/Flashrom(2)).
When executing any script which performs flash device memory access (including "Splash Screen Select" and "Look Select") it is necessary to enable I2C command delays of with a minimum duration of 0.6 seconds to ensure that no write or readback commands fail during code execution. See /sample02_splash.py for an example implementation of the I2C command delay. Within the provided Python sample scripts, this delay has been defined as "I2c_time_delay".