Page 16 of 17

Back in the saddle ... almost

Posted: Mon Jul 07, 2008 9:10 am
by unclemiltie
Cap'n

thanks for the detailed analysis. I've actually started looking at IR stuff again since I've moved into my house and have started to get things hooked up. I was going to start to look at the extender again so this is perfect timing. (I will look at sriram's stuff as well)


Now all I have to do is remember what I did with the extender! It was a long time ago that I wrote that thing.


-bill

Posted: Mon Jul 07, 2008 9:59 am
by Capn Trips
Glad to see you back in the game, Bill, as I have also not had time until the summer got underway to focus on this extender testing. To clarify, I am happy that ToadTog and Multiplexer work. I have the basic functionality that I need, but the biggest hurdle has been setting up my device setup macros. I suspect that is because they naturally rely heavily on use of the X_DEV commands within Macros, LKPs, ToadTogs, etc, and they have simply not been successful. As I re-read my symptoms, I see that it can be quite confusing, so I will try to explain the basic case 1 scenario in a step-by-step (expected vs. actual) function to help you focus any searches for errors in the extender.
Capn Trips wrote: EXAMPLE 1: When I am ALREADY in TV mode (i.e. the keysets have been assigned to TV via the device selection macro on the TV button), the macros on A and B work correctly - that is, the TV Discrete ON and Discrete OFF are sent every time A or B is pressed. But the macros on C and D do NOT call the DVD's ON/OFF functions, but instead calls on the TV's ON/OFF functions, as if the X-DVD command was being ignored. The FIRST press sends the TV's power toggle signals, and seemingly SETS (or RESETS for B) the DVD's ToadTog flag! and subsequent presses send nothing.

So it acts like the DVD's ToadTog sequence is executing, but when the ToadTog tells the remote to send an actual signal, the TV signal is sent!
So,
STARTING STATE: M_TV, P_TV, C_TV, T_TV, O_TV, V_AUD
PRESS "C":

EXPECT:
X_DVD
DVD:PIP CH+ (which is a call to ToadTog)
If flag set: nothing
If flag not set: DVD: shift_POWER (shift-cloaked power toggle)

WHAT I GET:
X_DVD (sort of?)
DVD:PIP CH+ executes (in the sense that it calls the ToadTog)
If flag set: nothing
If flag not set: TV: shift_POWER is sent!

So it's like the X_DVD only affected the call to ToadTog, but did NOT affect the subsequent call to shift_POWER, which acted on the extant effective O-DEV setting.

Posted: Tue Jul 08, 2008 10:31 pm
by sriram
I bet if you changed the O_TV to O_DVD it will work (you'll of course have to move the macro key to something that's not on O_TV)

Posted: Wed Jul 09, 2008 5:06 am
by Capn Trips
sriram wrote:I bet if you changed the O_TV to O_DVD it will work (you'll of course have to move the macro key to something that's not on O_TV)
But that defeats the purpose of the device selection macro. I want the O_TV buttons to be active, not the O_DVD buttons. And this carries over to EVERY device selection macro and device setup sequence, so although you suggest a workaround, it still doesn't get the functionality desired (nor INTENDED) with the extender. The X_DEV command should make this work, but doesn't.

Posted: Wed Jul 09, 2008 6:03 pm
by sriram
I meant it more as something that might help narrow down the bug...

Posted: Wed Jul 09, 2008 8:01 pm
by unclemiltie
I spent some time with the code last night and can't figure this out. Everything in the X_command sequence gets the R_DevX set correctly. You can actually see this since the ToadTog does execute in your sequence.

What I'm beginning to believe is that something in the DoKeyMove part of the ROM mucks with something, but I check to see if R_DevX is valid for every key (pressed or in a macro). This is going to take a while to hunt down.

In the mean time, Cap'n since you have the IR file and the machines in the IR file can you do an experiment for me. If the commands in the "C" button macro are not a ToadTog (or any other special protocol) does the C button work as you would expect? This will help me narrow down where things are going wrong!

Thanks

-bill

Posted: Wed Jul 09, 2008 9:08 pm
by Capn Trips
No, the "C" button calls a ToadTog. I'll try to summarize:

A should execute TV: Discrete ON function every time
B should execute TV: Discrete OFF function every time
C should execute DVD: ToadTog Force ON (Power togggle first time, nothing thereafter)
D should execute DVD: ToadTog Force OFF (Power toggle the first time, nothing thereafter)

When initiallly in TV mode, A and B work correctly, C and D work like a ToadTog BUT ON THE TV device! i.e sends TV:Power Toggle the first time and nothing thereafter.

When initially in DVD mode, ALL FOUR buttons work like ToadTogs, with A and B operating the TV when the respective flag is set/clear while C and D operate the DVD when the respective flag is set/clear. I am certain that all four (A, B, C, and D) are in fact calling on the SAME ToadTog flag, even though A and B lead off with X_TV and C and D lead off with X_DVD. i.e if Iturn ON the TV with A, then C will NOT turn on the DVD, but D WILL (so the remote has the flag set from the A operation).

Posted: Thu Jul 10, 2008 2:35 pm
by unclemiltie
yes, I understood.

But, could you redefine something on C and D such that they do the X_DVD and then do some command on the DVD that is not a ToadTog (or any other special) and let me know if that does what is expected.

I think there is some interaction between the ToadTog and R_DevX that this will help me hunt down. (and it's probably easier for you to make this small change than it would be for me to load up your config, change all of the devices, etc)


thanks

Posted: Thu Jul 10, 2008 2:54 pm
by Capn Trips
Okey-dokey. Will give it a shot when I get home 2nite.

Posted: Fri Jul 11, 2008 5:36 am
by Capn Trips
Capn Trips wrote:Okey-dokey. Will give it a shot when I get home 2nite.
Rats! Ran out of time last night. Will try this weekend.

the Capn

Posted: Fri Jul 11, 2008 6:47 pm
by Capn Trips
OK, here's the next test file.

Four macros on A-D:
A:X_TV,1 (which should select input 1 on the TV)
B:X_TV, SHIFT-1 (which should execute a keymove on SHIFT-1 that selects input 4 on the TV)
C:X_CBL, MENU (which should select the Video on Demand on the Cable box)
D:X_CBL, SHIFT-MENU,X_TV, SHIFT-1 (which should select the Guide (via Keymove), followed by selecting input 4 (via Keymove) on the TV)
(Alternative D macro discussed below SHOULD execute VOD followed by input 4)

Test results:
Starting in TV mode -
A:selects input 1 - CORRECTLY
B:selects input 4 - CORRECTLY
C:selects VOD - CORRECTLY
D:selects VOD - INCORRECTLY - it executed the UNSHIFTED CBL/MENU command, like it was shift-cloaked, ignoring the keymove on shifted button and TV Input 4(CORRECTLY).

Starting in DVD mode:
A:selects input 1 - CORRECTLY
B:selects input 1 - INCORRECTLY, as in D above, ignores the Keymove on SHIFT-1 and executes the underlying shift-cloaked command
C:selects VOD - CORRECTLY
D:selects VOD INCORRECTLY - it executed the UNSHIFTED CBL/MENU command, like it was shift-cloaked, ignoring the keymove on shifted button and input 1 INCORRECTLY - it executed the UNSHIFTED "1" command, like it was shift-cloaked, ignoring the keymove on TV/SHIFT-1

If I start in CBL mode:
A:selects input 1 - CORRECTLY
B:selects input 1 - INCORRECTLY, as above, ignores the Keymove on SHIFT-1 and executes the underlying shift-cloaked command
C:selects VOD - CORRECTLY
D:selects Guide - CORRECTLY - and input 1 - INCORRECTLY - it executed the UNSHIFTED "1" command, like it was shift-cloaked, ignoring the keymove on TV/SHIFT-1

Additionally, I did a modified test (not included in this file, but easy to replicate)...
When you delete keymove 17 - this afffects only MACRO D - and re-test Macro D (i.e the CBL has no keymove on SHIFT-MENU, but the X_CBL, SHIFT-MENU sequence in that macro SHOULD execute the shift-cloaked VOD command) the results in each case are the same:
Selects shift-cloaked VOD - CORRECTLY and shift-cloaked TV input 1 (INCORRECTLY).

Note that this differs from the first (TV mode) case above, in that when there WAS A KEYMOVE on the first command called in the macro (CBL/MENU), there was an effect on the following TV command - it executed (correctly) the keymoved command in the first case, but failed to do so (incorrectly) and executed the underlying shift-cloaked command in the second.

Hope this helps you figure out where and how the remote is trying to keep track of active devices.

P.S. A shout out to Tommy Tyler, who's newest JP1.3 USB interface is performing MARVELOUSLY, and I it's very soothing to watch the LED's flicker during up/down-loads. He's truly one of the keystones of the efforts here.

Posted: Fri Jul 11, 2008 11:15 pm
by greenough1
Hi Capn and Unclemiltie,
Glad to see you guys are still banging on this one. I just checked in to see if there was any progress.

It's been awhile, but my recollection is that I was bitten by what Capn has carefully documented. If I had a macro defined on a key that needed X_ device selection, in my limited tested, it would not work. Capn's uncovered some wierd connection to shift-cloaking and temporary device selection.

Thank you all for your time on this. Best, jeff

by george, I think I've got it....

Posted: Wed Jul 16, 2008 1:21 pm
by unclemiltie
Sriram has updated his config with a new version of the extender and all appears to be well. I've finally tracked down and fixed the device selection issues (kudos to Binky who put me on the right path and to Cap'n Trips who gave me a whole bunch of test cases to finally figure it out)

Anyway, I'll be packaging up a new update in the next couple of days. If anyone else wants to be a test case, PM me with your direct email address and I'll shoot the HEX files over at you. (tell me which remote you are using) If this release appears to be stable, this will likely turn into the Atlas 3000 and 3033 Extender version 1.0!


-bill

Posted: Thu Jul 17, 2008 10:04 pm
by Evan_s
I got the Hex files and managed to get my setup created on a ocap 3033 remote. So far it seems to be working fine for everything except 1 thing. I use LKPs on 3 device keys. The way I have it setup is the basic device selection runs and then calls an lkp on X-Shift of that device key. The short side does nothing but the long side does several steps to get all my devices on the correct inputs. This is working fine on the cable and tv devices that set my system up for watching my DirecTV receiver and the TV's built in tuner respectively. It isn't however working on my DVD device which should switch the tv and receiver to different inputs and send the open command to my Toshiba hda2 to open the tray which turns it on if it's not. The upgrade works fine for controlling the DVD player and the other LKPs for the dvd device work fine. I've double and triple checked the dvd macro and the lkp on xshift dvd and everything looks fine to me. As far as I can tell none of the LKP is executing at all.

The file is at http://www.hifi-remote.com/forums/dload ... le_id=5663

Does anyone see anything wrong with my setup? I'll try to do some more testing tomorrow night but I've run out of time for tonight.

Posted: Fri Jul 18, 2008 3:57 pm
by greenough1
Hi Evan,
I use LKP also and will test the new code tonight. I'll post back what I learn.
Best,
jeff