[mythtv-commits] Ticket #2059: Enhanced SA3250/SA4200 Command Line Channel Changer
MythTV
mythtv at cvs.mythtv.org
Sun Dec 3 06:49:53 UTC 2006
#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
More information about the mythtv-commits
mailing list