Changelog
V1.6
V1.6.1
- Improved USB stability:
Added timeout in HID read.
Added retries in send_cmd.
Better USB trace_commands output format.
Removed sleep parameter in
send_cmd()
.
- GPIO / ADC and DAC:
GPIO output values given with
GPIO_write()
function are now preserved when callingSRAM_config()
(like to change DAC value, or pin function).Restore ADC/DAC Vref when calling
SRAM_config()
(see Limitations and bugs).Reload Vrm after power-up according to saved configuration.
- More reliable I2C functions:
Rewritten
I2C_read()
to take into account internal I2C engine status.Rewritten
I2C_write()
to prevent infinite loop, quicker write and ACK checking.Timeout and early failure check in read and write to prevent infinite loop.
Custom exceptions for better error handling (see Exceptions in Full API reference)
Automatically try to recover from an I2C error in past operation.
- New features:
Function to save current state:
save_config()
.Added speed parameter in I2C Slave class.
- Documentation:
Removed self argument from autodoc methods.
Added pictures and schematics.
Added MCP2221 pinout guide.
Added advanced ADC/DAC examples section.
Added license.
Corrected typos.
Formatting.
V1.6.0
Released 1.5.1 again by mistake.
V1.5
V1.5.1
Add I2C Slave helper class.
V1.5.0
First EasyMCP2221 version.
Older releases
This project was initially a fork of PyMCP2221A library by Yuta KItagami (https://github.com/nonNoise/PyMCP2221A).
I made a few changes, then a few more, until I ended up rewriting almost all the code. Since the API is no longer compatible with PyMCP2221A, I decided to create a new package.
Tags v1.4 and earlier are from PyMCP2221A.