A Python package to access and program Renesas GreenPak SPLD's.
This Python package provides a simple to use API to read/write/program Renseas GreenPak PLDs over a USB to I2C link.
As of December 2023, the package supports the following USB to I2C interfaces and new ones can be easily added based on the examples in drivers.py:
- I2C Driver (two variants, mini and full.)
- I2C Adapter (four variants, including a bare Raspberry Pico.)
Sample usage using an I2C Adapter:
import greenpak as gp
print("Connecting.")
i2c_driver = gp.drivers.GreenPakI2cAdapter(port = "COM17")
gp_driver = gp.GreenpakDriver(i2c_driver, device="SLG46826", control_code=0b0001)
print("Loading configuration.")
data = gp.read_bits_file("test_data/slg46826_blinky_fast.txt")
gp.hex_dump(data)
print("Programming the NVM.")
gp_driver.program_nvm_pages(0, data)
print("Resetting the device.")
gp_driver.reset_device()
For full documentation see https://greenpak.readthedocs.io/en/latest