The Blog of Daniel

Just my place to write without any delusions of self-importance.

Ack Ack Ack Ack Ack Ack Ack Ack!

Due to the sudden death of my PowerLinc2 I was forced to revisit the coding of my open source x10bot Home Automation Daemon project.  If you have no idea what this means, it's a method to automate your home and also control it from anywhere in the world through a variety of methods.

My original -- and official -- public release of x10bot worked exclusively with the CM11a interface.  For my own personal use, I nixed the CM11a and replaced it with a PowerLinc2 and a W800RF32A receiver.  I never released the code because I had removed support for the CM11a, mostly out of sheer laziness because I didn't want to sit down and write the code to support it.  With the previously mentioned death of my last remaining PowerLinc2, combined with the fact that it is no longer sold, I was finally forced to write it anyway.

While I'm at it, I may go ahead and finish code for MR26a, CM17a, TW523 and PSC05 support too.  If I can get those done, I'll release an update.

In case you're wondering about today's title, it has to do with the way I was debugging my test code.  Since I was not in the mood to attempt to debug a multi-threaded process running on a remote server, I used plain old printf() statements at critical points.  When the server would send an REQ to the external hardware, that hardware would then respond with a good ACK or a negative NAK.  I know I was on the right track when I had a screenful of:

REQ
ACK
ACK
ACK
ACK
ACK
ACK
ACK
ACK
ACK

I tried explaining the humor of this to non-programming friends but apparently none of them have seen the movie Mars Attacks.

More Posts by Daniel