From: Kevin B. <ba...@gm...> - 2007-12-19 01:00:04
|
Hello all, I've been working on fixing up the SICKLMS200 driver. Changes so far: --serial_high_speed_mode [0] The old FTDI method. Linux only. (With no changes made). [1] Fake baud rates as used by the CP21xx RS422 to USB. (Ie you open a tty at speed 230400 as far as the OS is concerned, but at the RS422 level it's actually 500k). This might work with non-CP21xx methods, and this mode but with no remapping (ie set serial_high_speed_baudremap to 500000) might work with other converters. I've only tested it with the Cp21xx, but on both Mac OS X and Linux. Example configuration files are included. --Better time outs. I've increased some timeouts and decreased some timeouts, but most importantly I added a separate time out for receive the header of the message. This is because it /can/ take a long time to get the whole message sometimes, but if you don't get the header quickly, you'll never get the message. This makes the trial/error of connecting at different baud rates much faster. --PLS support ?? I don't have a PLS to test with. But I looked at the code from the sickpls and it seems almost identical. The password is different, but I now generate the password based off the response from the GetLaserType() query (Meaning it works on LMS and should work on PLS). The only other difference I could find was that the intensities are &'ed with 0x07 rather than 0x0E, so I included this too. I'm concerned that the PLS might not support SetLaserRes and SetLaserConfig, but I left them active for now hoping that someone can test it. For now I'm distributing this as a tarball because I'd really like some testing and I think an external module is easier to test with. Especially in the case of the PLS where I might need to make a few versions before it works. But I'll be submitting a patch soon. If people with FTDI's could test this patch too and report on high speed mode success/failure. Also if people not using any high speed mode could test this to ensure I didn't do anything silly with the timeouts (Though I've tested a bit at 38400 and it seems good). http://es.udmercy.edu/~barryke/player/sicklms200b_20071218.tar.gz -Kevin Barry |