|
|
1.1 root 1: #include <stdio.h>
2:
3: int flag = 0;
4: int Errors=0;
5:
6: static
7: srq()
8: { signal(2, srq);
9: flag = 1 - flag;
10: printf("<SRQ>");
11: fflush(stdout);
12: }
13:
14: qreset()
15: { register i;
16:
17: printf("waiting for reset.."); fflush(stdout);
18: signal(2, srq);
19: if ((i = gpib(4)) < 0)
20: iberr(i, "Gpib Clear");
21: if ((i = gpib(5)) < 0)
22: iberr(i, "Gpib Remote");
23: sleep(12);
24: printf("done\n"); fflush(stdout);
25: Errors=0;
26: }
27:
28: qcmd(cmd, len)
29: char *cmd;
30: {
31: register i;
32: if (Errors) return;
33: /* unlisten, untalk, interface talk, qcr listen */
34: if ((i = gpib(0, "\077\137\043\125", 4)) < 0)
35: { iberr(i, "cmd setup");
36: Errors++;
37: return;
38: }
39: if ((i = gpib(1, cmd, len, 2)) < 0)
40: { iberr(i, "cmd send");
41: Errors++;
42: return;
43: }
44: }
45:
46: qwrite(cmd, len)
47: char *cmd;
48: {
49: register i;
50:
51: if (Errors) return;
52: /* unlisten, untalk, interface talk, qcr listen */
53: if ((i = gpib(0, "\077\137\042\125", 4)) < 0)
54: { iberr(i, "write setup");
55: Errors++;
56: return 0;
57: }
58: if ((i = gpib(1, cmd, len, 2)) < 0)
59: { iberr(i, "write cmd");
60: Errors++;
61: return 0;
62: }
63: return i;
64: }
65:
66: qread(cmd, len)
67: char *cmd;
68: {
69: register i;
70:
71: if (Errors) return;
72: /* unlisten, untalk, interface talk, qcr listen */
73: if ((i = gpib(0, "\077\137\102\065", 3)) < 0)
74: { iberr(i, "read setup");
75: Errors++;
76: return 0;
77: }
78: if ((i = gpib(2, cmd, len, 0)) < 0)
79: { iberr(i, "read cmd");
80: Errors++;
81: return 0;
82: }
83: return i;
84: }
85:
86: qpause()
87: { int i;
88:
89: for (i=1000*500; i>0; i--) /* was 1000*200 */
90: ;
91: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.