Several improvements for the handy tech driver#8016
Conversation
This reverts commit fdd9c41.
… handytech-followup
|
Hi
Braille wave with firmware 2.10 is the device with old protocol, too.
Although it works with the new one, can we test old approach too?
Wysłane z aplikacji Poczta dla Windows 10
Od: Leonard de Ruijter
Wysłano: wtorek, 20 lutego 2018 07:23
Do: nvaccess/nvda
DW: Subscribed
Temat: [nvaccess/nvda] Several improvements for the handy tech driver(#8016)
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 #7452. This is not user visible, but gives a first glance on what #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 #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:
• New features
o Restored support for Handy Tech Braillino and Modular (with old firmware) displays.
o Date and time for supported Handy Tech devices (such as Active Braille and Active Star) will now automatically be synchronized by NVDA when out of sync more than five seconds.
• Bug fixes
o Fixed connection stability issues for Handy Tech Easy Braille displays.
You can view, comment on, or merge this pull request online at:
#8016
Commit Summary
• Support time synchronization and fix reconnecting for bluetooth.
• Basic preparation for #7452
• Revert "Drop support for the Braillino for now"
• Basic support for old protocol
• More work on old protocol
• Support the old protocol
• cleanup
• Python3 compat
• Comments
• Use old protocol for easy braille
• Fixes
• Refactor onReceive
• Added support for Braillino and the old protocol
• Hopefully, some changes that ease python 3 porting in future
• Use old protocol for easy braille
• Last refactoring, including onReceive. Old protocol input is now dstable
• Remove the com server
• Merge branch 'handytech-followup' of github.com:/babbagecom/nvda into handytech-followup
• Review action
File Changes
• M miscDeps (2)
• M readme.md (2)
• M source/brailleDisplayDrivers/handyTech.py (398)
• M source/setup.py (25)
Patch Links:
• https://github.com/nvaccess/nvda/pull/8016.patch
• https://github.com/nvaccess/nvda/pull/8016.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
|
Do you think it might"be more stable with the old protocol?
… Op 20 feb. 2018 om 07:35 heeft zstanecic ***@***.***> het volgende geschreven:
Hi
Braille wave with firmware 2.10 is the device with old protocol, too.
Although it works with the new one, can we test old approach too?
Wysłane z aplikacji Poczta dla Windows 10
Od: Leonard de Ruijter
Wysłano: wtorek, 20 lutego 2018 07:23
Do: nvaccess/nvda
DW: Subscribed
Temat: [nvaccess/nvda] Several improvements for the handy tech driver(#8016)
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 #7452. This is not user visible, but gives a first glance on what #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 #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:
• New features
o Restored support for Handy Tech Braillino and Modular (with old firmware) displays.
o Date and time for supported Handy Tech devices (such as Active Braille and Active Star) will now automatically be synchronized by NVDA when out of sync more than five seconds.
• Bug fixes
o Fixed connection stability issues for Handy Tech Easy Braille displays.
You can view, comment on, or merge this pull request online at:
#8016
Commit Summary
• Support time synchronization and fix reconnecting for bluetooth.
• Basic preparation for #7452
• Revert "Drop support for the Braillino for now"
• Basic support for old protocol
• More work on old protocol
• Support the old protocol
• cleanup
• Python3 compat
• Comments
• Use old protocol for easy braille
• Fixes
• Refactor onReceive
• Added support for Braillino and the old protocol
• Hopefully, some changes that ease python 3 porting in future
• Use old protocol for easy braille
• Last refactoring, including onReceive. Old protocol input is now dstable
• Remove the com server
• Merge branch 'handytech-followup' of github.com:/babbagecom/nvda into handytech-followup
• Review action
File Changes
• M miscDeps (2)
• M readme.md (2)
• M source/brailleDisplayDrivers/handyTech.py (398)
• M source/setup.py (25)
Patch Links:
• https://github.com/nvaccess/nvda/pull/8016.patch
• https://github.com/nvaccess/nvda/pull/8016.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
|
Yes, i think.
In the new protocol, you have the problem, that handytech display is not returning to it’s operability when you open the editor app.
And in that way scrolling keys became non-functional
Wysłane z aplikacji Poczta dla Windows 10
Od: Leonard de Ruijter
Wysłano: wtorek, 20 lutego 2018 07:37
Do: nvaccess/nvda
DW: zstanecic; Comment
Temat: Re: [nvaccess/nvda] Several improvements for the handy tech driver(#8016)
Do you think it might"be more stable with the old protocol?
Op 20 feb. 2018 om 07:35 heeft zstanecic ***@***.***> het volgende geschreven:
Hi
Braille wave with firmware 2.10 is the device with old protocol, too.
Although it works with the new one, can we test old approach too?
Wysłane z aplikacji Poczta dla Windows 10
Od: Leonard de Ruijter
Wysłano: wtorek, 20 lutego 2018 07:23
Do: nvaccess/nvda
DW: Subscribed
Temat: [nvaccess/nvda] Several improvements for the handy tech driver(#8016)
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 #7452. This is not user visible, but gives a first glance on what #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 #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:
• New features
o Restored support for Handy Tech Braillino and Modular (with old firmware) displays.
o Date and time for supported Handy Tech devices (such as Active Braille and Active Star) will now automatically be synchronized by NVDA when out of sync more than five seconds.
• Bug fixes
o Fixed connection stability issues for Handy Tech Easy Braille displays.
You can view, comment on, or merge this pull request online at:
#8016
Commit Summary
• Support time synchronization and fix reconnecting for bluetooth.
• Basic preparation for #7452
• Revert "Drop support for the Braillino for now"
• Basic support for old protocol
• More work on old protocol
• Support the old protocol
• cleanup
• Python3 compat
• Comments
• Use old protocol for easy braille
• Fixes
• Refactor onReceive
• Added support for Braillino and the old protocol
• Hopefully, some changes that ease python 3 porting in future
• Use old protocol for easy braille
• Last refactoring, including onReceive. Old protocol input is now dstable
• Remove the com server
• Merge branch 'handytech-followup' of github.com:/babbagecom/nvda into handytech-followup
• Review action
File Changes
• M miscDeps (2)
• M readme.md (2)
• M source/brailleDisplayDrivers/handyTech.py (398)
• M source/setup.py (25)
Patch Links:
• https://github.com/nvaccess/nvda/pull/8016.patch
• https://github.com/nvaccess/nvda/pull/8016.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
|
|
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. |
|
Well, please create the binary build.
I am not able to test from source
Wysłane z aplikacji Poczta dla Windows 10
Od: Leonard de Ruijter
Wysłano: wtorek, 20 lutego 2018 08:40
Do: nvaccess/nvda
DW: zstanecic; Comment
Temat: Re: [nvaccess/nvda] Several improvements for the handy tech driver(#8016)
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.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
|
|
Here is a try build |
|
It works great!
For me, it should be merged straight to master.
It works more stable on Braille wave.
But declare new protocol for Braille wave firmwares newer than 4.31
Wysłane z aplikacji Poczta dla Windows 10
Od: Leonard de Ruijter
Wysłano: wtorek, 20 lutego 2018 10:57
Do: nvaccess/nvda
DW: zstanecic; Comment
Temat: Re: [nvaccess/nvda] Several improvements for the handy tech driver(#8016)
Here is a try build
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
|
|
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. |
|
What is the status on this pr? I don't believe any review has been asked for yet. |
|
Thanks for poking. I'd really appreciate @FelixGruetzmacher's feedback on this pr first. Felix, would you be able to review the current state? |
|
Looks like @FelixGruetzmacher hasn't yet been able to review. @bramd already did a quick review I believe. |
|
@leonardder commented on Mar 26, 2018, 11:51 AM GMT+2:
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. |
|
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. |
Link to issue number:
None
Description of this pull request
This pr improves or extends the handy tech driver in the following way:
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:
New features
Bug fixes