「hf2000(API)」の版間の差分

提供: Eospedia
移動: 案内検索
(ページの作成:「MachineManip/'''hf2000'''はhf2000のフォーマットを取り扱うためのAPI です。 == 定数 == #define _POSIX_SOURCE 1 #ifdef __HF2000INIT__ hf2000Inf...」)
 
 
行1: 行1:
MachineManip/'''hf2000'''は[[hf2000]]のフォーマットを取り扱うためのAPI です。
+
MachineManip/'''hf2000'''は[[hf2000]]との通信を行うための[[API]]です。
  
 
== 定数 ==
 
== 定数 ==
 
  #define _POSIX_SOURCE 1
 
  #define _POSIX_SOURCE 1
  
 +
=== [[hf2000]]コマンド ===
 
  #ifdef __HF2000INIT__
 
  #ifdef __HF2000INIT__
 
  hf2000Info __hf2000;
 
  hf2000Info __hf2000;
 
  char* __hf2000CommandList[] = {
 
  char* __hf2000CommandList[] = {
    "*R", /* Initialize */
+
"*R", /* Initialize */
 
  "#Q", /* Specimen Position Get */
 
  "#Q", /* Specimen Position Get */
 
  "#A", /* Absolute Position Set */
 
  "#A", /* Absolute Position Set */
行33: 行34:
 
  NULL
 
  NULL
 
  };
 
  };
 
== 構造体 ==
 
typedef int  hf2000ParaTypeInteger;
 
typedef float hf2000ParaTypeReal;
 
 
typedef struct hf2000Info {
 
char* deviceName;
 
struct termios IO;
 
struct termios prevIO;
 
int fd;
 
int flagClient;
 
int flagServer;
 
int serverSocket;
 
int serverFD;
 
char* hostname;
 
u_short port;
 
u_short maxPort;
 
u_short portSpeed;
 
} hf2000Info;
 
 
  #else
 
  #else
 
  extern hf2000Info __hf2000;
 
  extern hf2000Info __hf2000;
行81: 行63:
 
  #define HF2000CMD_BHXGet  20  
 
  #define HF2000CMD_BHXGet  20  
 
  #define HF2000CMD_BHYGet  21  
 
  #define HF2000CMD_BHYGet  21  
 +
 +
== 構造体 ==
 +
typedef int  hf2000ParaTypeInteger;
 +
typedef float hf2000ParaTypeReal;
 +
 +
[[hf2000]]との通信設定
 +
typedef struct hf2000Info {
 +
char* deviceName;
 +
struct termios IO;
 +
struct termios prevIO;
 +
int fd;
 +
int flagClient;
 +
int flagServer;
 +
int serverSocket;
 +
int serverFD;
 +
char* hostname;
 +
u_short port;
 +
u_short maxPort;
 +
u_short portSpeed;
 +
} hf2000Info;
  
 
== API ==
 
== API ==
 +
[[hf2000]]との通信を開始し、初期化コマンドを送信します。
 
  extern void hf2000Init(hf2000Info* info);
 
  extern void hf2000Init(hf2000Info* info);
 +
 +
[[hf2000]]との通信を閉じます。
 
  extern void hf2000Close(hf2000Info* info);
 
  extern void hf2000Close(hf2000Info* info);
 +
 +
[[hf2000]]から読み込んだデータをsへ格納します。
 
  extern void hf2000Read(hf2000Info* info, char* s);
 
  extern void hf2000Read(hf2000Info* info, char* s);
 +
 +
[[hf2000]]にデータsを書き出します。
 
  extern void hf2000Write(hf2000Info* info, char* s);
 
  extern void hf2000Write(hf2000Info* info, char* s);
 +
 +
[[hf2000]]にコマンドcommandを送信し、結果をresultに格納します。
 
  extern void hf2000Command(hf2000Info* info, char* command, char* result);
 
  extern void hf2000Command(hf2000Info* info, char* command, char* result);
  
 +
Tclコマンド登録
 
  extern int hf2000_TclAppInit(Tcl_Interp * interp);
 
  extern int hf2000_TclAppInit(Tcl_Interp * interp);

2015年3月17日 (火) 06:40時点における最新版

MachineManip/hf2000hf2000との通信を行うためのAPIです。

定数

#define _POSIX_SOURCE 1

hf2000コマンド

#ifdef __HF2000INIT__
hf2000Info __hf2000;
char* __hf2000CommandList[] = {
	"*R", /* Initialize */
	"#Q", /* Specimen Position Get */
	"#A", /* Absolute Position Set */
	"#G", /* GO after #A #D #B */
	"#H", /* Speed down and stop*/
	"#X", /* Motor Information */
	"?30", /* C1 Get */   /* Lenz */
	"?31", /* C2 Get */
	"?32", /* C3 Get */
	"?33", /* OBJ Get */
	"?34", /* I1 Get */
	"?35", /* I2 Get */
	"?36", /* P1 Get */
	"?37", /* P2 Get */
	"?40", /* OS(X) Get */ /* BD Coil */
	"?41", /* OS(Y) Get */
	"?42", /* CS(X) Get */
	"?43", /* CS(Y) Get */
	"?44", /* IS(X) Get */
	"?45", /* IS(Y) Get */
	"?46", /* BT(X) Get */
	"?47", /* BT(Y) Get */
	"?48", /* BH(X) Get */
	"?49", /* BH(Y) Get */
	NULL
};
#else
extern hf2000Info __hf2000;
extern char* __hf2000CommandList[]; 
#endif
#define HF2000CMD_Initialize   0
#define HF2000CMD_PositionGet  1
#define HF2000CMD_PositionSet  2 
#define HF2000CMD_PositionMove 3 
#define HF2000CMD_PositionStop 4 
#define HF2000CMD_PositionMotorInfo 5 
#define HF2000CMD_C1Get   6 
#define HF2000CMD_C2Get   7 
#define HF2000CMD_C3Get   8 
#define HF2000CMD_OBJGet  9 
#define HF2000CMD_I1Get   10 
#define HF2000CMD_I2Get   11 
#define HF2000CMD_P1Get   12 
#define HF2000CMD_P2Get   13 
#define HF2000CMD_OSXGet   14 
#define HF2000CMD_OSYGet   15 
#define HF2000CMD_CSXGet   16 
#define HF2000CMD_CSYGet   17 
#define HF2000CMD_ISXGet   18 
#define HF2000CMD_ISYGet   19 
#define HF2000CMD_BTXGet   18 
#define HF2000CMD_BTYGet   19 
#define HF2000CMD_BHXGet   20 
#define HF2000CMD_BHYGet   21 

構造体

typedef int   hf2000ParaTypeInteger;
typedef float hf2000ParaTypeReal;

hf2000との通信設定

typedef struct hf2000Info {
	char* deviceName;
	struct termios IO;
	struct termios prevIO;
	int fd;
	int flagClient;	
	int flagServer;	
	int serverSocket;
	int serverFD;
	char* hostname;
	u_short port;
	u_short maxPort;
	u_short portSpeed;
} hf2000Info;

API

hf2000との通信を開始し、初期化コマンドを送信します。

extern void hf2000Init(hf2000Info* info);

hf2000との通信を閉じます。

extern void hf2000Close(hf2000Info* info);

hf2000から読み込んだデータをsへ格納します。

extern void hf2000Read(hf2000Info* info, char* s);

hf2000にデータsを書き出します。

extern void hf2000Write(hf2000Info* info, char* s);

hf2000にコマンドcommandを送信し、結果をresultに格納します。

extern void hf2000Command(hf2000Info* info, char* command, char* result);

Tclコマンド登録

extern int hf2000_TclAppInit(Tcl_Interp * interp);