Fighting software rot is a difficult business.
To make DZ3 operational, Servomaster uplift was necessary.
CHANGES
- 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.*.println
with 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.
HOW TO MAKE IT WORK
Get the necessary modules from the
Subversion repository.
servomaster-common
requires zero involvement (other than having Maven, or, even better,
Eclipse Galileo installed).
For
servomaster-serial
you'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
sudo apt-get install librxtx-java
and you're good to go (POM file points where the library is).
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).
For
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.