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

BrailleNote: Support for BrailleNote Touch via USB HID/new protocol #6524

Closed
josephsl opened this Issue Oct 31, 2016 · 17 comments

Comments

Projects
None yet
8 participants
@josephsl
Collaborator

josephsl commented Oct 31, 2016

Hi,

I haven't forgotten about my work on supporting Apex's scroll wheel and others...

According to a HumanWare staff, BrailleNote Touch firmware 2.0 includes a braille display mode to allow it to act as a braille display, with the Touch using USB HID and a new protocol (no more need for a custom USB serial driver). I plan to ask HumanWare AU to let @jcsteh have a demo unit so he can investigate this further.

Thanks.

@jcsteh jcsteh added the p3 label Oct 31, 2016

@jcsteh

This comment has been minimized.

Show comment
Hide comment
@jcsteh

jcsteh Oct 31, 2016

Contributor

I've been in contact with HumanWare about this already.

  • The protocol is based on the Brailliant B protocol, so it'll need to be supported by that driver rather than the BrailleNote driver. It uses HID for USB and serial for Bluetooth.
  • I believe the protocol has been updated slightly. I do have the documentation, but haven't taken a look yet.
  • I have local contacts for HumanWare, so I should be able to get hold of a unit if I need one.

Thanks!

P3 because we want to support as many braille displays as possible, but this is new enough that it's also not urgent.

Contributor

jcsteh commented Oct 31, 2016

I've been in contact with HumanWare about this already.

  • The protocol is based on the Brailliant B protocol, so it'll need to be supported by that driver rather than the BrailleNote driver. It uses HID for USB and serial for Bluetooth.
  • I believe the protocol has been updated slightly. I do have the documentation, but haven't taken a look yet.
  • I have local contacts for HumanWare, so I should be able to get hold of a unit if I need one.

Thanks!

P3 because we want to support as many braille displays as possible, but this is new enough that it's also not urgent.

@NicklasMCHD

This comment has been minimized.

Show comment
Hide comment
@NicklasMCHD

NicklasMCHD Aug 31, 2017

Hi.
Are there any plans as to when the Braillenote Touch is going to be supported.
I've tested the support with NVDA version 2017.3, tried to connect it with every type of Humanware display in "braille settings" but it didn't work.

NicklasMCHD commented Aug 31, 2017

Hi.
Are there any plans as to when the Braillenote Touch is going to be supported.
I've tested the support with NVDA version 2017.3, tried to connect it with every type of Humanware display in "braille settings" but it didn't work.

@josephsl

This comment has been minimized.

Show comment
Hide comment
@josephsl

josephsl Aug 31, 2017

Collaborator
Collaborator

josephsl commented Aug 31, 2017

@NicklasMCHD

This comment has been minimized.

Show comment
Hide comment
@NicklasMCHD

NicklasMCHD Aug 31, 2017

Hi.
I can confirm that, that isn't the case.
When I connect my bnt with the provided usb cable, install the usb serial drivers from humanware's website and go and try to set it up with nvda it just gives the following message:
Could not load the papenmeier display.

NicklasMCHD commented Aug 31, 2017

Hi.
I can confirm that, that isn't the case.
When I connect my bnt with the provided usb cable, install the usb serial drivers from humanware's website and go and try to set it up with nvda it just gives the following message:
Could not load the papenmeier display.

@ruifontes

This comment has been minimized.

Show comment
Hide comment
@ruifontes

ruifontes Aug 31, 2017

ruifontes commented Aug 31, 2017

@jcsteh

This comment has been minimized.

Show comment
Hide comment
@jcsteh

jcsteh Sep 1, 2017

Contributor

I have a branch (brailliantBtHid) which updates the Brailliant B driver to support the BN Touch, among other things. Unfortunately, despite using the correct protocol, etc., it apparently doesn't work, even though it works just fine with the Brailliant via USB (and is the same protocol). I suspect some weirdness with either the HumanWare firmware or some Windows driver. In any case, we're going to need to debug this with a display. I won't have time to do this before I leave, so @michaelDCurran will work with HumanWare to take care of this when he is able (though that may take some time given the transition at NV Access).

@NicklasMCHD, I'm not sure what serial driver you're referring to, but as far as HumanWare have told me, the BN Touch does not use USB serial. Instead, it uses USB HID, which does not need a driver installed.

Contributor

jcsteh commented Sep 1, 2017

I have a branch (brailliantBtHid) which updates the Brailliant B driver to support the BN Touch, among other things. Unfortunately, despite using the correct protocol, etc., it apparently doesn't work, even though it works just fine with the Brailliant via USB (and is the same protocol). I suspect some weirdness with either the HumanWare firmware or some Windows driver. In any case, we're going to need to debug this with a display. I won't have time to do this before I leave, so @michaelDCurran will work with HumanWare to take care of this when he is able (though that may take some time given the transition at NV Access).

@NicklasMCHD, I'm not sure what serial driver you're referring to, but as far as HumanWare have told me, the BN Touch does not use USB serial. Instead, it uses USB HID, which does not need a driver installed.

@devinprater

This comment has been minimized.

Show comment
Hide comment
@devinprater

devinprater Feb 17, 2018

Has anyone tried this driver from Humanware? See http://support.humanware.com/index.php?Action=Page.Link&PageLink=11541&To=http%3A%2F%2Fwww.humanware.ca%2Fweb%2FHumanWare%2FBrailleDrivers%2FBrailleTerminalTools2_1_0_6.exe
This is supposed to work with JAWS, but I suspect that it may give a sort of bridge for NVDA to cross, so that NVDA can use the braille note touch as well.

devinprater commented Feb 17, 2018

Has anyone tried this driver from Humanware? See http://support.humanware.com/index.php?Action=Page.Link&PageLink=11541&To=http%3A%2F%2Fwww.humanware.ca%2Fweb%2FHumanWare%2FBrailleDrivers%2FBrailleTerminalTools2_1_0_6.exe
This is supposed to work with JAWS, but I suspect that it may give a sort of bridge for NVDA to cross, so that NVDA can use the braille note touch as well.

@michaelDCurran

This comment has been minimized.

Show comment
Hide comment
@michaelDCurran

michaelDCurran Feb 21, 2018

Contributor

Humanware have finally managed to get me a BrailleNote Touch so I can continue work on the driver. I now have it and am getting used to its layout and settings before I start looking into debugging / fixing the USB HID driver in the next few days. Bluetooth is working okay for me.

Contributor

michaelDCurran commented Feb 21, 2018

Humanware have finally managed to get me a BrailleNote Touch so I can continue work on the driver. I now have it and am getting used to its layout and settings before I start looking into debugging / fixing the USB HID driver in the next few days. Bluetooth is working okay for me.

@leonardder

This comment has been minimized.

Show comment
Hide comment
@leonardder

leonardder Feb 21, 2018

Collaborator

@michaelDCurran: Are you going to base this on @jcsteh's (brailliantBtHid branch (i.e. does it also implement Bluetooth HID)?

Collaborator

leonardder commented Feb 21, 2018

@michaelDCurran: Are you going to base this on @jcsteh's (brailliantBtHid branch (i.e. does it also implement Bluetooth HID)?

@jcsteh

This comment has been minimized.

Show comment
Hide comment
@jcsteh

jcsteh Feb 21, 2018

Contributor
Contributor

jcsteh commented Feb 21, 2018

@michaelDCurran

This comment has been minimized.

Show comment
Hide comment
@michaelDCurran

michaelDCurran Feb 21, 2018

Contributor
Contributor

michaelDCurran commented Feb 21, 2018

@jcsteh

This comment has been minimized.

Show comment
Hide comment
@jcsteh

jcsteh Feb 21, 2018

Contributor
Contributor

jcsteh commented Feb 21, 2018

@michaelDCurran

This comment has been minimized.

Show comment
Hide comment
@michaelDCurran

michaelDCurran Feb 21, 2018

Contributor
Contributor

michaelDCurran commented Feb 21, 2018

@jcsteh

This comment has been minimized.

Show comment
Hide comment
@jcsteh

jcsteh Feb 21, 2018

Contributor
Contributor

jcsteh commented Feb 21, 2018

@michaelDCurran

This comment has been minimized.

Show comment
Hide comment
@michaelDCurran

michaelDCurran Feb 21, 2018

Contributor

Now using Jamie's branch Bluetooth is working well. I am guessing that when I received the device it was still on an older version where the bluetooth name had Brailliant in it. It now just says BrailleNote Touch after I reset / updated the device.
However, as Jamie points out, USB is problematic. The device initializes okay, but all display writes do nothing. If I comment out ever calling write in display, Braille input still works perfectly, and I can restart NVDA many times and the device initializes and braille input continues to work fine.
If however, I leave the display write in there, not only do the dots not appear, but closing/restarting NVDA seems to block on dev.close (I think), and it also seems to freeze up the BrailleNote Touch, requiring a hard power off.
I tried splitting the reading and writing into two separate HID instances (writh a little rewriting of hwIo.HID of course) but that did not help at all... exactly the same simptums.
I wonder if there are any other commands (other than displaying cells) I could write to the device to see if this is an issue with writing, or that specific command?

Contributor

michaelDCurran commented Feb 21, 2018

Now using Jamie's branch Bluetooth is working well. I am guessing that when I received the device it was still on an older version where the bluetooth name had Brailliant in it. It now just says BrailleNote Touch after I reset / updated the device.
However, as Jamie points out, USB is problematic. The device initializes okay, but all display writes do nothing. If I comment out ever calling write in display, Braille input still works perfectly, and I can restart NVDA many times and the device initializes and braille input continues to work fine.
If however, I leave the display write in there, not only do the dots not appear, but closing/restarting NVDA seems to block on dev.close (I think), and it also seems to freeze up the BrailleNote Touch, requiring a hard power off.
I tried splitting the reading and writing into two separate HID instances (writh a little rewriting of hwIo.HID of course) but that did not help at all... exactly the same simptums.
I wonder if there are any other commands (other than displaying cells) I could write to the device to see if this is an issue with writing, or that specific command?

@jcsteh

This comment has been minimized.

Show comment
Hide comment
@jcsteh

jcsteh Feb 21, 2018

Contributor
Contributor

jcsteh commented Feb 21, 2018

@leonardder

This comment has been minimized.

Show comment
Hide comment
@leonardder

leonardder Feb 21, 2018

Collaborator

@michaelDCurran commented on 21 feb. 2018 12:04 CET:

I tried splitting the reading and writing into two separate HID instances (writh a little rewriting of hwIo.HID of course) but that did not help at all... exactly the same simptums.

May be instead of using two hwIo.Hid instances, you need to use different endpoints for I/O. I belief I pointed that out as an idea to @jcsteh before he left. See the Hims driver as an example, however that uses Bulk instead of HID.

Collaborator

leonardder commented Feb 21, 2018

@michaelDCurran commented on 21 feb. 2018 12:04 CET:

I tried splitting the reading and writing into two separate HID instances (writh a little rewriting of hwIo.HID of course) but that did not help at all... exactly the same simptums.

May be instead of using two hwIo.Hid instances, you need to use different endpoints for I/O. I belief I pointed that out as an idea to @jcsteh before he left. See the Hims driver as an example, however that uses Bulk instead of HID.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment