1 | 7a8
|
---|
2 | > * Portions Copyright 2007 Benton Roberts <benton@bentonroberts.com> (1394 device selection code)
|
---|
3 | 35,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
|
---|
17 | 42a42,43
|
---|
18 | > #define SA4200HD_VENDOR_ID1 0x000014f8
|
---|
19 | > #define SA4200HD_VENDOR_ID2 0x00001692
|
---|
20 | 44d44
|
---|
21 | < #define SA4250HDC_MODEL_ID1 0x000010cc
|
---|
22 | 60a61,62
|
---|
23 | > fprintf(stderr, " -n : FireWire Node Number\n");
|
---|
24 | > fprintf(stderr, " -p : FireWire Port (Controller) Number\n");
|
---|
25 | 69a72,73
|
---|
26 | > int requested_device = -1;
|
---|
27 | > int port = 0;
|
---|
28 | 88a93,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;
|
---|
37 | 114c126
|
---|
38 | < if (raw1394_set_port(handle, 0) < 0) {
|
---|
39 | ---
|
---|
40 | > if (raw1394_set_port(handle, port) < 0) {
|
---|
41 | 133,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)))
|
---|
62 | 144,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 | > }
|
---|
83 | 178c188
|
---|
84 | < avc1394_transaction_block(handle, 0, cmd, 3, 1);
|
---|
85 | ---
|
---|
86 | > avc1394_transaction_block(handle, device, cmd, 3, 1);
|
---|
87 | 193c203
|
---|
88 | < avc1394_transaction_block(handle, 0, cmd, 3, 1);
|
---|
89 | ---
|
---|
90 | > avc1394_transaction_block(handle, device, cmd, 3, 1);
|
---|
91 | 195c205
|
---|
92 | < cmd[1] = CTL_CMD1 | (chn << 8);
|
---|
93 | ---
|
---|
94 | > cmd[1] = CTL_CMD1 | (dig[0] << 16) | (dig[1] << 8) | dig[2];
|
---|
95 | 202c212
|
---|
96 | < avc1394_transaction_block(handle, 0, cmd, 3, 1);
|
---|
97 | ---
|
---|
98 | > avc1394_transaction_block(handle, device, cmd, 3, 1);
|
---|