Ticket #286: sa3250hd_fwcc.patch
File sa3250hd_fwcc.patch, 4.1 KB (added by , 19 years ago) |
---|
-
libs/libmythtv/firewirechannel.cpp
1 1 /** 2 2 * FirewireChannel 3 3 * Copyright (c) 2005 by Jim Westfall 4 * SA3250HD support Copyright (c) 2005 by Matt Porter 4 5 * Distributed as part of MythTV under GPL v2 and later. 5 6 */ 6 7 … … 23 24 24 25 if (externalChanger[currentcapchannel].isEmpty()) 25 26 { 26 if ( fw_opts.model == "DCT-6200")27 if ((fw_opts.model == "DCT-6200") || (fw_opts.model == "SA3250HD")) 27 28 { 28 29 if ((fwhandle = raw1394_new_handle_on_port(fw_opts.port)) == NULL) 29 30 { … … 40 41 else 41 42 { 42 43 VERBOSE(VB_IMPORTANT, "FireWireChannel: internal channel " 43 "changer only supported by DCT-6200 models");44 "changer only supported by DCT-6200 and SA3250HD models"); 44 45 } 45 46 } 46 47 } … … 58 59 { 59 60 int dig[3]; 60 61 int channel = chan.toInt(); 61 quadlet_t cmd[ 2];62 quadlet_t cmd[3]; 62 63 63 64 inputChannel[currentcapchannel] = chan; 64 65 curchannelname = chan; … … 86 87 usleep(500000); 87 88 } 88 89 } 90 else if (isopen && fw_opts.model == "SA3250HD") 91 { 92 dig[2] |= 0x30; 93 dig[1] |= 0x30; 94 dig[0] |= 0x30; 95 96 cmd[0] = SA3250_CMD0 | AVC1394_SA3250_OPERAND_KEY_PRESS; 97 cmd[1] = SA3250_CMD1 | (dig[0] << 16) | (dig[1] << 8) | dig[2]; 98 cmd[2] = SA3250_CMD2; 99 VERBOSE(VB_GENERAL, QString("FireWireChannel: channel:%1%2%3 " 100 "cmds: 0x%4, 0x%5, 0x%6") 101 .arg(dig[0] & 0xf).arg(dig[1] & 0xf) 102 .arg(dig[2] & 0xf).arg(cmd[0], 0, 16) 103 .arg(cmd[1], 0, 16) 104 .arg(cmd[2], 0, 16)); 105 106 avc1394_transaction_block(fwhandle, fw_opts.node, cmd, 3, 1); 107 108 cmd[0] = SA3250_CMD0 | AVC1394_SA3250_OPERAND_KEY_RELEASE; 109 VERBOSE(VB_GENERAL, QString("FireWireChannel: channel:%1%2%3 " 110 "cmds: 0x%4, 0x%5, 0x%6") 111 .arg(dig[0] & 0xf).arg(dig[1] & 0xf) 112 .arg(dig[2] & 0xf).arg(cmd[0], 0, 16) 113 .arg(cmd[1], 0, 16) 114 .arg(cmd[2], 0, 16)); 115 116 avc1394_transaction_block(fwhandle, fw_opts.node, cmd, 3, 1); 117 } 89 118 else 90 119 { 91 120 VERBOSE(VB_IMPORTANT, "FireWireChannel: internal channel " -
libs/libmythtv/firewirechannel.h
1 1 /** 2 2 * FirewireChannel 3 3 * Copyright (c) 2005 by Jim Westfall 4 * SA3250HD support Copyright (c) 2005 by Matt Porter 4 5 * Distributed as part of MythTV under GPL v2 and later. 5 6 */ 6 7 … … 24 25 AVC1394_SUBUNIT_ID_0 | AVC1394_6200_COMMAND_CHANNEL | \ 25 26 AVC1394_6200_OPERAND_SET 26 27 28 // SA3250HD defines 29 #define AVC1394_SA3250_COMMAND_CHANNEL 0x000007c00 30 #define AVC1394_SA3250_OPERAND_KEY_PRESS 0xe7 31 #define AVC1394_SA3250_OPERAND_KEY_RELEASE 0x67 27 32 33 #define SA3250_CMD0 (AVC1394_CTYPE_CONTROL | AVC1394_SUBUNIT_TYPE_PANEL | \ 34 AVC1394_SUBUNIT_ID_0 | AVC1394_SA3250_COMMAND_CHANNEL) 35 #define SA3250_CMD1 (0x04 << 24) 36 #define SA3250_CMD2 0xff000000 37 28 38 class FirewireChannel : public ChannelBase 29 39 { 30 40 public: -
libs/libmythtv/videosource.cpp
1161 1161 setLabel(QObject::tr("Firewire Model")); 1162 1162 addSelection(QObject::tr("Other")); 1163 1163 addSelection("DCT-6200"); 1164 addSelection("SA3250HD"); 1164 1165 setHelpText(QObject::tr("Firewire Model is for future use in case " 1165 1166 "there is a need to model specific " 1166 1167 "workarounds."));