Fighting software rot is a difficult business.
To make DZ3 operational, Servomaster uplift was necessary.
- Accommodated a less painful build tool (the project is now Maven2 compliant, like the rest of DZ3 and its dependencies);
- Split the project into three parts: abstractions (
servomaster-common), serial (
servomaster-serial)and USB (
servomaster-usb). Serial and USB packages require the common package to build, but are independent from each other;
- Replaced ugly
System.*.printlnwith log4j (been done elsewhere long time ago, but wasn't really necessary in Servomaster because it just worked);
- Package names are now
net.sf.servomaster.*, for consistency, and to ensure the break away from the old code base.
Get the necessary modules from the Subversion repository.
servomaster-commonrequires zero involvement (other than having Maven, or, even better, Eclipse Galileo installed).
servomaster-serialyou'll need RxTx 2.1.7. RxTx used to be a pain point, but right now (on Ubuntu 9.04 and 9.10) it's a matter of executing
and you're good to go (POM file points where the library is).
sudo apt-get install librxtx-java
I didn't get my hands on installing this part on Fedora yet, will update this page as soon as I do (by the way, your feedback is welcome).
servomaster-usb, you'll need javax.usb. Roles flipped, now this is the pain point - there's no automated way to get it installed, get to the site and follow instructions. However, instructons are more or less painless, and once you get it there, it won't require much interaction. Make sure you match te POM file content with actual jar file name - JSR80 jar file is the only one you need to build, but you'll need all three to make it work.