nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
https://www.nvaccess.org/
Other
2.12k stars 637 forks source link

Braille driver for Eco display #4078

Closed nvaccessAuto closed 9 years ago

nvaccessAuto commented 10 years ago

Reported by jjimenez0 on 2014-04-16 05:47

EcoBraille display are very common in Spain but it doesn’t work with 64 bits systems, so they were falling obsolete. An addon for Eco Braille display would be very important in order to get working those displays in NVDA even in 64 bits operating systems.

nvaccessAuto commented 10 years ago

Attachment ecoBrailleAddon-1.0.nvda-addon added by jjimenez0 on 2014-04-16 05:48 Description: Addon for Eco Braille displays

nvaccessAuto commented 10 years ago

Attachment EcoBraille.dll added by jjimenez0 on 2014-04-22 09:58 Description: EcoBraille dll with english names for the exported functions

nvaccessAuto commented 10 years ago

Attachment ecoBrailleAddon-1.1.nvda-addon added by jjimenez0 on 2014-04-24 06:12 Description: New version with fixed bugs and dll functions in english

nvaccessAuto commented 9 years ago

Attachment eco.nvda-addon added by jjimenez0 on 2014-12-11 13:12 Description: Addon without the dll file

nvaccessAuto commented 9 years ago

Attachment nvda.log added by norrumar on 2014-12-12 09:49 Description: Log file

nvaccessAuto commented 9 years ago

Attachment nvda.2.log added by norrumar on 2014-12-12 12:18 Description: Log file with Ecoplus 80 cells

nvaccessAuto commented 9 years ago

Attachment nvda.3.log added by norrumar on 2014-12-12 13:51 Description: Log file restarting the computer

nvaccessAuto commented 9 years ago

Attachment ecoBraille.2.py added by jjimenez0 on 2015-02-09 11:42 Description: Python file for EcoBraille display in NVDA. Tested in NVDA 2014

nvaccessAuto commented 9 years ago

Attachment ecoBraille.py.read 8 bytes.py added by jjimenez0 on 2015-04-15 10:06 Description:

nvaccessAuto commented 9 years ago

Attachment ecoBraille.py.read 9 bytes.py added by jjimenez0 on 2015-04-15 10:06 Description:

nvaccessAuto commented 9 years ago

Attachment ecoBraille.3.py added by jjimenez0 on 2015-04-28 06:50 Description:

nvaccessAuto commented 9 years ago

Attachment nvda.4.log added by norrumar on 2015-04-30 16:59 Description: Log file showing errir with Ecoplus

nvaccessAuto commented 9 years ago

Attachment ecoBraille.py added by jjimenez0 on 2015-05-11 11:00 Description: EcoBraille driver

nvaccessAuto commented 10 years ago

Comment 1 by jjimenez0 on 2014-04-16 05:53

In ONCE (National Organization of Spanish blind) we have developed a little addon that allow us to use the Eco Braille display with NVDA. I have attached the addon in this ticket. I'm working now in documentation. Only two files are neccesary: a dll with the functionallity and a python file to attach this library to the NVDA core.

It's the first addon that we develop for NVDA, so it could be possible that we have fail in something. Please, tell us in order to solve it and improve the driver.
nvaccessAuto commented 10 years ago

Comment 2 by norrumar on 2014-04-21 11:35 Hi, many thanks. I'm a spanish user of Ecobraille, and now I can work properly in my job. Before this add-on I used Jaws just for braille. I haven't reviewed the add-on code, but it seams to work find. I'm jus starting to use it now, but it works much better than BRLTTY. If you want, we can store the add-on in the community website after reviewing the code, following our guidelines. For this we usually upload add-ons to http://bitbucket.org/nvdaaddonteam I'm really pleased for this.

Thanks a lot.

nvaccessAuto commented 10 years ago

Comment 4 by jjimenez0 on 2014-04-21 12:23

Hi I am very glad to read that (smile). Of course you can store the addon in the community website. Do you need the source of the dll library or you only review the Python file of the addon? The Python file is very simple and perhaps you might consider changing the key assignment of the EcoBraille display. Please, tell me anything I can do in order to improve the addon and get it in NVDA as soon as possible.

Thanks in advance

nvaccessAuto commented 10 years ago

Comment 5 by norrumar on 2014-04-21 13:05 Hi, I have read the Python file a first time. I think we could fix small spelling errors in comments, and remove several spaces in variable assignments. Imo it would be easier for reviewers. It seems that dll functions are writen in Spanish. Perhaps it would be better writing their names in English for reviewers. Furthermore, a log.warning message is in Spanish. According to our guidelines, we don't use the word addon in add-on names... But the add-on is great. I needed it in my job, cause I prefer NVDA and not JAWS, and I had to start JAWS for braille, as BRLTTY doesn't work fine. I will post the add-on in a Bitbucket repository of addonteam site, and we can upload it to our addon site while it's not incorporated in NVDA core. I will send the add-on to the addons email list too. Great great work.

nvaccessAuto commented 10 years ago

Comment 6 by norrumar on 2014-04-21 15:25 Hi, I will create a public repo with your attached add-on without modifications. But I can add feed-back:

  1. f0 key doesn't work: I have fixed it with this assignment: "braille_toggleTether" : ("br(ecoBraille):f0",),
  2. The same thing occurs with point key. It can be fixed using: "kb:enter" : ("br(ecoBraille):point",), as now appears "punto", in Spanish, instead of "point".
  3. You can import * from cTypes, though you can also use just: from ctypes import windll, sizeof, byref
  4. From winUser, you can just import WNDCLASSEXW, WNDPROC#. Or do you need other functions for mainteinance?
  5. We don't need to import wx in ecobraille.py.
  6. Perhaps it could be cleaner to use join to find the path of the library, instead of plus (+). I don't know; just an idea. If you want to work on the public repo that I will create, let us know to give you writing access. Thanks.
nvaccessAuto commented 10 years ago

Comment 7 by jteh on 2014-04-21 21:43 You may want to hold off on deploying this as an add-on. I'm going to try to review this in hopes of getting it into the core soon er rather than later. I've already done some preliminary review, but haven't had a chance to provide comments yet.

nvaccessAuto commented 10 years ago

Comment 8 by jteh on 2014-04-21 22:12 Thanks for the code!

A few general questions:

  1. Are these displays serial only or are there USB or Bluetooth displays as well?
  2. If the dll was written specifically for the NVDA driver, is there any reason you opted for a dll rather than doing everything in Python? We prefer to avoid additional dlls if we can. This one is small enough that it's not a major problem, but if it's all serial, it seems it could all be done in Python fairly easily. If the dll was written before the NVDA driver, I certainly understand this.

For the most part, the code looks pretty good. In addition to comment:6, here is some code review:

log.warning(dllabspath)

I assume this was debugging code that was accidentally left. It should be removed.

      if (wParam == ECO_KEY_STATUS1 ) or (wParam == ECO_KEY_STATUS2) or (wParam == ECO_KEY_STATUS3 ) or (wParam == ECO_KEY_STATUS4) :

Rather than multiple equality checks, use the in operator; e.g. wParam in (foo, bar, bas)

      else:
          if (wParam > 0):

Unless I'm missing something, you can rewrite this as an elif and get rid of one indentation level. You can also get rid of the parentheses.

        elif wParam > 0:
  description = _("Lineas ecoBraille 20/40/80")

Any translatable strings need a translators comment above them. This will do:

    # Translators: The name of a braille display.

Does the display support pressing multiple keys at once? This doesn't seem to be supported by the driver. It's fine if you don't see a need to implement this. I mention it because most drivers do.

There is also some extraneous whitespace, but I can remove that easily enough.

Thanks again!

nvaccessAuto commented 10 years ago

Comment 9 by jjimenez0 (in reply to comment 6) on 2014-04-22 06:26

Yes, of course I want to work in the public repo. It will be the best for all. If you could give me writing access i will be very grateful

nvaccessAuto commented 10 years ago

Comment 10 by jjimenez0 on 2014-04-22 06:55 Hi, here are some answers:

  1. EcoBraille displays are good displays but they are quite old, so it has only serial connection.
  2. We alredy had the source written for another projects, so it was much easier for us to use a dll library and a little python file to attach to NVDA. But we have no problem writing again all in Python. The only problem may be the time. We have anothers open projects and perhaps would take a little to finish it. I even think that there would be no problem in upload the source of the dll in order to whoever wanted could help us to develop it.
  3. Sorry for the logs and for the spanish comments (smile) Hurry are not good for nothing...
  4. EcoBraille also allows pressing multiple keys at once, but we alredy have to develop this functionality.
  5. Just now we have change the exported functions names of the dll into english. I will test it and upload a new dll with the name of the functions in english.
nvaccessAuto commented 10 years ago

Comment 11 by jteh (in reply to comment 10) on 2014-04-22 07:11 Replying to jjimenez0:

  1. We alredy had the source written for another projects, so it was much easier for us to use a dll library and a little python file to attach to NVDA.

This is fine. Keep using the dll for now if you're already using it elsewhere. At least it's a very small dll.

nvaccessAuto commented 10 years ago

Comment 12 by norrumar on 2014-04-22 09:04 Hi, a few points:

  1. If this driver is incorporated soon in NVDA core, I think we don't need to post the add-on on our add-ons website.
  2. Finally I can't create a public repo, since my computer (at home) is unfortunately broken now. If you want, I can request this on add-ons list. I tried to send an email about this add-on, but I couldn't do it. About the code, there is feed-back reported on NVDA spanish mailing list: a. Each routing key moves the cursor to the next position, not to the exact one. I have fixed this using: self.routingIndex = index-1 in the right class. b. The description of the driver should be writen in English, and imo it would be better, for instance, just to use: _("EcoBraille displays"). I have an Ecoplus display, wich has 80 cells, as EcoBraille 80, and I can work fine. Thanks.
nvaccessAuto commented 10 years ago

Comment 13 by jjimenez0 on 2014-04-22 09:52 Of course our final target is that the driver is built in NVDA core, but at this moment, details still must be developed, and we need a place to share the source and allow people improve the code. For example, do you have (or perhaps James) a file with all those details in this ticket added? I'm working right now with an old version of the driver (smile). Which is the best way to get this?

nvaccessAuto commented 10 years ago

Comment 14 by jteh on 2014-04-22 09:55 Generally, unless you aren't able to for some reason, it'd be best if you implement the code review suggestions yourself. Thanks.

nvaccessAuto commented 10 years ago

Comment 15 by jjimenez0 on 2014-04-22 09:57 I have attached a new dll file in which we have changed the spanish names of the dll functions into the english ones. The only changes in the python file are those:

Changes work fine for me

nvaccessAuto commented 10 years ago

Comment 16 by jjimenez0 on 2014-04-22 10:00 Ok James, I collect all fixed bugs and attach a new python file

nvaccessAuto commented 10 years ago

Comment 17 by jjimenez0 on 2014-04-24 06:14 Hi, I have attached a new version of the addon with all the modifications that Noelia have made and (I hope) all bugs fixed. Also includes the new version of the dll with the name of the functions in english. I hope it works

nvaccessAuto commented 10 years ago

Comment 18 by norrumar (in reply to comment 17) on 2014-04-24 17:35 Replying to jjimenez0:

Hi, I have attached a new version of the addon with all the modifications that Noelia have made and (I hope) all bugs fixed. Also includes the new version of the dll with the name of the functions in english. I hope it works

Hi, I can't review my modifications: key assignment and deletion of extra spaces. However, I have a few points to add:

  1. I think pass is not necessary after other instructions used to handle exceptions. Or not?
  2. I think there are still extra spaces to remove.
  3. For consistency with other braille drivers, we can remove the encoding declaration which I added, and fix the path if the driver is to be incorporated in NVDA core.
  4. EB_init causes an exception if the display is disconnected. Perhaps it could be handled in other way, though it's certainly a minor point.

If you need it, I can create a branch for this ticket in NVDA addon team, and send commit notifications to a mailing list. It's more difficult to work on binary add-ons. I have my personal computer now and can do it if needed. Thanks.

nvaccessAuto commented 10 years ago

Comment 19 by norrumar on 2014-04-28 17:47 Hi, according to our conversation on NVDA's spanish mailing list, I have created t4078 branch for this ticket at https://bitbucket.org/nvdaaddonteam/nvda I haven't commited the DLL file, as I suppose it should be included in miscDeps using the git submodule. Thanks.

nvaccessAuto commented 10 years ago

Comment 20 by nvdakor on 2014-04-28 21:04 Hi, Few questions/comments:

nvaccessAuto commented 10 years ago

Comment 21 by jteh on 2014-05-01 07:16 The latest version looks good. One tiny issue: there is a comment which says "Braille input", but this is misleading, since it suggests actual braille dots, whereas this is actually dealing with buttons on the display.

Please include a User Guide section for this similar to those for other displays. The What's New entry shouldn't be added to the branch; that will be committed once it goes to master. Btw, this is the purpose of the "Changes document entry" field in tickets.

Thanks. Changes: Milestone changed from None to next

nvaccessAuto commented 10 years ago

Comment 22 by norrumar (in reply to comment 21) on 2014-05-01 09:10 Replying to jteh:

The latest version looks good. One tiny issue: there is a comment which says "Braille input", but this is misleading, since it suggests actual braille dots, whereas this is actually dealing with buttons on the display.

Please include a User Guide section for this similar to those for other displays. The What's New entry shouldn't be added to the branch; that will be committed once it goes to master. Btw, this is the purpose of the "Changes document entry" field in tickets.

Thanks.

I have changed the comment about braille buttons. I have added try... except to handle a possible exception in EB_Init function when the display is disconnect. Thanks for including this driver into NVDA. My job is now happy and better without switching to JAWS just to use Ecobraille.

nvaccessAuto commented 10 years ago

Comment 23 by jteh (in reply to comment 22) on 2014-05-01 10:10 Replying to norrumar:

I have added try... except to handle a possible exception in EB_Init function when the display is disconnect.

I don't follow. If the display is disconnected, the constructor should fail, so the exception should pass through so NVDA knows the display failed to initialise. We can't do this for BRLTTY, but it should be done for all other displays.

nvaccessAuto commented 10 years ago

Comment 24 by norrumar (in reply to comment 23) on 2014-05-01 10:21 Replying to jteh:

Replying to norrumar:

I have added try... except to handle a possible exception in EB_Init function when the display is disconnect.

I don't follow. If the display is disconnected, the constructor should fail, so the exception should pass through so NVDA knows the display failed to initialise. We can't do this for BRLTTY, but it should be done for all other displays.

OK. It's reverted now. I was testing this driver (in the add-on), loading it, disconnecting the display and restarting NVDA, connecting, etc. I thought that the information shown in the log file was not needed. But your comment is right for me. Thanks.

nvaccessAuto commented 10 years ago

Comment 25 by norrumar on 2014-06-09 16:22 Hi, branch t4078, available at https://bitbucket.org/nvdaaddonteam/nvda is finished for now. We'd like to request its revision to be included in NVDA's core. The DLL for the display can be included into miscDeps. Many thanks.

nvaccessAuto commented 10 years ago

Comment 26 by norrumar on 2014-08-05 06:27 Hi, I have added ONCE-CIDAT as a contributor on t4078 branch, at https://bitbucket.org/nvdaaddonteam/nvda Thanks.

nvaccessAuto commented 9 years ago

Comment 27 by jjimenez0 on 2014-12-11 10:47

Hi all, I have included all the functionality in the python file, so there is no need for the .dll library. It is a first version of the braille driver and i am sure that it needs some improvements. Please, feel free to modify anything you want. I have kept the same keys combination that the pugin had. Hope it works fine!

nvaccessAuto commented 9 years ago

Comment 28 by norrumar (in reply to comment 27) on 2014-12-11 11:09 Replying to jjimenez0:

Hi all,

I have included all the functionality in the python file, so there is no need for the .dll library.

It is a first version of the braille driver and i am sure that it needs some improvements. Please, feel free to modify anything you want.

I have kept the same keys combination that the pugin had.

Hope it works fine!

! Thanks! If you have the add-on with the Python file instead of the library, you can attach it to test this in my job. I will create it otherwise, since I have installed a stable version of NVDA here, and cannot test a branch. Great!

nvaccessAuto commented 9 years ago

Comment 29 by jjimenez0 (in reply to comment 28) on 2014-12-11 13:11 Replying to norrumar:

Hi Noelia, I attach an addon (eco.nvda-addon) with the only file. Hope it is ok

Replying to jjimenez0:

Hi all,

I have included all the functionality in the python file, so there is no need for the .dll library.

It is a first version of the braille driver and i am sure that it needs some improvements. Please, feel free to modify anything you want.

I have kept the same keys combination that the pugin had.

Hope it works fine!

!

Thanks!

If you have the add-on with the Python file instead of the library, you can attach it to test this in my job.

I will create it otherwise, since I have installed a stable version of NVDA here, and cannot test a branch.

Great!

nvaccessAuto commented 9 years ago

Comment 30 by norrumar (in reply to comment 29) on 2014-12-12 09:43 Replying to jjimenez0:

Replying to norrumar:

Hi Noelia, I attach an addon (eco.nvda-addon) with the only file. Hope it is ok

Replying to jjimenez0:

Hi all,

I have included all the functionality in the python file, so there is no need for the .dll library.

It is a first version of the braille driver and i am sure that it needs some improvements. Please, feel free to modify anything you want.

I have kept the same keys combination that the pugin had.

Hope it works fine!

!

Thanks!

If you have the add-on with the Python file instead of the library, you can attach it to test this in my job.

I will create it otherwise, since I have installed a stable version of NVDA here, and cannot test a branch.

Great!

Thanks a lot! I couldn't use Ecobraille just including the python file into BrailleDisplayDrivers. I tested it once. There are some bugs in this add-on. Here is the nvda.log file. Hope you can check this. Regards.

nvaccessAuto commented 9 years ago

Comment 31 by jjimenez0 (in reply to comment 30) on 2014-12-12 10:44

Ok, it seems like when NVDA finds an Eco (apparently 80 cells) this Eco is still sending data to the serial port. And it should not. The only data that it should send it's already read by the driver (i have read that the line has 80 cells) so i need to know what command the driver is reading. I can not reproduce this error with my ECO so i have to ask you to put some debug code in the python file in order to know it. Could you put, for example, something like log.info("Command: " + str(command)) before line 237 (in _handleresponses function before the call to _handlerespone(command)) ?

Replying to norrumar:

Replying to jjimenez0:

Replying to norrumar:

Hi Noelia, I attach an addon (eco.nvda-addon) with the only file. Hope it is ok

Replying to jjimenez0:

Hi all,

I have included all the functionality in the python file, so there is no need for the .dll library.

It is a first version of the braille driver and i am sure that it needs some improvements. Please, feel free to modify anything you want.

I have kept the same keys combination that the pugin had.

Hope it works fine!

!

Thanks!

If you have the add-on with the Python file instead of the library, you can attach it to test this in my job.

I will create it otherwise, since I have installed a stable version of NVDA here, and cannot test a branch.

Great!

Thanks a lot!

I couldn't use Ecobraille just including the python file into BrailleDisplayDrivers. I tested it once.

There are some bugs in this add-on.

Here is the nvda.log file.

Hope you can check this.

Regards.

nvaccessAuto commented 9 years ago

Comment 32 by norrumar (in reply to comment 31) on 2014-12-12 12:17 Replying to jjimenez0:

Ok, it seems like when NVDA finds an Eco (apparently 80 cells) this Eco is still sending data to the serial port. And it should not. The only data that it should send it's already read by the driver (i have read that the line has 80 cells) so i need to know what command the driver is reading.

I can not reproduce this error with my ECO so i have to ask you to put some debug code in the python file in order to know it. Could you put, for example, something like log.info("Command: " + str(command)) before line 237 (in _handleresponses function before the call to _handlerespone(command)) ?

I have done it. Then I have restarted NVDA and now I get another error. Here is the new log file. The previous one was produced when starting the computer. Thanks.

Replying to norrumar:

Replying to jjimenez0:

Replying to norrumar:

Hi Noelia, I attach an addon (eco.nvda-addon) with the only file. Hope it is ok

Replying to jjimenez0:

Hi all,

I have included all the functionality in the python file, so there is no need for the .dll library.

It is a first version of the braille driver and i am sure that it needs some improvements. Please, feel free to modify anything you want.

I have kept the same keys combination that the pugin had.

Hope it works fine!

!

Thanks!

If you have the add-on with the Python file instead of the library, you can attach it to test this in my job.

I will create it otherwise, since I have installed a stable version of NVDA here, and cannot test a branch.

Great!

Thanks a lot!

I couldn't use Ecobraille just including the python file into BrailleDisplayDrivers. I tested it once.

There are some bugs in this add-on.

Here is the nvda.log file.

Hope you can check this.

Regards.

nvaccessAuto commented 9 years ago

Comment 33 by jjimenez0 (in reply to comment 32) on 2014-12-12 13:31

This new error looks more normal. It is due to a problem detecting Eco Braille display. Please, be sure that the Eco display has the "PC not conected" message and try to set again the Eco Braille in Braille preferences. Some ECo lines, like Eco plus for example, have a problem with this initial message, and you need to turn off and turn on the line before conect with NVDA in order that they send the initial message again. Hope this help

Replying to norrumar:

Replying to jjimenez0:

Ok, it seems like when NVDA finds an Eco (apparently 80 cells) this Eco is still sending data to the serial port. And it should not. The only data that it should send it's already read by the driver (i have read that the line has 80 cells) so i need to know what command the driver is reading.

I can not reproduce this error with my ECO so i have to ask you to put some debug code in the python file in order to know it. Could you put, for example, something like log.info("Command: " + str(command)) before line 237 (in _handleresponses function before the call to _handlerespone(command)) ?

I have done it.

Then I have restarted NVDA and now I get another error. Here is the new log file. The previous one was produced when starting the computer.

Thanks.

Replying to norrumar:

Replying to jjimenez0:

Replying to norrumar:

Hi Noelia, I attach an addon (eco.nvda-addon) with the only file. Hope it is ok

Replying to jjimenez0:

Hi all,

I have included all the functionality in the python file, so there is no need for the .dll library.

It is a first version of the braille driver and i am sure that it needs some improvements. Please, feel free to modify anything you want.

I have kept the same keys combination that the pugin had.

Hope it works fine!

!

Thanks!

If you have the add-on with the Python file instead of the library, you can attach it to test this in my job.

I will create it otherwise, since I have installed a stable version of NVDA here, and cannot test a branch.

Great!

Thanks a lot!

I couldn't use Ecobraille just including the python file into BrailleDisplayDrivers. I tested it once.

There are some bugs in this add-on.

Here is the nvda.log file.

Hope you can check this.

Regards.

nvaccessAuto commented 9 years ago

Comment 34 by norrumar (in reply to comment 33) on 2014-12-12 13:50 Replying to jjimenez0:

This new error looks more normal. It is due to a problem detecting Eco Braille display. Please, be sure that the Eco display has the "PC not conected" message and try to set again the Eco Braille in Braille preferences.

Some ECo lines, like Eco plus for example, have a problem with this initial message, and you need to turn off and turn on the line before conect with NVDA in order that they send the initial message again. Hope this help

Thanks. I have restarted the computer two times and I have reproduced the error in 237 line. Here is the log file with your debugging code. Hope this helps too.

Replying to norrumar:

Replying to jjimenez0:

Ok, it seems like when NVDA finds an Eco (apparently 80 cells) this Eco is still sending data to the serial port. And it should not. The only data that it should send it's already read by the driver (i have read that the line has 80 cells) so i need to know what command the driver is reading.

I can not reproduce this error with my ECO so i have to ask you to put some debug code in the python file in order to know it. Could you put, for example, something like log.info("Command: " + str(command)) before line 237 (in _handleresponses function before the call to _handlerespone(command)) ?

I have done it.

Then I have restarted NVDA and now I get another error. Here is the new log file. The previous one was produced when starting the computer.

Thanks.

Replying to norrumar:

Replying to jjimenez0:

Replying to norrumar:

Hi Noelia, I attach an addon (eco.nvda-addon) with the only file. Hope it is ok

Replying to jjimenez0:

Hi all,

I have included all the functionality in the python file, so there is no need for the .dll library.

It is a first version of the braille driver and i am sure that it needs some improvements. Please, feel free to modify anything you want.

I have kept the same keys combination that the pugin had.

Hope it works fine!

!

Thanks!

If you have the add-on with the Python file instead of the library, you can attach it to test this in my job.

I will create it otherwise, since I have installed a stable version of NVDA here, and cannot test a branch.

Great!

Thanks a lot!

I couldn't use Ecobraille just including the python file into BrailleDisplayDrivers. I tested it once.

There are some bugs in this add-on.

Here is the nvda.log file.

Hope you can check this.

Regards.

nvaccessAuto commented 9 years ago

Comment 35 by jjimenez0 (in reply to comment 34) on 2014-12-17 12:12

Hi Noelia, I can not reproduce this bug, although i am using an EcoPlus 80. I can not imagine what it's happening. Could you send me any clue about this situation?. It seems like key F8 is pressed or that the Eco doesn't read my reply to the initial header and it keep sending this initial header forever.

Replying to norrumar:

Replying to jjimenez0:

This new error looks more normal. It is due to a problem detecting Eco Braille display. Please, be sure that the Eco display has the "PC not conected" message and try to set again the Eco Braille in Braille preferences.

Some ECo lines, like Eco plus for example, have a problem with this initial message, and you need to turn off and turn on the line before conect with NVDA in order that they send the initial message again. Hope this help

Thanks.

I have restarted the computer two times and I have reproduced the error in 237 line. Here is the log file with your debugging code.

Hope this helps too.

Replying to norrumar:

Replying to jjimenez0:

Ok, it seems like when NVDA finds an Eco (apparently 80 cells) this Eco is still sending data to the serial port. And it should not. The only data that it should send it's already read by the driver (i have read that the line has 80 cells) so i need to know what command the driver is reading.

I can not reproduce this error with my ECO so i have to ask you to put some debug code in the python file in order to know it. Could you put, for example, something like log.info("Command: " + str(command)) before line 237 (in _handleresponses function before the call to _handlerespone(command)) ?

I have done it.

Then I have restarted NVDA and now I get another error. Here is the new log file. The previous one was produced when starting the computer.

Thanks.

Replying to norrumar:

Replying to jjimenez0:

Replying to norrumar:

Hi Noelia, I attach an addon (eco.nvda-addon) with the only file. Hope it is ok

Replying to jjimenez0:

Hi all,

I have included all the functionality in the python file, so there is no need for the .dll library.

It is a first version of the braille driver and i am sure that it needs some improvements. Please, feel free to modify anything you want.

I have kept the same keys combination that the pugin had.

Hope it works fine!

!

Thanks!

If you have the add-on with the Python file instead of the library, you can attach it to test this in my job.

I will create it otherwise, since I have installed a stable version of NVDA here, and cannot test a branch.

Great!

Thanks a lot!

I couldn't use Ecobraille just including the python file into BrailleDisplayDrivers. I tested it once.

There are some bugs in this add-on.

Here is the nvda.log file.

Hope you can check this.

Regards.

nvaccessAuto commented 9 years ago

Comment 36 by norrumar (in reply to comment 35) on 2014-12-17 14:45 Replying to jjimenez0:

Hi Noelia,

I can not reproduce this bug, although i am using an EcoPlus 80. I can not imagine what it's happening. Could you send me any clue about this situation?.

It seems like key F8 is pressed or that the Eco doesn't read my reply to the initial header and it keep sending this initial header forever.

Hi, I don't press keyf8. Here is a crash dump, perhaps related to this issue. Thanks a lot.

Replying to norrumar:

Replying to jjimenez0:

This new error looks more normal. It is due to a problem detecting Eco Braille display. Please, be sure that the Eco display has the "PC not conected" message and try to set again the Eco Braille in Braille preferences.

Some ECo lines, like Eco plus for example, have a problem with this initial message, and you need to turn off and turn on the line before conect with NVDA in order that they send the initial message again. Hope this help

Thanks.

I have restarted the computer two times and I have reproduced the error in 237 line. Here is the log file with your debugging code.

Hope this helps too.

Replying to norrumar:

Replying to jjimenez0:

Ok, it seems like when NVDA finds an Eco (apparently 80 cells) this Eco is still sending data to the serial port. And it should not. The only data that it should send it's already read by the driver (i have read that the line has 80 cells) so i need to know what command the driver is reading.

I can not reproduce this error with my ECO so i have to ask you to put some debug code in the python file in order to know it. Could you put, for example, something like log.info("Command: " + str(command)) before line 237 (in _handleresponses function before the call to _handlerespone(command)) ?

I have done it.

Then I have restarted NVDA and now I get another error. Here is the new log file. The previous one was produced when starting the computer.

Thanks.

Replying to norrumar:

Replying to jjimenez0:

Replying to norrumar:

Hi Noelia, I attach an addon (eco.nvda-addon) with the only file. Hope it is ok

Replying to jjimenez0:

Hi all,

I have included all the functionality in the python file, so there is no need for the .dll library.

It is a first version of the braille driver and i am sure that it needs some improvements. Please, feel free to modify anything you want.

I have kept the same keys combination that the pugin had.

Hope it works fine!

!

Thanks!

If you have the add-on with the Python file instead of the library, you can attach it to test this in my job.

I will create it otherwise, since I have installed a stable version of NVDA here, and cannot test a branch.

Great!

Thanks a lot!

I couldn't use Ecobraille just including the python file into BrailleDisplayDrivers. I tested it once.

There are some bugs in this add-on.

Here is the nvda.log file.

Hope you can check this.

Regards.

nvaccessAuto commented 9 years ago

Comment 37 by norrumar on 2014-12-17 14:48 Sorry, the crash dump is empty, and so it can't be attached. Thanks.

nvaccessAuto commented 9 years ago

Comment 38 by jteh on 2015-02-02 06:30 So did this new driver actually cause a crash? I don't see any mention of a crash, just an error. Otherwise, a crash dump wouldn't be useful anyway.

What's the status of this? Is it ready for review and potential inclusion or are there still issues that need to be resolved?