Skip to content

Releases: electronicayciencia/EasyMCP2221

v1.8.4 - The more devices release

19 Sep 16:06

Choose a tag to compare

Improvements for multiple devices:

  • Add scan_serial parameter to EasyMCP2221.Device to prevent interference with other MCP2221 when searching for some Serial number.
  • Tests for corner cases in device selection with enable_cdc_serial() both enabled and disabled.
  • Improved catalog now make sure no device with the same USB system path is open twice in the same program.
  • The catalog takes into account that the device may have been changed to another port or disconnected.
  • Fully rewrite device selection code.

Misc:

  • Re-introduce timeout parameter on USB HID read removed on V1.7.2. Now as an optional parameter read_timeout on EasyMCP2221.Device. Default is no timeout (read forever).

v1.8.3 - The reserved bug release

18 Jul 19:18

Choose a tag to compare

Misc:

  • Fixed bug in debug messages.
  • Fixed initialization bug when a pin function value is not valid, so documented as “reserved”.

v1.8.2 - The poll&DAC release

14 Jan 20:55

Choose a tag to compare

GPIO:

ADC/DAC:

  • ADC_write() and DAC_read() accept and return values in volts.
  • DAC_write() returns the expected DAC output.
  • DAC_config() will turn Off DAC before selecting a new reference voltage.

I2C:

  • Fixed: some I2C states are not handled correctly.

Documentation:

V1.8.1 - The device reuse release

04 Nov 15:32

Choose a tag to compare

Misc:

  • New feature: Device instance catalog.
    Multiple EasyMCP2221.Device instances pointing to the same physical device can cause conflict.
    EasyMCP2221 keeps an internal catalog of devices initialized in the same program. It tries to detect when
    double initialization happens and return the same object to prevent conflicts.
  • Improved device selection flow.
  • Test for device selection and catalog.

I2C:

  • Added serial number to SMBus initialization parameters.

Documentation:

  • Examples with ADS1115 ADC.
  • Improved device selection flow explanation.
  • Add I2C expected performance table in limitations_bugs

v1.8.0 - The multi-device release

27 Jun 17:56

Choose a tag to compare

Improvements for multiple devices:

  • Allow selecting a device via USB serial number.
  • Added enable_cdc_serial to locate the matching CDC interface.
  • Fixed: State variables were defined as class variables.

Misc:

  • Added I2C scan code in I2C_read documentation.
  • Removed open timeout unless in reset operation.
  • Fixed: Preserve non-default initialization parameters on reset.
  • Removed the 5 seconds delay at initialization when no devices found (except when reset is called).

v1.7.2 - The strange delay fix

15 Apr 19:41

Choose a tag to compare

ADC/DAC:

  • Added norm parameter to :func:ADC_read and :func:DAC_write.
  • Added LED bar example.

I2C:

  • In I2C Slave Helper class, register bytes and register byte order can be indicated in the class constructor.

Misc:

  • Removed timeout parameter on USB HID read, introduced in V1.6.1. This parameter causes a delay in some systems (#7) due to unknown reasons. The default timeout is now 1000 ms.

v1.7.1 - The I2C default speed

16 Jun 14:52

Choose a tag to compare

Full changelog here: Changelog v1.7.1

I2C:

  • Set I2C default speed to 100kHz. In some chips, the default speed is 500kHz and can cause trouble with some slave devices or noisy buses. You can adjust it with I2C_speed function.
  • Added clock frequency parameter in SMBus class.

Misc:

  • Added function revision to get the mayor and minor hardware and firmware revision.
  • Fixed test about Interrupt On Change.
  • Moved GUI to a separate application on its own repository.

v1.7.0 - The GUI release

29 May 15:02

Choose a tag to compare

See full changelog here: Changelog v1.7.0

ADC/DAC:

  • Fixed bug. When GP1, 2 and 3 are all in ADC mode and ADC reference is VDD. If just after reset VRM reference is selected, ADC stops working.

Interrupt on Change:

  • Added new section about Interrupt On Change (IOC) detection.
  • Renamed function wake_up_config to IOC_config().
  • Added IOC_read() to read Interrupt On Change flag.
  • Added IOC_clear() to clear Interrupt On Change flag.
  • Replaced raising edge with rising edge.

I2C:

  • Removed deprecated functions I2C_is_idle and I2C_cancel.

Misc:

  • Solved bug USB remote Wake-up is not saved with save_config().
  • New behavior for enable_power_management(). Changes are not saved immediately to Flash. Call to save_config() is needed instead.
  • New function read_flash_info().
  • Device information now returns GPIO designation and default status.
  • Document as limitation a weird MCP2221’s bug related to interrupt flag and ADC reference.
  • Tkinter GUI

v1.6.3

03 Mar 21:05

Choose a tag to compare

Update changelog.

v1.6.2

11 Nov 13:11

Choose a tag to compare