VMAC

Back in 2003-2004 I worked with a team of bright graduate and undergraduate EE
and CS students at BYU on VMAC, which was Mike Baxter’s Masters project. In short,
VMAC is about generic realtime control using standard PCs and mass produceable
control boards, communicating over ethernet. We’re talking about controlling
everything from dishwashers, washing machines, lighting, sprinklers, ovens,
fans, etc. Imagine downloading a special wash cycle for your dishwasher, or
designing your own perfect artisan bread oven cycle, and running it from work
(or from cron). It was a fun project for the obvious reasons.

It was also a fun project because I got to do some serious system programming.
I was in charge of the core scheduler and communications in QNX. I hand-crafted
ethernet frames (TCP/IP was too much overhead), wrote my own QNX network stack,
juggled various threads with different realtime priorities, and lived to see it
all work, and work well.

Mike’s thesis has made it through the red tape gauntlet and is available for
you to read at http://contentdm.lib.byu.edu/ETD/image/etd553.pdf. You can
read all about it and see the Doxygen
documentation of the code I wrote. You probably won’t, but what’s cool (to me)
is that you could.


One Response to “VMAC”

Leave a Reply