DLPU103B october   2020  – may 2023 DLP230NP

 

  1.   1
  2.   DLP LightCrafter Display 230NP EVM
  3.   Trademarks
  4. DLP LightCrafter Display 230NP EVM Overview
  5. Safety Instructions
  6. Applicable Documents
  7. What is in the DLP LightCrafter Display 230NP EVM?
  8. Light Engine
  9. Quick-Start Procedure
  10. Connectors on Formatter Board
  11. EVM Setup
  12. Raspberry Pi Guide
    1. 9.1 Raspberry Pi General Configuration
    2. 9.2 Video Timing Configuration
    3. 9.3 Python Support Software
    4. 9.4 Operating Modes
    5. 9.5 Example Applications
      1. 9.5.1 Initialize Communication Between Raspberry Pi and EVM
      2. 9.5.2 Play Video Content from Raspberry Pi
      3. 9.5.3 Execute Sample Scripts Using Raspberry Pi
      4. 9.5.4 Rewrite Controller or FPGA Flash Device Using Raspberry Pi
  13. 10Troubleshooting
  14. 11Support Resources
  15. 12Revision History

Python Support Software

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:

  • /api/dlpc343x_xpr4.py (Contains I2C host commands)
  • /api/dlpc343x_xpr4_evm.py (Contains EVM-specific commands such as GPIO initialization)
  • /api/ScriptAPIDoc.html (Contains documentation on all I2C host commands available in dlpc343x_xpr4.py API library)
  • /flash_write_controller.py (Switches GPIO to SPI mode and writes to DLPC3436 flash device)
  • /flash_write_fpga.py (Switches GPIO to SPI mode and writes to DLPC3436 FPGA flash device)
  • /i2c.py (Driver code for I2C via Python)
  • /init_fpdlink_mode.py (Initializes video output for FPD-Link)
  • /init_parallel_mode.py (Initializes video output for 18-bit DPI via RGB666 from Raspberry Pi
  • /linuxi2c.py (Driver code for I2C via Python)
  • /sample00_template.py (Blank script, provides base for user development of custom routines)
  • /sample01_tpg.py (Sample script, cycles internal test patterns available for the DLPDLCR230NPEVM)
  • /sample02_splash.py (Sample script, cycles splash screens available for the DLPDLCR230NPEVM)
  • /sample03_display.py (Sample script, tests display configuration; rotation, keystone, image flip)
  • /sample04_looks.py (Sample script, cycles "Looks" (LED duty cycle configurations) available)
  • /sample05_led.py (Sample script, iterates RGB LED current values from minimum to maximum)
  • /sample06_status.py (Sample script, reads and prints status registers available)

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)).

Note:

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".

flashrom is third party content (“Third Party Content”).  Third Party Content is not under TI’s control and TI is not responsible for such content, or any changes or updates to such content. TI provides links and access to Third Party Content to you only as a convenience and TI does not endorse such content. Use of third party websites, features, and tools is governed by the applicable terms of use and privacy practices of such websites and services. You agree to review and accept applicable terms in respect of Third Party Content.