FreeSpacenav / spacenavd

Free user-space driver for 6-dof space-mice.
http://spacenav.sourceforge.net
GNU General Public License v3.0
279 stars 55 forks source link

Serial spacemouse needs 2 stopbits #75

Closed hexagon5un closed 1 year ago

hexagon5un commented 1 year ago

Hi, serial "magellan" user here. I was having trouble with newer versions of spacenavd, and it appears that it's the 2 vs 1 stop-bits issue.

After updating from 0.8, nothing worked, and it only recognized the device about half the time: if I ran spacenav -d -v, I would only periodically get the

   Magellan SpaceMouse detected:
   v  MAGELLAN  Version 5.79  by LOGITECH INC. 10/10/97

lines. I never got any output from spacenavd, however. The cube demo wouldn't turn, openscad and freecad wouldn't respond, etc. Totally borked.

I finally got around to debugging this today, and adding term.c_cflag |= CSTOPB; fixed this 100%.

I read in the source comments that 8N1 is supposed to work, but the Magellan docs says 8N2, some Python games that I wrote using it require 8N2 on pyserial, and now I just verified it with spacenavd as well.

I don't know what's up with whoever had problems with two stop bits before, but my experience with different brands of cheap USB/Serial dongles has not left me with un-burnt fingers...

But I would suggest that the code here should be written for 8N2, as that's the way things are supposed to work.

jtsiomb commented 1 year ago

Thank you very much for testing this. I had a sample size of one device and one USB-serial converter, but now that we have more data points I'll make sure to make this the default, and re-test. If I continue to have troubles with my USB converter I'll add an option for dropping the second stop bit in the config file.

I'll correct this, and some other issues reported lately and release a new minor version very soon.