Page 1 of 1

Multiple Commands

PostPosted: Sat Jun 12, 2004 9:51 pm
by MurrayW
I have an RCA DTC-100 HD STB that I control using my USB-UIRT and girder. I have a discrete code for changing the input to the DirecTV satelite signal but not a corresponding discrete code for OTA signals. There is a toggle button between DirecTV and OTA that I have learned from my remote.

To ensure that I am on the OTA signal, I thought I could send the discrete code for DirecTV and follow that with the DirecTV/OTA toggle code. This is what I've tried but haven't had any luck with any of these approaches:

1. I tried using a multi-group in girder with the DirecTV event listed first followed by the toggle event.

2. I pasted the toggle code into the Code 2 line of the DirecTV event (the DirecTV code was in the Code 1 line). I tried different repeat numbers and wait times with no luck.

3. I put in the event name for the Toggle code in the "Do when finished" line of the DirectTV signal code with no luck.

Please let me know what I am doing wrong and what the best way of accomplishing this is.

thanks,

MurrayW

PostPosted: Sun Jun 13, 2004 7:48 pm
by Treetop
Hey Murray,
I'm sure you've already done this, but just to make sure...

Try placing a "wait" command inbetween the DTV and Toggle command, maybe 500ms, in the multigroup. I had a similiar situation for changing the inputs on my TV, but with consistency... had to go to channel 0,2 (cable) and then give the proper amounts of "input" commands. Had to place a wait command inbetween the input commands so they wouldn't be blocked by the tv itself.

With regards to #2 and #3... not sure, as I've never tried those options in the driver configuration.

Just an idea..

Treetop

PostPosted: Sun Jun 13, 2004 9:52 pm
by jrhees
Yes, #2 and #3 won't work. The 'Code2' box is not for this purpose. Most boxes require time to 'process' the IR commands, and also expect to see 'dead time' between IR commands (finger removed from remote control button). So, you'll need to have a multigroup with the two commands and a wait in between. You'll know the 'wait' is working by looking at the USB-UIRT's LED during mutigroup execution. Adjust the wait as necessary until the set-top-box works.

-Jon

PostPosted: Mon Jun 14, 2004 4:23 pm
by MurrayW
Treetop and Jon thanks for the replies.

I did try putting in a wait command, but I must not have the correct syntax. I'm not at home so I can't post the exact code I used, but when I watched the multi-group processing it seemed to pass right over the wait step to the toggle step without any pause -- and I definitely had enough time where I should have seen a pause.

Could you let me know how I should configure the wait command or point me towards an example that has it.

thanks,

Murray

PostPosted: Mon Jun 14, 2004 4:38 pm
by Treetop
Hey Murray,

Copy and Paste this into notepad... just save it with a .gml file extension and open it in girder. This is a segment of my input commands to change it to the satellite input on my tv.

Code: Select all
<?xml version="1.0" encoding="UTF-8" ?>
- <Girder>
- <Group Name="Sat. Input and Wait commands" Identifier="17491" Enabled="TRUE">
- <MultiGroup Name="Satellite - input 4" Identifier="17492" Enabled="TRUE">
  <StateCount>1</StateCount>
  <StateBegin>1</StateBegin>
  <StateCurrent>1</StateCurrent>
  <StateInvert>FALSE</StateInvert>
- <Command Name="0" Identifier="17493" Enabled="TRUE">
  <StateCount>1</StateCount>
  <StateBegin>1</StateBegin>
  <StateCurrent>1</StateCurrent>
  <StateInvert>FALSE</StateInvert>
  <OSD>FALSE</OSD>
  <Submatch>FALSE</Submatch>
  <Topmost>TRUE</Topmost>
  <OneMatch>FALSE</OneMatch>
  <UseVar>FALSE</UseVar>
  <MatchHidden>FALSE</MatchHidden>
  <MatchNum>1</MatchNum>
  <ActionType>75</ActionType>
  <ActionSubType>1</ActionSubType>
  <sValue1>03481D05230F2305000022AA08000000000000000000000000|839B1D04230F230400008800020000000000000000</sValue1>
  <iValue2>4</iValue2>
  <bValue1>FALSE</bValue1>
  <bValue2>FALSE</bValue2>
  <bValue3>FALSE</bValue3>
  <lValue1>321</lValue1>
  </Command>
- <Command Name="2" Identifier="17494" Enabled="TRUE">
  <StateCount>1</StateCount>
  <StateBegin>1</StateBegin>
  <StateCurrent>1</StateCurrent>
  <StateInvert>FALSE</StateInvert>
  <OSD>FALSE</OSD>
  <Submatch>FALSE</Submatch>
  <Topmost>TRUE</Topmost>
  <OneMatch>FALSE</OneMatch>
  <UseVar>FALSE</UseVar>
  <MatchHidden>FALSE</MatchHidden>
  <MatchNum>1</MatchNum>
  <ActionType>75</ActionType>
  <ActionSubType>1</ActionSubType>
  <sValue1>03B01D05230F23040000080002000000000000000000000000|83341D04230F23040000A2AA080000000000000000</sValue1>
  <iValue2>4</iValue2>
  <bValue1>FALSE</bValue1>
  <bValue2>FALSE</bValue2>
  <bValue3>FALSE</bValue3>
  <lValue1>321</lValue1>
  </Command>
- <Command Name="Input" Identifier="17495" Enabled="TRUE">
  <StateCount>1</StateCount>
  <StateBegin>1</StateBegin>
  <StateCurrent>1</StateCurrent>
  <StateInvert>FALSE</StateInvert>
  <OSD>FALSE</OSD>
  <Submatch>FALSE</Submatch>
  <Topmost>TRUE</Topmost>
  <OneMatch>FALSE</OneMatch>
  <UseVar>FALSE</UseVar>
  <MatchHidden>FALSE</MatchHidden>
  <MatchNum>1</MatchNum>
  <ActionType>75</ActionType>
  <ActionSubType>1</ActionSubType>
  <sValue1>03861D05230F230500000A0202000000000000000000000000|835D1D04230F23040000A0A8080000000000000000</sValue1>
  <iValue2>4</iValue2>
  <bValue1>FALSE</bValue1>
  <bValue2>FALSE</bValue2>
  <bValue3>FALSE</bValue3>
  <lValue1>321</lValue1>
  </Command>
- <Command Name="wait" Identifier="17496" Enabled="TRUE">
  <StateCount>1</StateCount>
  <StateBegin>1</StateBegin>
  <StateCurrent>1</StateCurrent>
  <StateInvert>FALSE</StateInvert>
  <OSD>FALSE</OSD>
  <Submatch>FALSE</Submatch>
  <Topmost>TRUE</Topmost>
  <OneMatch>FALSE</OneMatch>
  <UseVar>FALSE</UseVar>
  <MatchHidden>FALSE</MatchHidden>
  <MatchNum>1</MatchNum>
  <ActionType>1</ActionType>
  <ActionSubType>7</ActionSubType>
  <iValue1>500</iValue1>
  <bValue1>FALSE</bValue1>
  <bValue2>FALSE</bValue2>
  <bValue3>FALSE</bValue3>
  </Command>
- <Command Name="Input" Identifier="17497" Enabled="TRUE">
  <StateCount>1</StateCount>
  <StateBegin>1</StateBegin>
  <StateCurrent>1</StateCurrent>
  <StateInvert>FALSE</StateInvert>
  <OSD>FALSE</OSD>
  <Submatch>FALSE</Submatch>
  <Topmost>TRUE</Topmost>
  <OneMatch>FALSE</OneMatch>
  <UseVar>FALSE</UseVar>
  <MatchHidden>FALSE</MatchHidden>
  <MatchNum>1</MatchNum>
  <ActionType>75</ActionType>
  <ActionSubType>1</ActionSubType>
  <sValue1>03861D05230F230500000A0202000000000000000000000000|835D1D04230F23040000A0A8080000000000000000</sValue1>
  <iValue2>4</iValue2>
  <bValue1>FALSE</bValue1>
  <bValue2>FALSE</bValue2>
  <bValue3>FALSE</bValue3>
  <lValue1>321</lValue1>
  </Command>
- <Command Name="wait" Identifier="17498" Enabled="TRUE">
  <StateCount>1</StateCount>
  <StateBegin>1</StateBegin>
  <StateCurrent>1</StateCurrent>
  <StateInvert>FALSE</StateInvert>
  <OSD>FALSE</OSD>
  <Submatch>FALSE</Submatch>
  <Topmost>TRUE</Topmost>
  <OneMatch>FALSE</OneMatch>
  <UseVar>FALSE</UseVar>
  <MatchHidden>FALSE</MatchHidden>
  <MatchNum>1</MatchNum>
  <ActionType>1</ActionType>
  <ActionSubType>7</ActionSubType>
  <iValue1>500</iValue1>
  <bValue1>FALSE</bValue1>
  <bValue2>FALSE</bValue2>
  <bValue3>FALSE</bValue3>
  </Command>
- <Command Name="Input" Identifier="17499" Enabled="TRUE">
  <StateCount>1</StateCount>
  <StateBegin>1</StateBegin>
  <StateCurrent>1</StateCurrent>
  <StateInvert>FALSE</StateInvert>
  <OSD>FALSE</OSD>
  <Submatch>FALSE</Submatch>
  <Topmost>TRUE</Topmost>
  <OneMatch>FALSE</OneMatch>
  <UseVar>FALSE</UseVar>
  <MatchHidden>FALSE</MatchHidden>
  <MatchNum>1</MatchNum>
  <ActionType>75</ActionType>
  <ActionSubType>1</ActionSubType>
  <sValue1>03861D05230F230500000A0202000000000000000000000000|835D1D04230F23040000A0A8080000000000000000</sValue1>
  <iValue2>4</iValue2>
  <bValue1>FALSE</bValue1>
  <bValue2>FALSE</bValue2>
  <bValue3>FALSE</bValue3>
  <lValue1>321</lValue1>
  </Command>
  </MultiGroup>
  </Group>
  </Girder>


Hope this helps (and works) for you. If not, you can look at my old .gml file on my website.

Treetop

PostPosted: Mon Jun 14, 2004 6:41 pm
by MurrayW
Thanks Treetop...I'll give it a try!

PostPosted: Mon Jun 14, 2004 7:52 pm
by Treetop
No worries,

I guess I could have just told you to add a command inbetween the two. Go to the Window Tab, scroll down to wait, and in the timeout box, place 500. But where's the fun in that :roll:

Also, I put my "new and Improved" gml file on my site if you want to see some other ways to go about things. Note: everyone does it differently. But it may give you some ideas, or clarify some things for ya. I just set up my file so that when I switch TV inputs, the proper groups are enabled or disabled. I use a LOT of different plug-ins, but it should give you a good overview. I especially like the sleep timer :D and the volume OSD is a nice touch when listening to music since winamp is hidden.

Please take note that I am far from getting it set up exactly as I want it... still having some issues with the mouse function and some other tidbits, but Im slowly trying to understand the LUA programming language which should help me get over some of the hurdles I have run into.

Good Luck, and if ya have any other questions don't be shy.

Treetop