Skip to content

Add original Seika Notetaker driver#11514

Merged
seanbudd merged 25 commits into
nvaccess:betafrom
moyanming:seikaNotetakerPython3
Jun 4, 2021
Merged

Add original Seika Notetaker driver#11514
seanbudd merged 25 commits into
nvaccess:betafrom
moyanming:seikaNotetakerPython3

Conversation

@moyanming

@moyanming moyanming commented Aug 20, 2020

Copy link
Copy Markdown
Contributor

Link to issue number:

#10991

Summary of the issue:

Seika Notetaker drivers do not exist in NVDA

The Seika Notetaker Braille display is not the same as the Seika Braille display.
Seika Notetaker has 8 dots, Braille keyboard and other function keys/buttons

Description of how this pull request fixes the issue:

Adds the driver

Testing performed:

Manual testing from those with the device

Known issues with pull request:

None

Change log entry:

New features

  • Support for the Seika Notetaker braille display from Nippon Telesoft.

Code Review Checklist:

  • Pull Request description is up to date.
  • Unit tests.
  • System (end to end) tests.
  • Manual testing.
  • User Documentation.
  • Change log entry.
  • Context sensitive help for GUI changes.
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers

@AppVeyorBot

Copy link
Copy Markdown

See test results for failed build of commit f62982f720

@LeonarddeR

Copy link
Copy Markdown
Collaborator

@moyanming Are you the author of this driver or did you copy it from somewhere else?

@moyanming

Copy link
Copy Markdown
Contributor Author

@moyanming Are you the author of this driver or did you copy it from somewhere else?

Hi @LeonarddeR , we are the manufacturer of the Seika Notetaker Braille display and @Ulf-Beckmann is our partner. We define the transfer protocol and develop the add-on and then test the driver makes all work fine. BTW, @Ulf-Beckmann not use GitHub frequently.

@LeonarddeR

Copy link
Copy Markdown
Collaborator

Thanks for clarifying.

First of all, I think it is necessary that the linting errors are fixed. Please see the linting your changes section in the repository ReadMe.

@moyanming

Copy link
Copy Markdown
Contributor Author

Thanks for clarifying.

First of all, I think it is necessary that the linting errors are fixed. Please see the linting your changes section in the repository ReadMe.

Thanks for the reminder. I will fix those errors as soon as possible.

@LeonarddeR

Copy link
Copy Markdown
Collaborator

It might be best to address the change requests in #10961 first.

@AppVeyorBot

Copy link
Copy Markdown

See test results for failed build of commit 12f966029a

@AppVeyorBot

Copy link
Copy Markdown

See test results for failed build of commit 74dd0ece52

@lukaszgo1 lukaszgo1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please pay attention to places where you've left code which is no longer used but rather than removed is merely commented out (I haven't commented on all of them)

Comment thread source/brailleDisplayDrivers/seikantk.py Outdated
Comment thread source/brailleDisplayDrivers/seikantk.py Outdated
Comment thread source/brailleDisplayDrivers/seikantk.py Outdated
Comment thread source/brailleDisplayDrivers/seikantk.py Outdated
Comment thread source/brailleDisplayDrivers/seikantk.py Outdated
Comment thread source/brailleDisplayDrivers/seikantk.py Outdated
Comment thread source/brailleDisplayDrivers/seikantk.py Outdated
Comment thread source/brailleDisplayDrivers/seikantk.py Outdated
Comment thread source/brailleDisplayDrivers/seikantk.py Outdated
Comment thread source/brailleDisplayDrivers/seikantk.py Outdated
@AppVeyorBot

Copy link
Copy Markdown

See test results for failed build of commit 82cd5eafc9

@moyanming

Copy link
Copy Markdown
Contributor Author

Hi,
Any new information/request about this PR?
Best Regards

@cary-rowen

Copy link
Copy Markdown
Contributor

I will test the build version of this PR later today.

Thanks

@MichelSuch

MichelSuch commented Apr 19, 2021 via email

Copy link
Copy Markdown
Contributor

@moyanming

moyanming commented Apr 19, 2021

Copy link
Copy Markdown
Contributor Author

Hi, I missed the link of the build, could you please give it so I can test with my old Seika 2?

Hi @MichelSuch ,
Since your device is Seika 2, please download this PR build for a test, you should select the Seika v3/5/80 item within the NVDA.

@moyanming

Copy link
Copy Markdown
Contributor Author

I will test the build version of this PR later today.

Thanks

Thanks for the test.

We have tested this PR build with the mini16/24/v6 are worked well. I mean anyone can review this PR for the integration to the main branch?
Best Regards

@cary-rowen

Copy link
Copy Markdown
Contributor

Sorry, I am late,
I tested the build version of this PR with a Mini24 device and it worked well, so I think the PR can be merged.
@LeonarddeR
@moyanming

@zstanecic

zstanecic commented Apr 21, 2021 via email

Copy link
Copy Markdown
Contributor

@cary-rowen

Copy link
Copy Markdown
Contributor

Is there anything else to be done for this PR? Is it possible to merge?
thanks.
@seanbudd @feerrenrut

@JulienCochuyt

JulienCochuyt commented May 4, 2021

Copy link
Copy Markdown
Contributor

@moyanming, could you please confirm this driver is also expected to work with the Seika v7 computer? Both when using the v7 as an external display and when installing NVDA on the Windows embedded in it?

@moyanming

Copy link
Copy Markdown
Contributor Author

@moyanming, could you please confirm this driver is also expected to work with the Seika v7 computer? Both when using the v7 as an external display and when installing NVDA on the Windows embedded in it?

Hi @JulienCochuyt
Yes, this PR work with Seika v7, both when using the v7 in mode 2 (external Braille display) and mode 3 (self-running Windows 10 OS with NVDA).

feerrenrut and others added 6 commits June 3, 2021 11:11
Co-authored-by: Sean Budd <seanbudd123@gmail.com>
Co-authored-by: Sean Budd <seanbudd123@gmail.com>
Co-authored-by: Sean Budd <seanbudd123@gmail.com>
Co-authored-by: Sean Budd <seanbudd123@gmail.com>
Co-authored-by: Sean Budd <seanbudd123@gmail.com>
@feerrenrut feerrenrut changed the base branch from master to beta June 3, 2021 03:24
seanbudd
seanbudd previously approved these changes Jun 3, 2021

@seanbudd seanbudd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM otherwise

Comment thread source/brailleDisplayDrivers/seikantk.py Outdated
Comment thread source/brailleDisplayDrivers/seikantk.py Outdated
seanbudd
seanbudd previously approved these changes Jun 4, 2021

@seanbudd seanbudd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, this is much clearer now

@seanbudd seanbudd merged commit 77ee534 into nvaccess:beta Jun 4, 2021
@nvaccessAuto nvaccessAuto added this to the 2021.2 milestone Jun 4, 2021
@seanbudd seanbudd modified the milestones: 2021.2, 2021.1 Jun 4, 2021
@moyanming

moyanming commented Jun 11, 2021

Copy link
Copy Markdown
Contributor Author

Hi, @feerrenrut
I have tested this PR build, but I got the "Could not load the seikantk" after selecting the "Seika Notetaker" Braille item in this version of NVDA.
I also tested the NVDA 2021.1beta2 and this version can't load the Seika notetaker too.

BTW, this PR build works fine.

Is there some issue within the component of the beta version?

Best Regards

@seanbudd

Copy link
Copy Markdown
Member

Hi @moyanming,

Could you provide a log file, with debug logging enabled, of what happens when you do the following:

  • select the "Seika Notetaker" Braille item in NVDA 2021.1beta2 (or newer), with the device connected

I'm going to investigate for any obvious causes but this will aid the fix greatly.

@moyanming

Copy link
Copy Markdown
Contributor Author

Hi @moyanming,

Could you provide a log file, with debug logging enabled, of what happens when you do the following:

  • select the "Seika Notetaker" Braille item in NVDA 2021.1beta2 (or newer), with the device connected

I'm going to investigate for any obvious causes but this will aid the fix greatly.

Hi, @seanbudd
Please find the attached :
nvda.log
It seems that the "hidvidpid" is not matched.

I have tried two times and got the same error.
Here is the log snippet:
INFO - brailleDisplayDrivers.seikantk.BrailleDisplayDriver.__init__ (16:11:53.151) - MainThread (5312): Seika Notetaker braille driver path: \\?\hid#vid_10c4&pid_ea80#6&21f75a11&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} ERROR - braille.BrailleHandler.setDisplayByName (16:11:56.285) - MainThread (5312): Error initializing display driver seikantk for kwargs {} Traceback (most recent call last): File "braille.pyc", line 1742, in setDisplayByName File "brailleDisplayDrivers\seikantk.pyc", line 132, in __init__ RuntimeError: No MINI-SEIKA display found, no response INFO - braille.BrailleHandler.setDisplayByName (16:11:56.317) - MainThread (5312): Loaded braille display driver noBraille, current display has 0 cells.

Any ideas?

@seanbudd

Copy link
Copy Markdown
Member

It looks "hidvidpid" is matched, as we make it to the stage where we check self.numCells == 0, which is throwing the error. It looks like the device info isn't being stored via the SEIKA_INFO command. Without a device in hand, all we can do is add logging and create a build for you or someone with the device to check. Could you open a new issue?

@moyanming

Copy link
Copy Markdown
Contributor Author

Hi, @seanbudd
The function "_onReceive" changes a lot compared to my commit version.
There need improvement and a new issue should be opened.
But I recommend this PR #11514 should merge even there is an issue.
This issue should be fixed in the next release version.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.