From: <bb...@us...> - 2000-06-30 21:43:42
|
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: pass1: data=M2MJ pass2: data=M3MJ or Pass1: data=M2MJM3MJ 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: http://misterhouse.net/mh/bin/mh 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. Bruce |