Skip to content

Several improvements for the handy tech driver#8016

Merged
michaelDCurran merged 22 commits into
nvaccess:masterfrom
BabbageCom:handytech-followup
Apr 20, 2018
Merged

Several improvements for the handy tech driver#8016
michaelDCurran merged 22 commits into
nvaccess:masterfrom
BabbageCom:handytech-followup

Conversation

@LeonarddeR

@LeonarddeR LeonarddeR commented Feb 20, 2018

Copy link
Copy Markdown
Collaborator

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

zstanecic commented Feb 20, 2018 via email

Copy link
Copy Markdown
Contributor

@LeonarddeR

LeonarddeR commented Feb 20, 2018 via email

Copy link
Copy Markdown
Collaborator Author

@zstanecic

zstanecic commented Feb 20, 2018 via email

Copy link
Copy Markdown
Contributor

@LeonarddeR

Copy link
Copy Markdown
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

zstanecic commented Feb 20, 2018 via email

Copy link
Copy Markdown
Contributor

@LeonarddeR

Copy link
Copy Markdown
Collaborator Author

Here is a try build

@zstanecic

zstanecic commented Feb 20, 2018 via email

Copy link
Copy Markdown
Contributor

@LeonarddeR

Copy link
Copy Markdown
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
Copy Markdown
Member

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

@LeonarddeR

Copy link
Copy Markdown
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
Copy Markdown
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

bramd commented Mar 27, 2018

Copy link
Copy Markdown
Contributor

@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
Copy Markdown
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.

5 participants