Attached is my code before I began butchering it tring to solve this problem.
Hubbidaddy,Sorry for the delay. I finally got a chance to look through the code that you posted.
I've been re-discovering a number of things while I was looking though your setup (this happens a lot at my age). Over the years I've been very anal about not putting X10 commands on the powerline if they were not absolutely necessary ( I.E. - don't turn on a lamp that's already on). I thought I had a good reason for that, and just
re-discovered why.
Statement:The Cm15a microprocessor has a known fault that prevents it from using interrupts to service incoming X10 commands (and most likely RF). X10 has "worked around" this problem by implementing a "polling" routine that samples incoming requests.
Conjecture:1) As a result of the above, I believe that macro statements should be viewed as a series of "callable" routines.
2) Each of these routines can be separated by a "I/O Poll" to retrieve X10/Rf requests.
3) If a "poll" occurs during a macro execution (say during a delay statement), a second macro could start executing (seemingly out of order).
Assuming the above is correct, your B10 macro would then become:
B10 ON
If B10 on
Set Flag 4
{check I/O Status}Turn A2 ON
Pointers -
1) The CM15a will ignore RF transmissions while it is in the process of executing a X10 Macro command (it goes deaf to RF). Try to prevent unnecessary ON commands when modules are already on (use flags to determine the on/off state)/
2) Dim/Bright commands extend the X10 transmission period and therefore extend the "deaf period".
3) Make absolutely sure that the menu item
tools/preferences/macro options - "Issue On in place of bright 100% checkbox is selected". Having this "unchecked" will cause the CM15a to issue a series of "bright" commands to achieve 100% at the lamp. This will take roughly 5 seconds and the CM15a will be deaf to Rf during that time.
The following is a series of RF tests that I performed to document the behavior of the CM15a using different macros.
Sorry if this seems a bit flimsy at the moment. I believe I have the data to support these suppositions. I don't currently have the time to present them properly (way past my bedtime).
Boiler