Skip to content

Платформенные ограничения

Введение

В процессе тестирования были выявлены существенные различия в стабильности работы USB-коммуникации с FTDI-устройствами на разных платформах.

Windows

  • Основная целевая платформа
  • Стабильная работа с драйверами FTDI
  • Использует новую Python-реализацию USB-коммуникации
  • Полностью протестирована и соответствует функциональности предыдущей legacy-версии

Linux (Ubuntu)

  • Ограниченная поддержка через legacy C++ код
  • Проблемы с таймаутами при использовании Python-реализации
  • Используется немного переработанная версия старой C++ библиотеки для USB-коммуникации
  • Полной гарантии стабильной работы нет

MacOS

  • Не поддерживается
  • Фундаментальные проблемы с драйверами FTDI
  • Нестабильная работа как D2XX, так и Libftdi драйверов
  • Техническая возможность поддержки отсутствует из-за особенностей работы FTDI-чипа

Причины принятых решений

Решения о поддержке платформ были приняты на основе продолжительного тестирования с реальным устройством.

Основные факторы:

Стабильность драйверов:

  • Windows показала наиболее стабильную работу
  • Linux и macOS имеют проблемы с таймаутами при чтении данных

Производительность:

  • На Windows Python-реализация показала производительность, сравнимую с C++
  • На Linux потребовалось сохранить C++-реализацию для обеспечения стабильности

Поддержка:

  • Фокус на Windows как основной платформе позволяет обеспечить наилучшее качество
  • Поддержка Linux через C++-реализацию как компромиссное решение
  • MacOS исключена из-за технических ограничений

Рекомендация

Для наилучшего опыта использования рекомендуется работать на платформе Windows