Ticket #5406: multiple_sa3250_box_support.path

File multiple_sa3250_box_support.path, 3.5 KB (added by hadees, 17 years ago)

pathc for sa3250ch.c

Line 
17a8
2> * Portions Copyright 2007 Benton Roberts <benton@bentonroberts.com> (1394 device selection code)
335,41c36,40
4< #define SA_VENDOR_ID1 0x000011e6
5< #define SA_VENDOR_ID2 0x000014f8
6< #define SA_VENDOR_ID3 0x00001692
7< #define SA_VENDOR_ID4 0x00001947
8< #define SA_VENDOR_ID5 0x00000f21
9< #define SA_VENDOR_ID6 0x00001ac3
10< #define SA_VENDOR_ID7 0x00000a73
11---
12> #define SA3250HD_VENDOR_ID1 0x000011e6
13> #define SA3250HD_VENDOR_ID2 0x000014f8
14> #define SA3250HD_VENDOR_ID3 0x00001692
15> #define SA3250HD_VENDOR_ID4 0x00001947
16> #define SA3250HD_VENDOR_ID5 0x00000f21
1742a42,43
18> #define SA4200HD_VENDOR_ID1 0x000014f8
19> #define SA4200HD_VENDOR_ID2 0x00001692
2044d44
21< #define SA4250HDC_MODEL_ID1 0x000010cc
2260a61,62
23> fprintf(stderr, " -n : FireWire Node Number\n");
24> fprintf(stderr, " -p : FireWire Port (Controller) Number\n");
2569a72,73
26> int requested_device = -1;
27> int port = 0;
2888a93,100
29> case 'n':
30> i++;
31> requested_device = atoi(argv[i]);
32> break;
33> case 'p':
34> i++;
35> port = atoi(argv[i]);
36> break;
37114c126
38< if (raw1394_set_port(handle, 0) < 0) {
39---
40> if (raw1394_set_port(handle, port) < 0) {
41133,142c145,153
42< if (((dir.vendor_id == SA_VENDOR_ID1) ||
43< (dir.vendor_id == SA_VENDOR_ID2) ||
44< (dir.vendor_id == SA_VENDOR_ID3) ||
45< (dir.vendor_id == SA_VENDOR_ID4) ||
46< (dir.vendor_id == SA_VENDOR_ID5) ||
47< (dir.vendor_id == SA_VENDOR_ID6) ||
48< (dir.vendor_id == SA_VENDOR_ID7)) &&
49< ((dir.model_id == SA3250HD_MODEL_ID1) ||
50< (dir.model_id == SA4200HD_MODEL_ID1) ||
51< (dir.model_id == SA4250HDC_MODEL_ID1)))
52---
53> if ((((dir.vendor_id == SA4200HD_VENDOR_ID1) ||
54> (dir.vendor_id == SA4200HD_VENDOR_ID2)) &&
55> (dir.model_id == SA4200HD_MODEL_ID1)) ||
56> (((dir.vendor_id == SA3250HD_VENDOR_ID1) ||
57> (dir.vendor_id == SA3250HD_VENDOR_ID2) ||
58> (dir.vendor_id == SA3250HD_VENDOR_ID3) ||
59> (dir.vendor_id == SA3250HD_VENDOR_ID4) ||
60> (dir.vendor_id == SA3250HD_VENDOR_ID5)) &&
61> (dir.model_id == SA3250HD_MODEL_ID1)))
62144,153c155,163
63< if (dir.model_id == SA4250HDC_MODEL_ID1)
64< {
65< fprintf(stderr, "Ignoring SA 4250HDC on node %d -- "
66< "sorry not supported yet\n", i);
67< }
68< else
69< {
70< device = i;
71< break;
72< }
73---
74> if (verbose) printf("Requested node %d\n", requested_device);
75> if (verbose) printf("Found compatible device at node %d\n", i);
76> /* If no device was requested, take the first one */
77> if ((requested_device == -1) |
78> ((requested_device == i) && (device == -1))) {
79> if (verbose) printf("Using Device = %d\n", requested_device);
80> device = i;
81> break;
82> }
83178c188
84< avc1394_transaction_block(handle, 0, cmd, 3, 1);
85---
86> avc1394_transaction_block(handle, device, cmd, 3, 1);
87193c203
88< avc1394_transaction_block(handle, 0, cmd, 3, 1);
89---
90> avc1394_transaction_block(handle, device, cmd, 3, 1);
91195c205
92< cmd[1] = CTL_CMD1 | (chn << 8);
93---
94> cmd[1] = CTL_CMD1 | (dig[0] << 16) | (dig[1] << 8) | dig[2];
95202c212
96< avc1394_transaction_block(handle, 0, cmd, 3, 1);
97---
98> avc1394_transaction_block(handle, device, cmd, 3, 1);