Rounding learned signals in IR.exe
Moderator: Moderators
-
The Robman
- Site Owner
- Posts: 21888
- Joined: Fri Aug 01, 2003 9:37 am
- Location: Chicago, IL
- Contact:
Perfect, thank you!
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
-
The Robman
- Site Owner
- Posts: 21888
- Joined: Fri Aug 01, 2003 9:37 am
- Location: Chicago, IL
- Contact:
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.
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.
Last edited by The Robman on Fri Mar 13, 2009 7:25 pm, edited 1 time in total.
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
-
The Robman
- Site Owner
- Posts: 21888
- Joined: Fri Aug 01, 2003 9:37 am
- Location: Chicago, IL
- Contact:
My guess is yes, but I haven't gone back and checked too many signals to see if that holds up. An alternative might be to look for a negative burst time that's over, let's say, 40k.binky123 wrote:It's probably possible. Can I use the RoundTo*10 value as the trigger to reset the iPos counter?
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
I've uploaded IR7 (beta5a) here.
beta5a:
- Register .IR filetype association everytime IR7 starts up
- If JP1 interfaces are not available(drivers can't load) then change interface to JP1.x.
- Modify Bi-phase Odd/Even Formatting of Burst Pairs by looking for leadout "-" value > 40000.
beta5a:
- Register .IR filetype association everytime IR7 starts up
- If JP1 interfaces are not available(drivers can't load) then change interface to JP1.x.
- Modify Bi-phase Odd/Even Formatting of Burst Pairs by looking for leadout "-" value > 40000.
-
The Robman
- Site Owner
- Posts: 21888
- Joined: Fri Aug 01, 2003 9:37 am
- Location: Chicago, IL
- Contact:
Works perfectly, thank you.
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
-
The Robman
- Site Owner
- Posts: 21888
- Joined: Fri Aug 01, 2003 9:37 am
- Location: Chicago, IL
- Contact:
I'm back with another request to help with decoding learned signals. Normally the burst pairs in a signal are all multiples of a fixed value, so if you round to that value you get perfect burst pair times.
However, the XMP protocol has introduced a new concept. The time difference between the different values used for this protocol is 140 uS, so that's what I'd normally round to, but there's a seeding time. The smallest off time in the XMP protocol is 750 uS, and that's not a multiple of 140.
So, what I'd like is a new text box to the right of the Bi-Phase drop down (on the Learned Signals tab) called "Seed:" where I can enter an amount as a seeding value.
In this case I would enter 50 as the seed and 140 as the round-to amount.
The rounding logic would then subtract 50 from every burst pair time before it rounds it to a multiple of 140, then it would add the 50 back into the number for display.
So, for example, if 754 appeared as a burst time, you would subtract 50 to get 704, then you would round to a multiple of 140 to get 700, then you would add 50 again to get 750.
I have written up a description of the XMP protocol here:
http://www.hifi-remote.com/forums/viewtopic.php?t=10773
There is a file of clean XMP learns here:
http://www.hifi-remote.com/forums/dload ... le_id=6388
And a file of not so clean XMP learns here:
http://www.hifi-remote.com/forums/dload ... le_id=6398
However, the XMP protocol has introduced a new concept. The time difference between the different values used for this protocol is 140 uS, so that's what I'd normally round to, but there's a seeding time. The smallest off time in the XMP protocol is 750 uS, and that's not a multiple of 140.
So, what I'd like is a new text box to the right of the Bi-Phase drop down (on the Learned Signals tab) called "Seed:" where I can enter an amount as a seeding value.
In this case I would enter 50 as the seed and 140 as the round-to amount.
The rounding logic would then subtract 50 from every burst pair time before it rounds it to a multiple of 140, then it would add the 50 back into the number for display.
So, for example, if 754 appeared as a burst time, you would subtract 50 to get 704, then you would round to a multiple of 140 to get 700, then you would add 50 again to get 750.
I have written up a description of the XMP protocol here:
http://www.hifi-remote.com/forums/viewtopic.php?t=10773
There is a file of clean XMP learns here:
http://www.hifi-remote.com/forums/dload ... le_id=6388
And a file of not so clean XMP learns here:
http://www.hifi-remote.com/forums/dload ... le_id=6398
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!