I'm deep in the Insteon code again..
Although the current code works, trying to follow it is spaghetti. Being my first Ruby Project, I really didn't have a real grasp of the language at that time.
Now, I have a much better grasp, and will be writing it using the ThreadedRuby Routines. This will MAJORLY simplify the structure, and make it easier to debug.
I've been digging down to the Chip level now.. all the IBIOS routines make sense, and I'm going to try to code so that driver creates a VIRTUAL switch (in memory) and that VIRTUAL switch corresponds directly to the physical switch.. right down to the memory map, and the SALad application...
Should be a fun project!
I'll let you know when I'm ready for it.