Showing posts with label servomaster. Show all posts
Showing posts with label servomaster. Show all posts

Tuesday, January 5, 2010

Servomaster 0.8.2.3 released

CHANGES

  • Minor: Parallax family driver code was optimized to reduce garbage collection chatter;
  • Major: Plugged a memory leak causing Servomaster to blow DZ out of memory. This leak was occurring every time the transition controller was being engaged. Root cause of the leak was the missing NDC.remove() at the end of the thread life.

Tuesday, December 22, 2009

Servomaster 0.8.2.2 released

CHANGES

This is a maintenance release. No significant changes other than finally removing all System.*.println and adjusting log levels to avoid scaring unsuspecting users with transition controller completions.

Monday, November 16, 2009

Servomaster 0.8.2 released

This is a maintenance update for 0.8.1.

CHANGES

  • servomaster-serial: now uses RxTx dependency available from Maven Central Repository, you don't have to manually install it (though you do have to take care of platform libraries, that'll come later);
  • servomaster-usb: now allows Phidget Quad Servo to be instantiated by Spring Framework (DZ3 dz-servomaster requires it).
DOWNLOADS

Available from SourceForge and Google Code.

Thursday, November 12, 2009

"Passive Mode": Early Access

As of now, Phidget Quad Servo controller is happily shuffling a servo on my desk, controlled by the code that you can get from Subversion trunk. This is what you have to add to the configuration in order to enable it:

    <bean id="damper_factory" class="net.sf.dz3.device.actuator.servomaster.DamperFactory">
<constructor-arg index="0" value="net.sf.servomaster.device.impl.usb.phidget.QuadServoController"/>
<constructor-arg index="1" value="00515"/>
</bean>

<bean id="damper-quad_servo0"
factory-bean="damper_factory"
factory-method="getDamper">
<constructor-arg index="0" value="USB Bus Powered Servo"/>
<constructor-arg index="1" value="0"/>
</bean>

Other servo controllers will be supported as well. Please answer the poll questions (on your right) to let me know which drivers I have to take care of first.

As of right now, DZ3 is completely capable of supporting the passive mode. I'm not going to release the code just yet, until all prerequisites for Barebones are satisfied.

Next Release: Barebones

WHAT'S IN?

Essential things that didn't make it into Instrumentation release, namely:

  1. Servo controller integration (see Servomaster);
  2. 1-Wire switch based HVAC driver.
This release will allow to run the complete system (including HVAC unit control) with single mode operation (either heating or cooling), no schedule, and no GUI (thermostat setpoints controlled via JMX).

WHEN?

I expect the code to be finished within a week - servo controller first (so the whole system can be run in passive mode), then HVAC driver.

However, I'm yet to acquire a relay board (all I have now is raw DS2406 switches driving LEDs), so some tweaking may occur afterwords, when it is actually connected - besides, it's not a good time to conduct real life experiments at my location now, there is no heating nor cooling required until, I believe, middle of December.

UPDATE (2009/11/12): 8 channel I/O 8 relay board is in the mail.
UPDATE (2009/11/16): I lied. Next release is 3.1-PASSIVE.

Monday, November 9, 2009

Servomaster 0.8.1 released

This is a bugfix release for 0.8-UNDEAD.

CHANGES

DOWNLOADS

Available from SourceForge and Google Code.

Tuesday, November 3, 2009

Servomaster 0.8-UNDEAD released

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.

Wednesday, November 28, 2007

What kind of actuators are you using?

I'm now working on a maintenance ("Undead") release for Servomaster, which was originally created to provide the driver layer for register or damper actuators (as shown here).

A lot has changed since last modification was made to Servomaster - the code turned out to be rock stable and low maintenance. I could accept that as a sign of the fact that the code is perfect - but I'd rather go the other way and ask if it is so off the mark that you guys are speechless and simply walked away from it because you can't use it.

It would be really nice if you looked at the poll (scheduled to close on December 5 2007) and gave me a hint on what to concentrate on.