Пакет драйверов для CP2102 v6.2 (Microsoft Windows® 7, Vista, XP, 2k)
Улучшения по сравнению с предыдущим релизом:
1) Откорректирован статусный код, возвращаемый функцией DeviceIoControl() и другими функциями COM API в случае, если устройство извлечено. Для корректной визуализации причины ошибки, операция GetLastError() в этом случае возвращает статусный код ERROR_ACCESS_DENIED (0x05), сообщающий о невозможности доступа к устройству. Ранее возвращался код ERROR_BAD_COMMAND, соответствующий передаче неверной команды программным обеспечением и неадекватный данной причине ошибки.
2) Исправлена ошибка, проявлявшаяся, если программа устанавливает состояние выходных квитирующих сигналов DTR и RTS, а затем читает его. Если операция чтения выполняется до того, как устройство сообщило об изменении указанных сигналов, драйвер возвращал их предыдущее состояние вместо только что установленного. После исправления, драйвер всегда возвращает состояние, адекватное предыстории его переключения. Эта ошибка приводила к задержке переключения сигналов DTR и RTS, заметной для программного обеспечения. Такая задержка не характерна для UART на шинах ISA, PCI, LPC, поэтому ее устранение улучшило совместимость USB UART.
3) Исправлена ошибка, связанная с классификацией команд, передаваемых от драйвера к устройству. Некоторые команды были ошибочно определены как Device Requests. Правильный тип этих команд – Interface Requests и возможность их использования зависит от текущего состояния устройства, а именно от ранее заданного типа интерфейса. Такая ошибка не приводит к нарушению работы устройств, поддерживающих только один тип интерфейса, но ее исправление важно для расширения номенклатуры устройств, поддерживаемых драйвером.
- - - -
1. Corrected return value for DeviceIoControl() and other COM API functions once the device is removed to properly show ERROR_ACCESS_DENIED (0x05) instead of ERROR_BAD_COMMAND in GetLastError()
2. Corrected bug in DTR/RTS reporting latency seen if you set DTR/RTS and ask for it before the device has reported it to the host – now when it is written it reads back immediately
3. Corrected several USB requests that were improperly defined as device requests when they are actually interface requests – this doesn't exhibit and bugs in current single interface devices but was changed to be complete and correct