I wonder if it would be possible to squeeze one more feature into the stuff that you did for me with the learned times? I was using IR today to decode some bi-phase learned signals and I hit a situation that I hadn't thought about when I gave you the "spec" for the changes earlier.
Sometimes a signal really consists of multiple signals and if each of the parts of the signal don't consist of an even number of parts, the ODD/EVEN thing can get thrown off half-way through the signal. So, I wonder if you could make IR look for the leadout time and then restart the ODD/EVEN thing. The leadout time is always at least 10 times bigger than any of the other times and is often alot bigger than that. What I'm suggesting is that once you hit a leadout time, you set the ODD/EVEN counter back to 1, so the next burst time will be treated the same as the first burst time.
I have loaded the file I was decoding here...
http://www.hifi-remote.com/forums/dload ... le_id=4210
If you look at the first learned signal in this file, when rounded to 270 with ODD bi-phase, it looks like this...
+1890; -1620 +810; -270 +270; -270 +270; -270 +270; -270 +270; +270 -270; +270 -270; -270 +270; +270 -270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; +270 -270; -270 +270; +270 -270; +270 -270; +270 -270; +270 -270; +270 -270; +270 -270; -270 +270; +270 -270; +270 -270; +270
-78030; +1890 -1620; +810 -270; +270 -270; +270 -270; +270 -270; +270 +270; -270 -270; +270 -270; +270 +270; -270 -270; +270 -270; +270 -270; +270 -270; +270 -270; +270 -270; +270 -270; +270 -270; +270 -270; +270 -270; +270 -270; +270 -270; +270 +270; -270 -270; +270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 -270; +270 -270; +270 +270; -270 +270; -78030
You'll notice the -78030 leadout time in the middle, so this is really 2 signals where the two halves look like this...
+1890; -1620 +810; -270 +270; -270 +270; -270 +270; -270 +270; +270 -270; +270 -270; -270 +270; +270 -270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; +270 -270; -270 +270; +270 -270; +270 -270; +270 -270; +270 -270; +270 -270; +270 -270; -270 +270; +270 -270; +270 -270; +270 -78030;
+1890 -1620; +810 -270; +270 -270; +270 -270; +270 -270; +270 +270; -270 -270; +270 -270; +270 +270; -270 -270; +270 -270; +270 -270; +270 -270; +270 -270; +270 -270; +270 -270; +270 -270; +270 -270; +270 -270; +270 -270; +270 -270; +270 +270; -270 -270; +270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 -270; +270 -270; +270 +270; -270 +270; -78030
Looking at the two parts above, you'll see that the first one is correctly broken up into ODD segments but the second one is broken into EVEN segments. The second part should really look like this...
+1890; -1620 +810; -270 +270; -270 +270; -270 +270; -270 +270; +270 -270; -270 +270; -270 +270; +270 -270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; -270 +270; +270 -270; -270 +270; +270 -270; +270 -270; +270 -270; +270 -270; +270 -270; +270 -270; -270 +270; -270 +270; +270 -270; +270 -78030;
What do you think, is this possible? It's not a biggie if it isn't but it would be helpful.