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

Context switching buttons?

 
Post new topic   Reply to topic    JP1 Remotes Forum Index -> JP1 - Beginners
View previous topic :: View next topic  
Author Message
raycmaple



Joined: 13 Nov 2003
Posts: 13

                    
PostPosted: Fri Nov 21, 2003 8:10 pm    Post subject: Context switching buttons? Reply with quote

Hello,
Great site! I've been lurking for a while, and plan to buy a 15-2116 to play with in the near future. In the meantime, I've been reading a lot, collecting information, and developing my initial "plan of attack". I found a device file on the Yahoo site that matches my VCR (JVC setup 0067) pretty well, but noticed that it assigned the vol and pip buttons to timed record start up/down, stop up/down, date up/down. While these are logical assignments (they match the location of those buttons on the OEM remote), these functions are only used after a button press to start the recoding setup. It occured to me that it would be nice if these function bindings were only active during that time. At first glance it looks like this would require the ability to do dynamic key moves from within a macro, which I haven't seen any mention of, so I assume they don't exit. Looking at the docs for ext2, it looks like it wouldn't be difficult to achieve a similar effect if there was a duplicate device set up with just the special context buttons established, so long as the context set was restricted to the extension button groupings. However, using this approach, one would require a large number of virtual devices if a lot of context switching on the same buttons was needed. (For example, it one wanted to use the up/down arrows for each of the above functions, and use the left/right arrows to switch between date, start, stop, etc., it would require 3 additional devices just for that function. Am I missing something? Is there another way to achieve this effect?

Thanks,
Ray
Back to top
View user's profile Send private message
johnsfine
Site Admin


Joined: 10 Aug 2003
Posts: 4766
Location: Bedford, MA

                    
PostPosted: Fri Nov 21, 2003 8:23 pm    Post subject: Reply with quote

I only half understand how you intend to enter the special mode and don't understand at all how you intend to exit it. The important thing is that YOU first understand the intended behavior (which button presses when do what to the effective state of the remote).

Once you know the intended behavior, there are several ways to achieve it. The ToadTog protocol is the most obvious. Another obvious way is to use a whole device mode for it. Another way is to use a setup code and the device multiplexor or device toggler protocol. Each of those ways uses significant resources within the remote, but if those resources are available after everything else you want the remote to do, there's no reason to leave them unused vs. using a lot of resources on even a small feature.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Nils_Ekberg
Expert


Joined: 02 Aug 2003
Posts: 1689
Location: Near Albany, NY

                    
PostPosted: Fri Nov 21, 2003 8:25 pm    Post subject: Reply with quote

The simple answer to your questions is that no "dynamic button assignments" are not available. There are however ways to make it appear that that is happening. One way is by using dynamic device selection by setting up more than one device upgrade for the same device and having a macro switch devices depending on what series of buttons you press. This is tough (for me) to explain but you can read up on the dynamic device selection special protocol.

This is only one of many possibilities but may not be worth attempting since more than likely those button will send a signal but not do anything unless the VCR is in record set up mode.

Enjoy your reading and tinkering but don't knock yourself out with ideas until you can try them as that is when the fun starts.
_________________
Nils
Files Section
Diagnosis File Section
Back to top
View user's profile Send private message Send e-mail
raycmaple



Joined: 13 Nov 2003
Posts: 13

                    
PostPosted: Fri Nov 21, 2003 10:13 pm    Post subject: Reply with quote

Hello again,
Thanks for the responses. I've always been one to jump right into the deep end with something like this! I've been writing parsers and user interfaces for engineering research software for about 15 years, and my approach has always been to figure out what I want first, then find out if it can be done, then figure out how to make it happen if it "can't".

Re how the special state would exit, ANY context sensitive behavior has to to have clear entry and exit events. In the case of setting up a timer record with my vcr, a press of a "prog" button is required to bring up the timer record set up screen, and a second press of the prog button is required to save and exit the vcr recording setup. Six of the buttons used while this screen is up are dedicated buttons that are only meaningful while that screen is active. I hate to lose the button real estate to something like this. (yes, putting them on shifted buttons would get them out of the way, but would be very inconvenient when they did need to be used - sort of like moving your volume buttons to the shifted state)

I understand how to get context sensitive behavior via multiple devices using the extender, if not the special protocol (that is what I was trying to describe in my original post - must have failed) but realize that it would consume a lot of memory, to store the extra devices, thus the question about other approaches.

I've read the toadtog docs and understand what it does, but hadn't thought of using it this way. I'll have to think about it. Stupid question, but if toadtog can (apparently) write to the eprom to change the state of its toggle bits, couldn't a protocol be written to change an EFC on the fly if it had the correct address, which IR must know, since it generates the eprom image that is downloaded? I'd try it myself if I only I could write it in C.

At this point, even wanting to do any this is conjecture of course - just feeling out the possible from the impossible, and waiting eagerly for the real fun to begin. It won't be long now!

Thanks for your patience.
Ray
Back to top
View user's profile Send private message
johnsfine
Site Admin


Joined: 10 Aug 2003
Posts: 4766
Location: Bedford, MA

                    
PostPosted: Fri Nov 21, 2003 11:17 pm    Post subject: Reply with quote

raycmaple wrote:
I've read the toadtog docs and understand what it does, but hadn't thought of using it this way. I'll have to think about it. Stupid question, but if toadtog can (apparently) write to the eprom to change the state of its toggle bits, couldn't a protocol be written to change an EFC on the fly if it had the correct address, which IR must know, since it generates the eprom image that is downloaded? I'd try it myself if I only I could write it in C.


ToadTog does not write to the eeprom. The remote has registers and ram that can both be read and written easily, in addition to the eeprom that is hard to read and write. Counterintuitively, the ram is a for very temporary use (less than the duration of one key press) but some of the registers can be used for stable data. Toadtog uses a register.

A protocol could write to eeprom, but that's very hard. Given the limited space for storing protocols it just isn't a practical approach.

It's a very tight programming environment for asm programming. There isn't anywhere near enough space for C compiled code.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
raycmaple



Joined: 13 Nov 2003
Posts: 13

                    
PostPosted: Sat Nov 22, 2003 12:12 am    Post subject: Reply with quote

Ah, back to the good old days, when a programmer was handed a memory budget of a few bytes. I knew a compiled language was not applicable - just wishful thinking. As an aero engineer, I've never had a reason to work with assembly, other than to analyze some disassembled compiled code. Do you folks have an assembler/disassembler, or do you write and analyze machine code by hand? In any case, my hat's off to you. What you have accomplished is amazing.

I'm very surprised there is a free register available to store data with any kind of persistance.

Later,
Ray
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 - Beginners All times are GMT - 5 Hours
Page 1 of 1

 
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