OSDN Git Service

new file: bin/mrc2mrc
[eos/hostdependX86LINUX64.git] / include / hf2000.h
1 #ifndef HF2000_H
2 #define HF2000_H
3 #include <sys/types.h>
4 #include <sys/stat.h>
5 #include <fcntl.h>
6 #include <termios.h>
7 #include <stdio.h>
8
9 #define _POSIX_SOURCE 1
10
11 /* struct begin */
12 typedef int   hf2000ParaTypeInteger;
13 typedef float hf2000ParaTypeReal;
14
15 typedef struct hf2000Info {
16         char* deviceName;
17         struct termios IO;
18         struct termios prevIO;
19         int fd;
20         int flagClient; 
21         int flagServer; 
22         int serverSocket;
23         int serverFD;
24         char* hostname;
25         u_short port;
26         u_short maxPort;
27         u_short portSpeed;
28 } hf2000Info;
29 /* struct end */
30
31 #ifdef __HF2000INIT__
32 /* constant begin */
33 hf2000Info __hf2000;
34 char* __hf2000CommandList[] = {
35     "*R", /* Initialize */
36         "#Q", /* Specimen Position Get */
37         "#A", /* Absolute Position Set */
38         "#G", /* GO after #A #D #B */
39         "#H", /* Speed down and stop*/
40         "#X", /* Motor Information */
41         "?30", /* C1 Get */   /* Lenz */
42         "?31", /* C2 Get */
43         "?32", /* C3 Get */
44         "?33", /* OBJ Get */
45         "?34", /* I1 Get */
46         "?35", /* I2 Get */
47         "?36", /* P1 Get */
48         "?37", /* P2 Get */
49         "?40", /* OS(X) Get */ /* BD Coil */
50         "?41", /* OS(Y) Get */
51         "?42", /* CS(X) Get */
52         "?43", /* CS(Y) Get */
53         "?44", /* IS(X) Get */
54         "?45", /* IS(Y) Get */
55         "?46", /* BT(X) Get */
56         "?47", /* BT(Y) Get */
57         "?48", /* BH(X) Get */
58         "?49", /* BH(Y) Get */
59         NULL
60 };
61 /* constant end */
62 #else
63 extern hf2000Info __hf2000;
64 extern char* __hf2000CommandList[]; 
65 #endif
66 /* constant begin */
67 #define HF2000CMD_Initialize   0
68 #define HF2000CMD_PositionGet  1
69 #define HF2000CMD_PositionSet  2 
70 #define HF2000CMD_PositionMove 3 
71 #define HF2000CMD_PositionStop 4 
72 #define HF2000CMD_PositionMotorInfo 5 
73 #define HF2000CMD_C1Get   6 
74 #define HF2000CMD_C2Get   7 
75 #define HF2000CMD_C3Get   8 
76 #define HF2000CMD_OBJGet  9 
77 #define HF2000CMD_I1Get   10 
78 #define HF2000CMD_I2Get   11 
79 #define HF2000CMD_P1Get   12 
80 #define HF2000CMD_P2Get   13 
81 #define HF2000CMD_OSXGet   14 
82 #define HF2000CMD_OSYGet   15 
83 #define HF2000CMD_CSXGet   16 
84 #define HF2000CMD_CSYGet   17 
85 #define HF2000CMD_ISXGet   18 
86 #define HF2000CMD_ISYGet   19 
87 #define HF2000CMD_BTXGet   18 
88 #define HF2000CMD_BTYGet   19 
89 #define HF2000CMD_BHXGet   20 
90 #define HF2000CMD_BHYGet   21 
91 /* constant end */
92
93 /* prototype begin */
94 extern void hf2000Init(hf2000Info* info);
95 extern void hf2000Close(hf2000Info* info);
96 extern void hf2000Read(hf2000Info* info, char* s);
97 extern void hf2000Write(hf2000Info* info, char* s);
98 extern void hf2000Command(hf2000Info* info, char* command, char* result);
99 /* prototype end */
100
101 #include <tk.h>
102 /* prototype begin */
103 extern int hf2000_TclAppInit(Tcl_Interp * interp);
104 /* prototype end   */
105
106 #endif HF2000_H