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