Ticket #35951

KGS ドライバーのスレッドセーフ化

오픈 날짜: 2016-01-20 20:37 마지막 업데이트: 2017-05-22 09:15

Reporter:
소유자:
Type:
Status:
Closed
MileStone:
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None
File:
None

Details

2016.1 の changes に書かれている下記を利用することで KGS 点字ディスプレイのドライバーを改善できるかどうか検討。

https://github.com/nvaccess/nvda/blob/master/user_docs/en/changes.t2t

- Enhanced I/O for braille displays: (#5609)

- Thread-safe braille display drivers can declare themselves as such using the BrailleDisplayDriver.isThreadSafe attribute. A driver must be thread-safe to benefit from the following features.
- Data is written to thread-safe braille display drivers in the background, thus improving performance.
- hwIo.Serial extends pyserial to call a callable when data is received instead of drivers having to poll.
- hwIo.Hid provides support for braille displays communicating via USB HID.
- hwPortUtils and hwIo can optionally provide detailed debug logging, including devices found and all data sent and received.

参照されている本家 issue 5609

Support for Baum displays using USB HID

https://github.com/nvaccess/nvda/issues/5609

Ticket History (3/8 Histories)

2016-01-20 20:37 Updated by: nishimoto
  • New Ticket "KGS ドライバーの再検討" created
2016-02-13 12:31 Updated by: nishimoto
2016-05-22 10:57 Updated by: nishimoto
2017-04-03 13:11 Updated by: nishimoto
댓글 올리기

いちおう調査してみる。

https://github.com/nvdajp/nvdajp/issues/19

2017-04-03 14:52 Updated by: nishimoto
댓글 올리기

単純に isThreadSafe = True だけを kgs.py に追加するとつながらなくなる

INFO - brailleDisplayDrivers.kgs.kgsListComPorts (14:48:06):
[{'friendlyName': u'シリアルポート: USB Serial Port (COM3)', 'hardwareID': u'FTDIBUS\\COMPORT&VID_0403&PID_6001', 'port': u'COM3'}]
INFO - brailleDisplayDrivers.kgs.BrailleDisplayDriver.getPossiblePorts (14:48:06):
{'friendlyName': u'シリアルポート: USB Serial Port (COM3)', 'hardwareID': u'FTDIBUS\\COMPORT&VID_0403&PID_6001', 'port': u'COM3'}
INFO - brailleDisplayDrivers.kgs.BrailleDisplayDriver.getPossiblePorts (14:48:06):
{u'COM3': u'シリアルポート: USB Serial Port (COM3)'}
INFO - brailleDisplayDrivers.kgs.BrailleDisplayDriver.__init__ (14:48:14):
first connection auto
WARNING - brailleDisplayDrivers.kgs.getKbdcName (14:48:14):
active kbdc not found
INFO - brailleDisplayDrivers.kgs.kgsListComPorts (14:48:14):
[{'friendlyName': u'シリアルポート: USB Serial Port (COM3)', 'hardwareID': u'FTDIBUS\\COMPORT&VID_0403&PID_6001', 'port': u'COM3'}]
INFO - brailleDisplayDrivers.kgs._autoConnection (14:48:14):
set port:COM3 hw:FTDIBUS\COMPORT&VID_0403&PID_6001 fr:シリアルポート: USB Serial Port (COM3) bt:None
INFO - brailleDisplayDrivers.kgs._fixConnection (14:48:14):
scanning port COM3
INFO - brailleDisplayDrivers.kgs._fixConnection (14:48:14):
bmStart(COM3) returns 1
INFO - brailleDisplayDrivers.kgs.bmDisConnect (14:48:22):
BmEndDisplayMode 2 1
INFO - brailleDisplayDrivers.kgs.bmDisConnect (14:48:23):
BmEnd 2 1
INFO - brailleDisplayDrivers.kgs._fixConnection (14:48:23):
connection:0 port:2
INFO - brailleDisplayDrivers.kgs.BrailleDisplayDriver.__init__ (14:48:23):
failed auto
ERROR - braille.BrailleHandler.setDisplayByName (14:48:23):
Error initializing display driver
Traceback (most recent call last):
  File "braille.pyo", line 1607, in setDisplayByName
  File "brailleDisplayDrivers\kgs.pyo", line 373, in __init__
RuntimeError: No KGS display found
INFO - braille.BrailleHandler.setDisplayByName (14:48:23):
Loaded braille display driver noBraille, current display has 0 cells.
2017-04-03 19:00 Updated by: nishimoto
댓글 올리기

いろいろ確認していたらいつのまにか、動かなかったビルドで動くようになりました。 自分の環境の問題もあるようです。

公開での調査をお願いしてみることにします。

http://s.nvda.jp/nvda_2017.2jp-beta-170403-b236.exe

このバージョンはバージョン番号としては 170403 ですが、 ファイルのプロパティで 2017.1.0.236 となっています。 (あれ、なぜ 2017.2.0.236 にならないんだろう。。)

170330 からの重要な変更点として、点字ディスプレイの KGS ドライバを スレッドセーフ化しています。その他の変更点はありません。 (ブレイルノートのドライバーは変更していません)

このバージョンで、ブレイルメモの応答が改善した、接続が不安定になった、 などの影響があるかどうか、調査を呼びかけようと思います。

2017-04-05 10:01 Updated by: nishimoto
  • Summary Updated
댓글 올리기
2017-05-22 09:15 Updated by: nishimoto
  • Ticket Close date is changed to 2017-05-22 09:15
  • Status Update from Open to Closed

Attachment File List

No attachments

Edit

Please login to add comment to this ticket » Login