Sorry for the delay in my response. Our cable modem is down, so I am
re-routing this reply from work.
> Debug Results:
> CM11 data=5 hex=05
> receive buffer length=5, mask=00000101, data_h=050502020209.
> CM11 db: data=MJ
> CM11 db: data=MJM3MJ
> Serial data: X10 merged string=XM2MJM3MJM6
I think I can see the problem here.
<messy mh details>
The 'Check for multi-key X10 commands' section of mh will merge X10 data
from previous pass. The following 'Check to see if X10 strings got run
together' section of mh will try to do the opposite and break up a long
X10 data string, looking for shorter matches.
But I think your data looks like this:
pass 1: data=M2
pass 2: data=MJM3MJ
So we check for the merge string, M2MJM3MJ, then we check to see if pass 2
MJM3MJ string breaks into chunks, but we do NOT check to see if the merged
string, M2MJM3MJ, will break into chunks (M2MJ).
If your computer slowed down a bit, or somehow the timings changed, you
could very well see:
Either of these would have work.
To fix your problem, we needed to move the 'break into chunks' code into a
subroutine, then also calling it from the 'check the merged string' place.
</messy mh details>
If and when our cable modem ever comes back up (probably after we leave on
vacation tomorrow), you can find the updated code is at:
I also sent it to Chris directly.
This was a pretty major re-write of that section of code ... hopefully I
didn't break anything. It might fix your problem :)
I also added a bit better debug, so if it doensn't work, post another log
and I'm sure we can get it going. Although it may have to wait till we
get back from vacation.
This version of mh also has some unrelated updates from Bill S. in it.
Get latest updates about Open Source Projects, Conferences and News.