[mythtv] [mythtv-commits] Ticket #2059: Enhanced SA3250/SA4200 Command Line Channel Changer

Jim Westfall jwestfall at surrealistic.net
Sun Dec 3 07:51:42 UTC 2006


The -s option doesnt work for you?

jim

MythTV <mythtv at cvs.mythtv.org> wrote [12.03.06]:
> #2059: Enhanced SA3250/SA4200 Command Line Channel Changer
> -----------------------------------+----------------------------------------
>  Reporter:  chris at spicecoffee.org  |        Owner:  jwestfall
>      Type:  patch                  |       Status:  new      
>  Priority:  minor                  |    Milestone:  0.21     
> Component:  mythtv                 |      Version:  head     
>  Severity:  medium                 |   Resolution:           
> -----------------------------------+----------------------------------------
> Changes (by dave_frailey at hotmail.com):
> 
>   * type:  enhancement => patch
> 
> Comment:
> 
>  Need to use code like this to channel change properly with my newer (mfr
>  06/2006) sa3250hd:
> 
> 
>  {{{
>     .
>     .
> 
>     if (single) {
>         /* Send channel as single number for SA4200 and some SA3250s */
>         if (verbose)
>          printf("Using single number channel change command method\n");
> 
>         cmd[0] = CTL_CMD0 | AVC1394_SA3250_OPERAND_KEY_PRESS;
>         cmd[1] = CTL_CMD1 | (chn << 8);
>         cmd[2] = 0x0;
> 
>         if (verbose)
>              printf("AV/C Command: cmd0=0x%08x cmd1=0x%08x cmd2=0x%08x\n",
>                     cmd[0], cmd[1], cmd[2]);
>         avc1394_transaction_block(handle, 0, cmd, 3, 1);
>     } else {
>         /* Default method sending three seperate digits */
>         dig[2] = 0x30 | (chn % 10);
>         dig[1] = 0x30 | ((chn % 100)  / 10);
>         dig[0] = 0x30 | ((chn % 1000) / 100);
> 
>         cmd[2] = CTL_CMD2;
>         if ( dir.vendor_id == SA3250HD_VENDOR_ID3 ) {
>            cmd[1] = CTL_CMD1 | (chn << 8);
>         } else {
>            cmd[1] = CTL_CMD1 | (dig[2] << 16) | (dig[1] << 8) | dig[0];
>         }
> 
>         cmd[0] = CTL_CMD0 | AVC1394_SA3250_OPERAND_KEY_PRESS;
>         if (verbose)
>            printf("AV/C Command: %d%d%d = cmd0=0x%08x cmd2=0x%08x
>  cmd3=0x%08x\n",
>                  dig[0] & 0xf, dig[1] & 0xf, dig[2] & 0xf, cmd[0], cmd[1],
>  cmd[2]);
>         avc1394_transaction_block(handle, 0, cmd, 3, 1);
> 
>         cmd[0] = CTL_CMD0 | AVC1394_SA3250_OPERAND_KEY_RELEASE;
>         if (verbose)
>            printf("AV/C Command: %d%d%d = cmd0=0x%08x cmd2=0x%08x
>  cmd3=0x%08x\n",
>                  dig[0] & 0xf, dig[1] & 0xf, dig[2] & 0xf, cmd[0], cmd[1],
>  cmd[2]);
>         avc1394_transaction_block(handle, 0, cmd, 3, 1);
>     }
> 
>  }}}
> 
> -- 
> Ticket URL: <http://cvs.mythtv.org/trac/ticket/2059#comment:3>
> MythTV <http://www.mythtv.org/>
> MythTV
> _______________________________________________
> mythtv-commits mailing list
> mythtv-commits at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-commits


More information about the mythtv-dev mailing list