Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Several improvements for the handy tech driver #8016

Merged
merged 22 commits into from
Apr 20, 2018

Conversation

LeonarddeR
Copy link
Collaborator

@LeonarddeR LeonarddeR commented Feb 20, 2018

Link to issue number:

None

Description of this pull request

This pr improves or extends the handy tech driver in the following way:

  1. Support for the old Handy Tech protocol has been re-added. This means, support for older Modular and Braillino devices has been restored. The EasyBraille now also makes use of the older protocol, as the new protocol seemed to cause some instabilities for older firmware models here and there.
  2. Support for time synchronisation. Similar to the ALVA displays, time of supported Handy Tech displays (the active line in particular) will be synchronised if out of sync more than five seconds.
  3. Preparation for Allow braille display specific settings in the GUI #7452. This is not user visible, but gives a first glance on what Allow braille display specific settings in the GUI #7452 will be like from a implementation perspective. Most notably, atc is now a magic property on the driver. driver.atc=True enables it for supported displays, driver.atc=False disables it. For unsupported displays, only the internal state is toggled. I might change this a bit as part of Allow braille display specific settings in the GUI #7452, as raising a NotImplementedError might be preferred instead.
  4. Fixes an issue where a lot of rapid braille input on displays with a HID serial converter would lead to display connection loss.
  5. Some changes to make the driver somewhat more Python 3 ready, explicitly making all strings such as constants byte strings.
  6. This bundles another attempt to kill the Handy Tech COM server. Since displays for all displays has been restored, I think this can be done as part of this pr.

Testing performed:

Although I've not tested a Braillino myself, I've used an Easy Braille with HID serial converter for around a day without any problems or connection loss. I belief that's a setup that comes quite close to the implementation of a Braillino, although the latter might be a device with an USB serial implementation. At least, no issues did occur with the old protocol regarding input and output.

Known issues with pull request:

None

Change log entry:

@zstanecic
Copy link
Contributor

zstanecic commented Feb 20, 2018 via email

@LeonarddeR
Copy link
Collaborator Author

LeonarddeR commented Feb 20, 2018 via email

@zstanecic
Copy link
Contributor

zstanecic commented Feb 20, 2018 via email

@LeonarddeR
Copy link
Collaborator Author

Sounds like a good rationale to me. Would you be able to test this? I've now updated the pr to make the BrailleWave use the old protocol as well. Would be great if you could report whether this fixes your issue.

@zstanecic
Copy link
Contributor

zstanecic commented Feb 20, 2018 via email

@LeonarddeR
Copy link
Collaborator Author

Here is a try build

@zstanecic
Copy link
Contributor

zstanecic commented Feb 20, 2018 via email

@LeonarddeR
Copy link
Collaborator Author

Except for the native HID devices, all devices still support the old protocol. I'm not going to use a particular protocol based on what firmware version is in use. The newest Braille Wave firmware will still work with the old protocol and probably doesn't have any benefits from the new protocol.

@michaelDCurran
Copy link
Member

What is the status on this pr? I don't believe any review has been asked for yet.

@LeonarddeR
Copy link
Collaborator Author

Thanks for poking.

I'd really appreciate @FelixGruetzmacher's feedback on this pr first. Felix, would you be able to review the current state?

@LeonarddeR
Copy link
Collaborator Author

Looks like @FelixGruetzmacher hasn't yet been able to review. @bramd already did a quick review I believe.

@LeonarddeR LeonarddeR requested review from feerrenrut and michaelDCurran and removed request for feerrenrut March 26, 2018 09:51
@bramd
Copy link
Contributor

bramd commented Mar 27, 2018

@leonardder commented on Mar 26, 2018, 11:51 AM GMT+2:

Looks like @FelixGruetzmacher hasn't yet been able to review. @bramd already did a quick review I believe.

That's correct, I looked at it a while ago. I will gladly look at it again if you have doubts about some parts of the code.

@LeonarddeR
Copy link
Collaborator Author

Thanks for approving. I think it would be nice to incubate this ASAP in order to have it properly merged before braille display auto detection lands in next.

michaelDCurran added a commit that referenced this pull request Apr 6, 2018
@michaelDCurran michaelDCurran merged commit d41e7cd into nvaccess:master Apr 20, 2018
@nvaccessAuto nvaccessAuto added this to the 2018.2 milestone Apr 20, 2018
@LeonarddeR LeonarddeR added the BabbageWork Pull requests filed on behalf of Babbage B.V. label Oct 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BabbageWork Pull requests filed on behalf of Babbage B.V. component/braille
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants