JP1 Remotes Forum Index JP1 Remotes


FAQFAQ SearchSearch 7 days of topics7 Days MemberlistMemberlist UsergroupsUsergroups RegisterRegister
ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in

RMIR: Advanced Handling of Learned Signals
Goto page 1, 2, 3, 4, 5  Next
 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - Software
View previous topic :: View next topic  
Author Message
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Tue Aug 28, 2012 10:16 am    Post subject: RMIR: Advanced Handling of Learned Signals Reply with quote

Split from here:
http://www.hifi-remote.com/forums/viewtopic.php?t=14213

Vyro, as long as you are looking at the learns, keep in mind that we have an item on the WISH list about the learns. We'd really like the rounding and biphase analysis and timing summary report something like IR has for those unrecognized protocols.

PS. The current BETA is NOT the current BETA. Graham and I have exchanged 60-some emails about the crosstalk issue, and RMIR has gone through 10 versions, getting ready to bring the next BETA out.
Back to top
View user's profile Send private message Visit poster's website
Vyrolan



Joined: 24 Aug 2012
Posts: 168
Location: Chicago, IL

                    
PostPosted: Tue Aug 28, 2012 10:59 am    Post subject: Reply with quote

vickyg2003 wrote:
Gee, as long as you are looking at the learns, keep in mind that we have an item on the WISH list about the learns. We'd really like the rounding and biphase analysis and timing summary report something like IR has for those unrecognized protocols.


I agree that IR does it better, but I don't know what you mean by "timing summary report". Can you be more specific?

It doesn't look like that should be too hard to do some of that...certainly rounding is very easy. From a quick glance into the IR code and some other docs, it doesn't seem like giving a Yes/No for "is this bi-phase" would be too hard, but I would need more information (or more time with the IR code) to determine how it makes the Even/Odd determination.

vickyg2003 wrote:

PS. The current BETA is NOT the current BETA. Graham and I have exchanged 60-some emails about the crosstalk issue, and RMIR has gone through 10 versions, getting ready to bring the next BETA out.


I grabbed the latest svn and am keeping it in a git repo (<3 git)...I should be able to easily grab the latest of your changes and rebase mine off of that.
Back to top
View user's profile Send private message
Vyrolan



Joined: 24 Aug 2012
Posts: 168
Location: Chicago, IL

                    
PostPosted: Tue Aug 28, 2012 12:15 pm    Post subject: Reply with quote

Vyrolan wrote:
vickyg2003 wrote:
Gee, as long as you are looking at the learns, keep in mind that we have an item on the WISH list about the learns. We'd really like the rounding...


It doesn't look like that should be too hard to do some of that...certainly rounding is very easy.

Indeed it was...




Also uploaded RemoteMaster.jar with this capability: http://www.hifi-remote.com/forums/dload.php?action=file&file_id=11268 (Edit: This file has been updated to include improvements to the learned signal dialog seen in a later post.)

The rounding is purely cosmetic. It just changes the display, but you can then of course copy-paste the rounded values somewhere else.


Last edited by Vyrolan on Tue Aug 28, 2012 2:31 pm; edited 1 time in total
Back to top
View user's profile Send private message
Vyrolan



Joined: 24 Aug 2012
Posts: 168
Location: Chicago, IL

                    
PostPosted: Tue Aug 28, 2012 2:28 pm    Post subject: Reply with quote

Vyrolan wrote:
vickyg2003 wrote:
Gee, as long as you are looking at the learns, keep in mind that we have an item on the WISH list about the learns. We'd really like the rounding and biphase analysis and timing summary report something like IR has for those unrecognized protocols.

I agree that IR does it better, but I don't know what you mean by "timing summary report". Can you be more specific?

Nevermind...I didn't have the option enabled to see those buttons. It should be easy to produce that summary report out of RMIR.


Also, I've changed RMIR around to make the Learned Signal Dialog more friendly. First off, I've shrunk the size of the decode list since it rarely if ever needs to be very big. I'm also breaking up the timings into "sent once", "sent repeatedly", and "sent on release" like IR does. The boxes for those are hidden if not needed (if signal is nothing but repeat, then sent once and sent on release do nto even appear) and they are also dynamically sized to hold all the timings in the without scrolling of wasted space. It looks like this:


(Note: I updated the file at http://www.hifi-remote.com/forums/dload.php?action=file&file_id=11268 to include these changes.)
Back to top
View user's profile Send private message
Vyrolan



Joined: 24 Aug 2012
Posts: 168
Location: Chicago, IL

                    
PostPosted: Tue Aug 28, 2012 3:52 pm    Post subject: Reply with quote

Vyrolan wrote:
Vyrolan wrote:
vickyg2003 wrote:
Gee, as long as you are looking at the learns, keep in mind that we have an item on the WISH list about the learns. We'd really like the rounding and biphase analysis and timing summary report something like IR has for those unrecognized protocols.

I agree that IR does it better, but I don't know what you mean by "timing summary report". Can you be more specific?

Nevermind...I didn't have the option enabled to see those buttons. It should be easy to produce that summary report out of RMIR.

So I've reproduced part of the timing summary... I can provide the "LEARNED RAW DATA" part of it... IR uses another dll (ExchangeIR?) to produce the IRP notation of the signals...I don't think RMIR has that in it yet so I can't reproduce that part. I've just made it pop up a dialog with the summary...it doesn't save it to a file yet (you can copy-paste it to anything to save though).

I've again updated my file at http://www.hifi-remote.com/forums/dload.php?action=file&file_id=11268 to include this change. No screenshot this time since it's literally just a big text area and an ok button in the dialog. The "Timing Summary" button is at the button of the Learned Signals tab as expected.
Back to top
View user's profile Send private message
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21234
Location: Chicago, IL

                    
PostPosted: Wed Aug 29, 2012 7:05 pm    Post subject: Reply with quote

Vyrolan, it's looking good, however the rounding time doesn't persist. When we enter a rounding time in IR.exe it affects what gets included in the Timing Summary sheet. The idea is, when you have to manually decode a new signal, you enter a rounding time and then you cut & paste the data from the Summary sheet over to Notepad so you can convert the pairs into binary.
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
Vyrolan



Joined: 24 Aug 2012
Posts: 168
Location: Chicago, IL

                    
PostPosted: Wed Aug 29, 2012 7:59 pm    Post subject: Reply with quote

The Robman wrote:
Vyrolan, it's looking good, however the rounding time doesn't persist. When we enter a rounding time in IR.exe it affects what gets included in the Timing Summary sheet. The idea is, when you have to manually decode a new signal, you enter a rounding time and then you cut & paste the data from the Summary sheet over to Notepad so you can convert the pairs into binary.

Easily fixed...I added the "Round To" box to the timing summary window...so you can dynamically adjust right there and the summary text is updated on the fly.


Updated RemoteMaster.jar at http://www.hifi-remote.com/forums/dload.php?action=file&file_id=11268.
Back to top
View user's profile Send private message
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Wed Aug 29, 2012 8:07 pm    Post subject: Reply with quote

That looks really nice.

Are we going to do the biphase, odd even stuff too?

I'm not sure what the odd/even part does, but the biphase is for signals that switch -1,+1; +1.-1 instead of +1,-1, -1-3

Do you need a biphase example ir file to see what goes on?
_________________
Remember to provide feedback to let us know how the problem was solved and share your upgrades.

Tip: When creating an upgrade, always include ALL functions from the oem remote, even if you never plan on assigning them to a button. Complete function lists makes an upgrade more helpful to others.
Back to top
View user's profile Send private message Visit poster's website
Vyrolan



Joined: 24 Aug 2012
Posts: 168
Location: Chicago, IL

                    
PostPosted: Wed Aug 29, 2012 8:35 pm    Post subject: Reply with quote

vickyg2003 wrote:
Are we going to do the biphase, odd even stuff too?
Do you need a biphase example ir file to see what goes on?


Yes. Yes. Looking through the IR code I'm pretty sure I understand what it's trying to do, but to have an example to see and replicate would be nice.
Back to top
View user's profile Send private message
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21234
Location: Chicago, IL

                    
PostPosted: Wed Aug 29, 2012 9:10 pm    Post subject: Reply with quote

Don't take so long to respond next time, that was almost an hour! Smile

Seriously though, it's looking good. As for the bi-phase thing, I forget all the conversation that went into us coming up with the odd/even thing, but basically, a bi-phase signal is made up of 1="+n -n" and 0="-n +n" pairs, and it's possible that the first pair could be a 0, so the string would be starting with a negative time, which of course could easily blend in with the off time of the lead-in pair, so something like this...

+2000 -1000 -500 +500 -500 +500 ...

which would end up looking like

+2000 -1500 +500 -500 +500 ...

Normally when you manually convert timing data into binary all the pairs start with a positive pair, so it's easy, but it's not so straight forward with bi-phase, so that's why each pair ends with a delimiter (we used a semi-colon).

We also needed to add logic to allow for the leadout time, or that could cause the pairs to get reversed on the next repeat of the signal. In IR.exe the minimum leadout time is hard coded and I have worked with examples where it wasn't sufficient, so it would be nice to be able to reduce that if needed.

As for examples, if you open the FromRob.ir file that is always distributed with IR.exe, all of the Replay signals are bi-phase, but be aware that the Replay protocol has a double wide pair near the beginning, so don't be alarmed when you can find an odd/even setting that just gives you good legal pairs.

Also, if you have a learning remote, you could learn any RC5 signal as that's bi-phase too, like TV/0054
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
Vyrolan



Joined: 24 Aug 2012
Posts: 168
Location: Chicago, IL

                    
PostPosted: Wed Aug 29, 2012 10:08 pm    Post subject: Reply with quote

Thanks Rob/Vicky for the info. I've read about the bi-phase signals, but I don't really see what IR does that's so special?

Take this example found in the FromRob.ir, rounded to 50:
Code:

+2650 -900 +450 -450 +450 -450 +450 -900 +450 -900 +900 -450 +450 -450 +450 -450 +450 -450 +450 -450 +450 -450 +450 -450 +900 -900 +450 -450 +450 -450 +450 -450 +450 -450 +450 -450 +450 -450 +900 -900 +450 -450 +450 -450 +450 -450 +900 -450 +450 -900 +900 -109200


It's clearly bi-phase with (+450,-450) and (-450,+450) as the two logical pairs... But the Bi-Phase dropdown in IR doesn't seem to have any effect on it...if I set it to ODD, it shows:
Code:

+2650; -900 +450; -450 +450; -450 +450; -900 +450; -900 +900; -450 +450; -450 +450; -450 +450; -450 +450; -450 +450; -450 +450; -450 +900; -900 +450; -450 +450; -450 +450; -450 +450; -450 +450; -450 +450; -450 +900; -900 +450; -450 +450; -450 +450; -450 +900; -450 +450; -900 +900; -109200

With EVEN it shows:
Code:

+2650 -900; +450 -450; +450 -450; +450 -900; +450 -900; +900 -450; +450 -450; +450 -450; +450 -450; +450 -450; +450 -450; +450 -450; +900 -900; +450 -450; +450 -450; +450 -450; +450 -450; +450 -450; +450 -450; +900 -900; +450 -450; +450 -450; +450 -450; +900 -450; +450 -900; +900 -109200;


So basically it's just inserting semicolons at either the odd or even positions...how does that really help? I'd much rather detect that it is bi-phase and show it like this:
Code:

+2650 -900; +450 -450; +450 -450; +450 -450; -450 +450; -900 +900; -450 +450; -450 +450; -450 +450; -450 +450; -450 +450; -450 +450; -450 +450; +450 -450; -450 +450; -450 +450; -450 +450; -450 +450; -450 +450; -450 +450; -450 +450; +450 -450; -450 +450; -450 +450; -450 +450; -450 +450; +450 -450; +450 -450; -450 +450; +450 -450; -108750


Basically I would parse it in one on/off at a time with some basic rules...Here are the rules:

Code:

Definitions:
   () represents the next logical pair being built.
   +1 and -1 represent a single on or off burst of the bi-phase time.
   +N and -N represent a burst that is N times the length of a +1 or -1.
   +(N-1) and -(N-1) represent a burst that is (N-1) times the length of a +1 or -1.

Bi-Phase Rules:
   () +1 ==> ( +1, ??? )
   () -1 ==> ( -1, ??? )
   ( +1, ??? ) -1 ==> ( +1, -1 )
   ( -1, ??? ) +1 ==> ( -1, -1 )
   ( +1, ? ) -N ==> ( +1, -1 ) ( -(N-1), ??? )
   ( -1, ? ) +N ==> ( -1, +1 ) ( +(N-1), ??? )
   ( -N, ??? ) +N ==> ( -N, +N )
   ( +N, ??? ) -N ==> ( +N, -N )
   () +N ==> ( +N, ??? )
   () -N ==> ( -N, ??? )


Anything that doesn't match those rules fails the bi-phase parsing. So then we just need to account for the lead-in and lead-out, and I would do it by just trying all possibilities.

To look at this one as an example:
Code:

Lead-in: +2650 -900
Remaining Input = +450 -450 +450 -450 +450 -900 +450 -900 +900 -450 +450 -450 +450 -450 +450 -450 +450 -450 +450 -450 +450 -450 +900 -900 +450 -450 +450 -450 +450 -450 +450 -450 +450 -450 +450 -450 +900 -900 +450 -450 +450 -450 +450 -450 +900 -450 +450 -900 +900 -109200
Parse Bi-Phase:
   ( +450, ??? ) ...consume +1 to start a pair.
   ( +450, -450 ) ...consume -1 to finish a pair.
   ( +450, -450 ) ( +450, ??? ) ...consume +1 to start a pair.
   ( +450, -450 ) ( +450, -450 ) ...consume -1 to finish a pair.
   ( +450, -450 ) ( +450, -450 ) ( +450, ??? ) ...consume +1 to start a pair
   ( +450, -450 ) ( +450, -450 ) ( +450, -450 ) ( -450, ??? ) ...we have ( +1, ??? ) -N so it yields ( +1, -1 ) ( -(N-1), ??? ).
   ( +450, -450 ) ( +450, -450 ) ( +450, -450 ) ( -450, +450 ) ...consume +1 to finish a pair.
   ( +450, -450 ) ( +450, -450 ) ( +450, -450 ) ( -450, +450 ) ( -900, ??? ) ...consume -2 to start a pair.
   ( +450, -450 ) ( +450, -450 ) ( +450, -450 ) ( -450, +450 ) ( -900, +900 ) ...consume +2 to finish a pair.
   ...
   ...skipping to the end...
   ...
   ( ...bunch of logical pairs... ) ( +450, ??? ) ...up next is lead-out off time.
   ( ...bunch of logical pairs... ) ( +450, -450 ) ...finish our logical pair by taking -1 from lead-out.
Lead-out = -109200 - (-450) =-108750


Now, the other possibility is that we should have split up the off time of the lead-in time instead of finishing our last pair by taking from the lead-out... However, that way would have ended with an error...let's check it out:
Code:

Lead-in: +2650 -450 (took a -450 to start our first pair)
Remaining Input = -450 +450 -450 +450 -450 +450 -900 +450 -900 +900 -450 +450 -450 +450 -450 +450 -450 +450 -450 +450 -450 +450 -450 +900 -900 +450 -450 +450 -450 +450 -450 +450 -450 +450 -450 +450 -450 +900 -900 +450 -450 +450 -450 +450 -450 +900 -450 +450 -900 +900 -109200
Parse Bi-Phase:
   ( -450, ??? ) ...starting with the -1 from the lead-in.
   ( -450, +450 ) ...consume +1 to finish a pair.
   ( -450, +450 ) ( -450, ??? ) ...consume -1 to start a pair.
   ( +450, -450 ) ( +450, +450 ) ...consume +1 to finish a pair.
   ( +450, -450 ) ( +450, +450 ) ( -450, ??? ) ...consume -1 to start a pair.
   ( +450, -450 ) ( +450, +450 ) ( -450, +450 ) ...consume +1 to finish a pair.
   ( +450, -450 ) ( +450, +450 ) ( -450, +450 ) ( -900, ??? ) ...consume a -2 to start a pair.
   ( +450, -450 ) ( +450, +450 ) ( -450, +450 ) ( -900, ??? ) ...we have ( -2, ??? ) with +1 next which is not in our rules (needed to be +2 or higher).
   ERROR


So the only way to parse it was the first way, leaving the lead-in as ( +2650, -900 ) and finishing our last logical pair using some of the off-time of the lead-out.

I'm pretty sure I could do all of this automated within RMIR...so you wouldn't even have to pick an even/odd...it would figure it out automatically. I'm also fairly certain it could figure out if it's bi-phase automatically and so automatically applying the above bi-phase parsing (still with the option to uncheck it though and see raw times). What do you think?
Back to top
View user's profile Send private message
vickyg2003
Site Admin


Joined: 20 Mar 2004
Posts: 7073
Location: Florida

                    
PostPosted: Wed Aug 29, 2012 10:14 pm    Post subject: Reply with quote

Wow, no moss growing on you.

I think in RMIR you need something that doesn't decode. So here is an example that we were working on the other day.
http://www.hifi-remote.com/forums/dload.php?action=file&file_id=6404
Back to top
View user's profile Send private message Visit poster's website
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21234
Location: Chicago, IL

                    
PostPosted: Wed Aug 29, 2012 10:22 pm    Post subject: Reply with quote

Vyrolan wrote:
But the Bi-Phase dropdown in IR doesn't seem to have any effect on it...

for bi-phase, you need to enter a rounding time that is equal to one unit, so in this case you should enter 450

So, using the P&P/REW button, we start with this...

+2700 -900 +450 -450 +450 -450 +450 -900 +450 -900 +900 -450 +450 -450 +450 -450 +450 -450 +450 -450 +450 -450 +450 -450 +900 -900 +450 -450 +450 -450 +450 -450 +450 -450 +450 -450 +450 -450 +900 -900 +450 -450 +450 -450 +450 -450 +900 -450 +450 -900 +900 -109350

you can see the double wide pair that I mentioned in red, so counting back from there, I would determine that the first -900 that you see is part of a "+2700 -900" leadin pair, and the first bi-phase pair is the "+450 -450" that follows.

If I select EVEN, that first -900 pair is split between two pairs, so that's not the right option. When I select ODD, I get this...

+2700; -450 -450; +450 -450; +450 -450; +450 -450; -450 +450; -450 -450; +450 +450; -450 +450; -450 +450; -450 +450; -450 +450; -450 +450; -450 +450; -450 +450; +450 -450; -450 +450; -450 +450; -450 +450; -450 +450; -450 +450; -450 +450; -450 +450; +450 -450; -450 +450; -450 +450; -450 +450; -450 +450; +450 -450; +450 -450; -450 +450; +450 -109350;

next, I would fix the leadin and the double wide pairs manually to get this...

+2700 -900; +450 -450; +450 -450; +450 -450; -450 +450; -900 +900; -450 +450; -450 +450; -450 +450; -450 +450; -450 +450; -450 +450; -450 +450; +450 -450; -450 +450; -450 +450; -450 +450; -450 +450; -450 +450; -450 +450; -450 +450; +450 -450; -450 +450; -450 +450; -450 +450; -450 +450; +450 -450; +450 -450; -450 +450; +450 -109350;

and that can easily be converted into binary, like so...

+2700 -900; 1110 -900 +900; 00000001000000010000110 +450 -109350;
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
The Robman
Site Owner


Joined: 01 Aug 2003
Posts: 21234
Location: Chicago, IL

                    
PostPosted: Wed Aug 29, 2012 10:25 pm    Post subject: Reply with quote

Vyrolan wrote:
I'm pretty sure I could do all of this automated within RMIR...so you wouldn't even have to pick an even/odd...it would figure it out automatically. I'm also fairly certain it could figure out if it's bi-phase automatically and so automatically applying the above bi-phase parsing (still with the option to uncheck it though and see raw times). What do you think?

Give it a whirl, though I'd be curious to see how an automated approach would deal with the double wide pair that's in the RC6 (Replay) signal, but if you think it would work, I'd certainly like to see it.
_________________
Rob
www.hifi-remote.com
Please don't PM me with remote questions, post them in the forums so all the experts can help!
Back to top
View user's profile Send private message Visit poster's website
Vyrolan



Joined: 24 Aug 2012
Posts: 168
Location: Chicago, IL

                    
PostPosted: Wed Aug 29, 2012 10:41 pm    Post subject: Reply with quote

vickyg2003 wrote:
Wow, no moss growing on you.

I think in RMIR you need something that doesn't decode. So here is an example that we were working on the other day.
http://www.hifi-remote.com/forums/dload.php?action=file&file_id=6404

Aha...thanks Vicky I'll give it a whirl.

The Robman wrote:
Vyrolan wrote:
I'm pretty sure I could do all of this automated within RMIR...so you wouldn't even have to pick an even/odd...it would figure it out automatically. I'm also fairly certain it could figure out if it's bi-phase automatically and so automatically applying the above bi-phase parsing (still with the option to uncheck it though and see raw times). What do you think?

Give it a whirl, though I'd be curious to see how an automated approach would deal with the double wide pair that's in the RC6 (Replay) signal, but if you think it would work, I'd certainly like to see it.

I show detecting and properly parsing a double pair in my example above!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic       JP1 Remotes Forum Index -> JP1 - Software All times are GMT - 5 Hours
Goto page 1, 2, 3, 4, 5  Next
Page 1 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


 

Powered by phpBB © 2001, 2005 phpBB Group
Top 7 Advantages of Playing Online Slots The Evolution of Remote Control