nvda
e80f59de - Update the FTDI interface to be 64-bit compatible (#19105)

Commit
304 days ago
Update the FTDI interface to be 64-bit compatible (#19105) Fixes #19028 ### Summary of the issue: Papenmeier braille displays don't work with 64-bit NVDA. ### Description of user facing changes: Papenmeier displays should work again. ### Description of developer facing changes: * `ftdi2.py` has been moved from `miscDeps` into `nvda`, and significantly refactored. ### Description of development approach: * [x] Copy `ftdi2.py` from `miscdeps/python` to `source/ftdi2/__init__.py` * [x] Reimplement `ftExceptionDecorator` as a ctypes `errcheck` function * [x] For each of the `_PY_*` functions, look up the corresponding function in the [D2XX Programmer’s Guide](https://ftdichip.com/document/programming-guides/) (revision 1.6) and implement the corresponding ctypes prototype in `ftd2xx.py` * [x] Convert enumerations to actual `Enum`s, and move to `ftd2xx.py` * [x] Verify struct definitions * [x] Rename the various pythonic functions and methods according to NV Access' house style * [x] Update the copyright headers and docstrings * [x] Compare the old `ftdi2.py` wth the new `ftdi2` package and document API differences * [x] Remove `ftdi2.py` from miscdeps (PR nvaccess/nvda-misc-deps#46) * [x] Update miscdeps ### Testing strategy: Asked affected users to test try builds. ### Known issues with pull request: None ### Code Review Checklist: - [x] Documentation: - Change log entry - User Documentation - Developer / Technical Documentation - Context sensitive help for GUI changes - [ ] Testing: - Unit tests - System (end to end) tests - Manual testing - [x] UX of all users considered: - Speech - Braille - Low Vision - Different web browsers - Localization in other languages / culture than English - [x] API is compatible with existing add-ons. - [x] Security precautions taken. --------- Co-authored-by: Michael Curran <mick@nvaccess.org>
Author
Parents
Loading