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

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

Closed
josephsl opened this issue Oct 31, 2016 · 17 comments · Fixed by #8031
Closed

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

josephsl opened this issue Oct 31, 2016 · 17 comments · Fixed by #8031
Labels
p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority
Milestone

Comments

@josephsl
Copy link
Collaborator

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 p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority label Oct 31, 2016
@jcsteh
Copy link
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.

@JessicaTegner
Copy link

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
Copy link
Collaborator Author

josephsl commented Aug 31, 2017 via email

@JessicaTegner
Copy link

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

ruifontes commented Aug 31, 2017 via email

@jcsteh
Copy link
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
Copy link

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

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

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

@jcsteh
Copy link
Contributor

jcsteh commented Feb 21, 2018 via email

@michaelDCurran
Copy link
Member

michaelDCurran commented Feb 21, 2018 via email

@jcsteh
Copy link
Contributor

jcsteh commented Feb 21, 2018 via email

@michaelDCurran
Copy link
Member

michaelDCurran commented Feb 21, 2018 via email

@jcsteh
Copy link
Contributor

jcsteh commented Feb 21, 2018 via email

@michaelDCurran
Copy link
Member

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

jcsteh commented Feb 21, 2018 via email

@LeonarddeR
Copy link
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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority
Projects
None yet
8 participants