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

Radio Shack 15-100 Extender
Goto page Previous  1, 2, 3, 4  Next
 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - Extenders
View previous topic :: View next topic  
Author Message
unclemiltie
Expert


Joined: 21 Jan 2004
Posts: 1795
Location: Pittsburgh, PA

                    
PostPosted: Wed Feb 25, 2009 9:33 pm    Post subject: Reply with quote

I have to look at this, there really should be no difference in how the Discrete keys ($40, $80) and the Phantoms work.

Not only that, the code in that area of the extender is the same as the Atlas (and it uses the same key values) hmmmm....
_________________
this JP1 stuff is a sickness!
Back to top
View user's profile Send private message
unclemiltie
Expert


Joined: 21 Jan 2004
Posts: 1795
Location: Pittsburgh, PA

                    
PostPosted: Thu Feb 26, 2009 12:46 am    Post subject: Reply with quote

I took a look at your files but there is too much in there for me to isolate an extender bug. So, I boiled things down to just a little and didn't see any issues.

What I did was define 4 macros on keys 4/6 and 7/9

They were: 4: X_DVD,Phantom1
6: X_DVD,Phantom2


7: X_DVD,DiscreteOn
9: X_DVD,DiscreteOff

then in the special tab I defined both Phantom1 and DiscreteOn as the same thing (already on='1', off-on='2') and Phantom2 and Discrete off as the same thing (on-off='3' and already off='5')

Then uploaded to a V0.02 extender. Both behave identically.

So, I'd say that you have an issue with the way that you built your keymoves and upgrades.


-bill

(PS. This is the expected behavior since the extender really can't tell the difference between a key that is not a "shift" type key or a device selection key like the X_dev stuff. Everything else goes through the same code path so I can't see how they would behave different)


-bill
_________________
this JP1 stuff is a sickness!
Back to top
View user's profile Send private message
pH7_jp1



Joined: 14 Sep 2003
Posts: 480
Location: Sterling Heights, MI

                    
PostPosted: Thu Feb 26, 2009 9:56 am    Post subject: Reply with quote

The fact that you added X_DVD at the start of each macro is what made it work for you. My intention was that M1 and M1 test Discrete On/Off for the current device.

I have built a completely new file to demonstrate. I started with my original save of my new 15-100, installed the extender and the created the 4 macros and 8 ToadTogs that you see - nothing else. The intent of my macros are to test Discrete On/Off and Phantom 1/2 for the current device. The only devices supported are Sat/CBL and DVD. The tests of Phantom 1/2 work as expected. The tests of Discrete On/Off send nothing.

Here is the file: http://www.hifi-remote.com/forums/dload.php?action=file&file_id=6302
Back to top
View user's profile Send private message
unclemiltie
Expert


Joined: 21 Jan 2004
Posts: 1795
Location: Pittsburgh, PA

                    
PostPosted: Thu Feb 26, 2009 10:16 am    Post subject: Reply with quote

All of the "special" protocols are done as keymoves so will ALWAYS need to match the current device. This extender is no different than any other in this respect.
_________________
this JP1 stuff is a sickness!


Last edited by unclemiltie on Thu Feb 26, 2009 11:53 am; edited 1 time in total
Back to top
View user's profile Send private message
pH7_jp1



Joined: 14 Sep 2003
Posts: 480
Location: Sterling Heights, MI

                    
PostPosted: Thu Feb 26, 2009 11:07 am    Post subject: Reply with quote

Quote:
All of the "special" protocols are done as keymoves so will ALWAYS need to match the current device. This extended is no different than any other in this respect.
That makes sense, but I'm not sure I understand what it means to this problem. The correct special protocol keymove will be invoked because it is defined for the current device. That is, the current device determines which one is invoked. Again, I have 2 examples there, one that works and one that doesn't and the only difference is whether the special protocols are defined on the Discrete keys or Phantom keys.
Back to top
View user's profile Send private message
pH7_jp1



Joined: 14 Sep 2003
Posts: 480
Location: Sterling Heights, MI

                    
PostPosted: Thu Feb 26, 2009 11:22 am    Post subject: Reply with quote

Maybe I need to explain how I am testing.

I push the Sat/CBL device button and then the TV/VCR button multiple presses. I see the "1" for the Dish Satelite device sent on the first press and "2" for that device sent for each subsequent press untill I do the same for the ENTER button when I see "3" for the first press and "4" for subsequent presses. If I then push the DVD device button and repeat the above test, I see the correct buttons for the Sony DVD device sent. All this is just as I expected.

If instead, I use the M1 and M2 buttons, no commands are sent by the remote.
Back to top
View user's profile Send private message
unclemiltie
Expert


Joined: 21 Jan 2004
Posts: 1795
Location: Pittsburgh, PA

                    
PostPosted: Thu Feb 26, 2009 12:54 pm    Post subject: Reply with quote

pH7_jp1 wrote:
Quote:
All of the "special" protocols are done as keymoves so will ALWAYS need to match the current device. This extended is no different than any other in this respect.
That makes sense, but I'm not sure I understand what it means to this problem. The correct special protocol keymove will be invoked because it is defined for the current device. That is, the current device determines which one is invoked. Again, I have 2 examples there, one that works and one that doesn't and the only difference is whether the special protocols are defined on the Discrete keys or Phantom keys.


Your Phantom1/Phantom 2 keys are located on CBL/SAT and the Don/Doff are located on DVD. Unless there is something in front of those that will set the device to match, those keys will never be executed since the device does not match.

Now a word about "current device" in most of these extenders.

The base remote has this concept of current (and active) device that is the last device button pushed. When you do a keymove, the advance code area is searched for an a keymove that matches the device AND the key that you pushed (Macros are different, they only look for keys) So, any keymove has to be tied to the current device.

The extenders don't necessarily have a "current" device, they check every keypress to figure out which keyset the key falls into, then set the active device to match the keyset. The only time this does not happen is when you have put an X_dev in front of things, which lasts until there are no more keys. The keys that are not in the key lists (like Don an Doff, the phantoms, etc) are in the O_ list. So, in order for the last device to match what you are looking for in the keymove (special protocol) you either have to have the current O_device set to match or you need an X_dev to set the temporary device.

Now, back to your IR file. M1/M2 When M1/M2 are tied to phantoms, the M1/M2 buttons will work when the O_device is CBL/SAT or if there is an X_dev in front of the call to the macro (which you don't have) So, the macros are working since you probably have the O_device set right.

When the M1/M2 buttons are tied to Don/Doff, this is in DVD mode. If the device doesn't match, then you will get nothing from the remote. (which you are getting)


I hope that helps, but it appears that the extender is behaving as designed.
_________________
this JP1 stuff is a sickness!
Back to top
View user's profile Send private message
unclemiltie
Expert


Joined: 21 Jan 2004
Posts: 1795
Location: Pittsburgh, PA

                    
PostPosted: Thu Feb 26, 2009 12:59 pm    Post subject: Reply with quote

pH7_jp1 wrote:
Quote:
All of the "special" protocols are done as keymoves so will ALWAYS need to match the current device. This extended is no different than any other in this respect.
That makes sense, but I'm not sure I understand what it means to this problem. The correct special protocol keymove will be invoked because it is defined for the current device. That is, the current device determines which one is invoked. Again, I have 2 examples there, one that works and one that doesn't and the only difference is whether the special protocols are defined on the Discrete keys or Phantom keys.


One more thing.... (I briefly said this in the last post but more detail here)

The extenders process ALL keys as if they are macros. A single key press is pushed on to the macro stack and then processed by the extender as a one-key macro. This makes the code more compact.

The reason that I say this is that the extender also will clear the temporary device (X_dev) at the end of processing all of the keys as it exists and starts to wait for a new key press. So, if you have a X_dev somewhere and expect that it is going to carry over to the next keypress, you will not get the behavior that you expect. This is why I put X_dev's in front of the calls to the Phantom's and Discrete's in my test IR file.

(it also makes redundant the X_Cancel's that you have at the end of many of your specials and macros. You're going to get one of those anyway, so no need to use the space)
_________________
this JP1 stuff is a sickness!
Back to top
View user's profile Send private message
pH7_jp1



Joined: 14 Sep 2003
Posts: 480
Location: Sterling Heights, MI

                    
PostPosted: Thu Feb 26, 2009 4:21 pm    Post subject: Reply with quote

Most of your comments sound like you are still referring to my original 2 IR files. I have deleted them from the Diagnotic area and I an only referring to the most recent, single file: probtest.ir located at http://www.hifi-remote.com/forums/dload.php?action=file&file_id=6302

Quote:
Your Phantom1/Phantom 2 keys are located on CBL/SAT and the Don/Doff are located on DVD. Unless there is something in front of those that will set the device to match, those keys will never be executed since the device does not match.
That is not the case in the referenced file. I have Phantom1/2 defined for both CBL/SAT and for DVD. I also have Don/Doff defined for both devices.

Quote:
So, in order for the last device to match what you are looking for in the keymove (special protocol) you either have to have the current O_device set to match...
I do, because they are executed when the device keys are pressed. (I left your default device key definitions alone.)
Quote:
... or you need an X_dev to set the temporary device.
True, I do not, but since the O_dev is set correctly from the last device button push, it seems it should not be necessary.

Quote:
Now, back to your IR file. M1/M2 When M1/M2 are tied to phantoms, the M1/M2 buttons will work when the O_device is CBL/SAT or if there is an X_dev in front of the call to the macro (which you don't have) So, the macros are working since you probably have the O_device set right.

When the M1/M2 buttons are tied to Don/Doff, this is in DVD mode. If the device doesn't match, then you will get nothing from the remote. (which you are getting)
This is what leads me to believe that you are still talking about the original 2 IR files, since this is not the case in my current probtest.ir file. In the current one, the TV/VCR button and ENTER buttons invoke the Phantom1 and Phantom2 keymove. If the most recent device button was SAT/CBL, when the TV/VCR or ENTER button is pressed the SAT/CBL versions of the Phantom1/2 keymoves are invoked and send the correct commands for the SAT/CBL device. If the most recent device button was DVD, when the TV/VCR or ENTER button is pressed the DVD versions of the Phantom1/2 keymoves are invoked and send the correct commands for the DVD device. I assume that this works because the last device button press set either O_CBL or O_DVD. Using IRScope, I have observed the commands being sent and verified that they are indeed correct for the last device button that was pressed. In other words, it works just as I expect.

Quote:
(it also makes redundant the X_Cancel's that you have at the end of many of your specials and macros. You're going to get one of those anyway, so no need to use the space)
Again, this sounds like you were looking at the older version. The only place I use X_Cancel is at the end of the 4 macros and they are not there for the purpose you thought. I didn't want the last command to be repeated because the button was held down a bit too long. (It was just to make the IR Scope results easier for me to read.)

As I mentioned before, I tried to keep this new version more straightforward than the earlier examples.
- I started with a bare 15-100 and installed the extender
- I added only 4 macros and 8 ToadTogs, nothing else
- This time I added minimal comments
- The 4 Phantom keymoves and the 4 Discrete keymoves are exactly the same (except for the ToadTog bit they use of course).
- The behavior is different when using the TV/VCR - ENTER pair of button vs the M1 - M2 pair of buttons and the only difference I see in my implementation is the use of Phantom in the case that works and Discrete in the case that does not.
Back to top
View user's profile Send private message
unclemiltie
Expert


Joined: 21 Jan 2004
Posts: 1795
Location: Pittsburgh, PA

                    
PostPosted: Thu Feb 26, 2009 11:00 pm    Post subject: Reply with quote

OK, some thing truly odd is going on here. The Discrete On and Discrete Off keys aren't even getting processed by the extender. I don't understand it and have been staring at the code for the past two hours and can't figure it out.

Can you do an experiment for me and let me know the result. Change the Discrete On/Off keys to Phantom 7 and Phantom 8 and let me know what happens. If that works, I think it'll be easier to just move the values of the Discrete's and move on. There must be something going on with using "Shift-$00 and XShift-$00" that has never hit me in another remote.

-bill
_________________
this JP1 stuff is a sickness!
Back to top
View user's profile Send private message
unclemiltie
Expert


Joined: 21 Jan 2004
Posts: 1795
Location: Pittsburgh, PA

                    
PostPosted: Thu Feb 26, 2009 11:33 pm    Post subject: Reply with quote

OK, more testing under my belt. I don't know why but the key values of $40 for DiscreteOn and $80 for DiscreteOff are not going to work. (they worekd fine in the Atlas and 15-13x extender, who'd have thought that this would be an issue)

Anyway, there is a fix, it will be in V0.03 of the extender. In the mean time if you want to do what I'm going to do yourself, you can edit the RDF and change the definition of the Discrete On and Discrete Off key from

Discrete On: was $40, new $C5
Discrete Off: was $80, new $C6

This should fix your problem and hopefully won't introduce any new issues. Anyone who does this now has to rebuild any keymoves, macros or specials that use those keys!


(This will be the new key values for those in V0.03. Although I could spend forever chasing this down, there is room in the key map to change the keys and just not use those old values, which is much simpler than trying to figure out what went wrong in this specific remote!)

-bill
_________________
this JP1 stuff is a sickness!
Back to top
View user's profile Send private message
pH7_jp1



Joined: 14 Sep 2003
Posts: 480
Location: Sterling Heights, MI

                    
PostPosted: Fri Feb 27, 2009 6:54 am    Post subject: Reply with quote

EXCELLENT! Thank you very much for spending the time to look at this problem.

I have another very odd problem coming, but I haven't done enough experimenting to determine if it might be my problem, an extender problem, an IR problem, or an RDF problem and I won't have the time to look until after the weekend.

Thanks again for doing this extender. I am taking this 15-100 to my friend's house this weekend and setting it up for his system. This is the first time I have ever set one up completely without having the devices in front of me to test while doing the programming. I have pretty much checked it out using IR Scope, as you know. Smile If the updates I chose really operate his devices, I will be done quickly.
Back to top
View user's profile Send private message
mr_d_p_gumby
Expert


Joined: 03 Aug 2003
Posts: 1370
Location: Newbury Park, CA

                    
PostPosted: Fri Feb 27, 2009 3:26 pm    Post subject: Reply with quote

unclemiltie wrote:
OK, more testing under my belt. I don't know why but the key values of $40 for DiscreteOn and $80 for DiscreteOff are not going to work. (they worekd fine in the Atlas and 15-13x extender, who'd have thought that this would be an issue)
Actually, I think the Atlas may turn out to be the exception rather than the rule. I don't think I've seen any other extenders try to use key code 0 (unshifted or shifted) before. I know I've run across cases where key code 0 is treated as "no key down", so it might depend on where & how this test is done as to whether the shifted versions would work.
_________________
Mike England
Back to top
View user's profile Send private message
pH7_jp1



Joined: 14 Sep 2003
Posts: 480
Location: Sterling Heights, MI

                    
PostPosted: Sat Feb 28, 2009 7:08 pm    Post subject: Reply with quote

In the default macros (version 0.2 beta):

DVD macro is missing T_DVD and
PVR macro is missing V_PVR

You probably want to include them for completeness.
Back to top
View user's profile Send private message
mathdon
Expert


Joined: 22 Jul 2008
Posts: 4523
Location: Cambridge, UK

                    
PostPosted: Thu Mar 05, 2009 6:55 am    Post subject: Reply with quote

I haven't looked at this thread till today. Here's the current situation. I uploaded IR 8.00 Beta 5 yesterday. It now accepts two values of the RDFspec parameter, 3 and 4. The intention is that RDFs that use the enhancements to RDF syntax introduced for IR 8.00, such as the second parameter in TimeAddr, should use RDFsync=4. This will prevent earlier versions of IR from loading them as they only accept RDFspec=3.

The second parameter, BCD12, in the TimeAddr entry still causes RM to fail so for the time being you need to keep an RDF3 file for use with RM. I could have used a second entry, TimeFormat, as Mike suggests but it is one of a number of syntax enhancements that all cause problems for RM at present. My hope is that Greg will make the next RM version accept the RDF4 syntax by extracting from it the RDF3 data, then all will be compatible again. There is further discussion of the compatibility problems here.
____________________

Graham
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 - Extenders All times are GMT - 5 Hours
Goto page Previous  1, 2, 3, 4  Next
Page 2 of 4

 
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