EasyMCP2221.Device
- 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
(seelimitations_bugs
). - Reload Vrm after power-up according to saved configuration.
- GPIO output values given with
- 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
api_reference
) - Automatically try to recover from an I2C error in past operation.
- Rewritten
- New features:
- Function to save current state:
save_config
. - Added speed parameter in I2C Slave class.
- Function to save current state:
- 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.
Released 1.5.1 again by mistake.
Add I2C Slave helper class.
First EasyMCP2221 version.
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.