ddennerline
Active Member
The rules engine is most likely implemented using a type of "Ladder Logic." Elk's CPU is Motorola PIC processor (I don't have the model number right now). If you are interested in how Ladder Logic works, then www.ladder-logic.com seems to have a good description. From a programing standpoint, I suspect the rules are not continuously analyzed from top to bottom (this would be very expensive). Instead, the rules engine creates multiple timer/rules chains. Inputs and outputs are matched. The CPU probably provides multiple programmable timer interrupts. I have not reversed engineered the firmware, I am making educated guess. Since ElkM1 is an embedded CPU and Elk had forked firmware to support GE Wireless receiver to save 14KB, we are not talking about iterative rules engine. Again, just an educated guess.