/************************************************************************/
/*																		*/
/*	ＩＦ＿５０　ＡＰＩ用ヘッダーファイル								*/
/*																		*/
/*      Copyright(c) 2012  TEXIO TECHNOLOGY CORPORATION                 */
/************************************************************************/

/****************************************************************/
/*	定数宣言													*/
/****************************************************************/
/*　デバイス種別　*/
#define GPIB		1		/*　ＧＰＩＢ	*/
#define USB			2		/*　ＵＳＢ		*/

/*　エラーフラグ　*/
#define DEV_ERR		-1		/*　デバイスエラー		*/
#define TO_ERR		-2		/*　タイムアウトエラー	*/
#define PAR_ERR		-3		/*　パラメータエラー	*/
#define RCV_ERR		-4		/*　受信エラー			*/

/*　切り替えフラグ　*/
#define OFF			0		/*　ＯＦＦ		*/
#define ON			1		/*　ＯＮ		*/

/*　表示切り替えフラグ　*/
#define VOLT		0		/*　電流／電圧表示		*/
#define WATT		1		/*　電流／電力表示		*/

/*　ＣＨ指定　*/
#define CH_A		1		/*　ＣＨ−Ａ	*/
#define CH_B		2		/*　ＣＨ−Ｂ	*/
#define CH_C		3		/*　ＣＨ−Ｃ	*/
#define CH_D		4		/*　ＣＨ−Ｄ	*/

/*　プリセット指定　*/
#define PR_1		1		/*　プリセット１	*/
#define PR_2		2		/*　プリセット２	*/
#define PR_3		3		/*　プリセット３	*/
#define PR_4		4		/*　プリセット４	*/

/*　放電負荷指定　*/
#define M_CC_H		1		/*　ＣＣモード、電流レンジ「Ｈ」					*/
#define M_CC_L		2		/*　ＣＣモード、電流レンジ「Ｌ」					*/
#define M_CR_H		3		/*　ＣＲモード、電流レンジ「Ｈ」					*/
#define M_CR_L		4		/*　ＣＲモード、電流レンジ「Ｌ」					*/
#define M_CV_H		5		/*　ＣＶモード、電流レンジ「Ｈ」					*/
#define M_CV_L		6		/*　ＣＶモード、電流レンジ「Ｌ」					*/
#define M_CP_H_L	7		/*　ＣＰモード、電流レンジ「Ｈ」、電圧レンジ「Ｌ」	*/
#define M_CP_H_H	8		/*　ＣＰモード、電流レンジ「Ｈ」、電圧レンジ「Ｈ」	*/
#define M_CP_L_L	9		/*　ＣＰモード、電流レンジ「Ｌ」、電圧レンジ「Ｌ」	*/
#define M_CP_L_H	10		/*　ＣＰモード、電流レンジ「Ｌ」、電圧レンジ「Ｈ」	*/
#define M_SHORT		11		/*　ショートモード									*/

/*　コントロールリファレンス指定　*/
#define REF_INT		0		/*　内部電圧コントロール	*/
#define REF_EXT		1		/*　外部電圧コントロール	*/

/*　保存対象データ指定　*/
#define OBJ_FREQ	1		/*　ＳＷ周波数			*/
#define OBJ_DUTY	2		/*　ＳＷデューティ		*/
#define OBJ_TAB		3		/*　ＳＷ時間ｔａ、ｔｂ	*/
#define OBJ_DELAY	4		/*　ディレイ時間		*/
#define OBJ_TRACK	5		/*　トラッキング設定	*/

/*　ＳＷ設定方法　*/
#define	SW_FREQ			0		/*　周波数＆デューティ	*/
#define	SW_TAB			1		/*　時間ｔａ＆ｔｂ		*/

/*　ローカルロック設定　*/
#define	LOCK_FREE		0		/*　ローカルロック解除可能	*/
#define	LOCK_OUT		1		/*　ローカルロック解除不可		*/

/*　トラッキング方向　*/
#define	TRC_NO			0		/*　トラッキング無し	*/
#define	TRC_PLUS		1		/*　「＋」トラッキング	*/
#define	TRC_MINUS		2		/*　「−」トラッキング	*/

/*　トラッキングモード　*/
#define	TRC_PERCENT		0		/*　％トラッキングモード		*/
#define	TRC_ABS			1		/*　絶対値トラッキングモード	*/

/****************************************************************/
/*	構造体宣言													*/
/****************************************************************/
/*　モニターデータ構造体　*/
struct MONITOR_DATA{
	double	Current;	/*　電流モニター値	*/
	double	Voltage;	/*　電圧モニター値	*/
	double	Wattage;	/*　電力モニター値	*/
};

/*　放電負荷モード設定データ構造体　*/
struct MODE_DATA{
	int	Mode;			/*　放電負荷モード				*/
	int Reference;		/*　コントロールリファレンス	*/
};

/*　スイッチング時間設定データ構造体　*/
struct TIME_DATA{
	double	Ta;			/*　時間ｔａ	*/
	double	Tb;			/*　時間ｔｂ	*/
};

/*　トラッキング設定データ構造体　*/
struct TRACK_DATA{
	int	Ch_A;			/*　ＣＨ−Ａ	*/
	int	Ch_B;			/*　ＣＨ−Ｂ	*/
	int	Ch_C;			/*　ＣＨ−Ｃ	*/
	int	Ch_D;			/*　ＣＨ−Ｄ	*/
};

/*　アラームデータ構造体　*/
struct ALARM_DATA{
	int	Eta;			/*　外部アラーム				*/
	int	Oha;			/*　オーバーヒートアラーム		*/
	int	Ova[4];			/*　オーバーボルテージアラーム	*/
	int	Oca[4];			/*　オーバーカーレントアラーム	*/
	int	Ora[4];			/*　オーバーレンジアラーム		*/
};

/*　リミットデータ構造体　*/
struct LIMIT_DATA{
	int	Current[4];		/*　電流リミット	*/
	int	Power[4];		/*　電圧リミット	*/
};

/*　ＣＨ構成データ構造体　*/
struct CH_DATA{
	int	Ch_A;			/*　ＣＨ−Ａ	*/
	int	Ch_B;			/*　ＣＨ−Ｂ	*/
	int	Ch_C;			/*　ＣＨ−Ｃ	*/
	int	Ch_D;			/*　ＣＨ−Ｄ	*/
};

/* IF_50.h の終わり */
