
/*	**************************************************************	*/

/*
 * PARAM.H
 * This file contains parameters required by the measurement
 * program.
 *
 * Zachary Wolf
 * 12/20/00
 */
 
/* Protection from multiple definitions */
#ifndef __RTPARAM_HEADER
#define __RTPARAM_HEADER
 
/* GPIB addresses */
#define GPIB_BOARD_ADDR					0
#define GPIB_HP3457_ADDR				22
#define GPIB_K7011_ADDR					7
#define GPIB_DAC488_ADDR				19
#define GPIB_DAC488HR_ADDR				8
#define GPIB_HP3458_ADDR				24
#define GPIB_HP34970_ADDR				9

/* Email Notification Settings*/
static char MAIL_TO[1000]		=		"sda@slac.stanford.edu";
#define MAIL_SEND_NOTIFICATION			1
#define MAIL_COMPUTER_ID				"Maglab2"

/* Magnet voltage measurements */
#define VMAG_BOARD_ADDR					GPIB_BOARD_ADDR
#define VMAG_HP3457_ADDR				GPIB_HP3457_ADDR
#define VMAG_K7011_ADDR					GPIB_K7011_ADDR
#define VMAG_HP34970_ADDR				GPIB_HP34970_ADDR
#define VMAG_DEVICE_TYPE				VMAG_HP34970
#define VMAG_HP3457_CHAN				1
#define VMAG_HP34970_CHAN				105
#define VMAG_K7011_CARD_NUM				1
#define VMAG_K7011_HP3457_CHAN			1
#define VMAG_K7011_CHAN					8
#define VMAG_SHOW_UI					VMAG_FALSE

/* Temperature measurements */
#define TMAG_BOARD_ADDR					GPIB_BOARD_ADDR
#define TMAG_HP3457_ADDR				GPIB_HP3457_ADDR
#define TMAG_HP34970_ADDR				GPIB_HP34970_ADDR
#define TMAG_K7011_ADDR					GPIB_K7011_ADDR
#define TMAG_DEVICE_TYPE				TMAG_HP34970
#define TMAG_K7011_CARD_NUM				1
#define TMAG_K7011_HP3457_CHAN			1
#define TMAG_SHOW_UI					TMAG_TRUE
#define TMAG_NUM_TMAG_PROBES			4
static int TMAG_PROBE_CHAN_NUM[] 	=		{109, 110, 111, 115};
static char TMAG_PROBE_NAME[][30] = {"Water In", "Water Out", "Inside Bore", "Ambient"}; 
#define TMAG_LOW_CURRENT_MEAS           TMAG_FALSE
#define TMAG_COILS_MEAS_NUM				1
static int TMAG_PROBE_OVERTEMP_FLAG[] = {1, 1, 1, 1};
static double TMAG_PROBE_OVERTEMP[] = {50., 50., 50., 35.};


/* Magnet current */
#define IMAG_BOARD_ADDR					GPIB_BOARD_ADDR
#define IMAG_DAC488_ADDR				GPIB_DAC488_ADDR
#define IMAG_DAC488HR_ADDR				GPIB_DAC488HR_ADDR
#define IMAG_HP3457_ADDR				GPIB_HP3457_ADDR
#define IMAG_HP34970_ADDR				GPIB_HP34970_ADDR
#define IMAG_DAC488_PORT				1
#define IMAG_DAC488HR_PORT				1
#define IMAG_HP3457_CHAN				0
#define IMAG_HP34970_CHAN				101
#define IMAG_CONFIG						IMAG_DAC488HR_HP34970
#define IMAG_BIPOLAR					IMAG_FALSE
#define IMAG_PS_AMPS_PER_DAC_VOLT		120.04 
#define IMAG_TRANS_VOLTS_PER_AMP		.01  /*  */
#define IMAG_RAMP_STYLE					IMAG_THREE_LINEAR
#define IMAG_MAX_CURR_LIMIT				301.36
#define IMAG_MIN_CURR_LIMIT				0.0
#define IMAG_RAMP_RATE				    15.
#define IMAG_WAIT_AFTER_RAMP			10.
#define IMAG_STAND_RAMP_RATE			15.0
#define IMAG_WAIT_AFTER_STAND_RAMP		10.
#define IMAG_INIT_ZERO_CURRENT_MEAS		IMAG_FALSE
#define IMAG_INIT_TURN_ON				IMAG_TRUE
#define IMAG_INIT_TURN_ON_CURRENT		50. 
#define IMAG_CHECK_CURRENT				IMAG_FALSE
#define IMAG_CHECK_CURRENT_TOL			0.02
#define IMAG_SHOW_UI					IMAG_TRUE
#define IMAG_INVERPOWER					IMAG_FALSE
#define IMAG_CHECK_CURRENT_BALLPARK_LIM	1
#define IMAG_CHECK_CURRENT_TOL_LOWER_LIM 0.5

/* Cart Measuerments */
#define WATER_BOARD_ADDR				GPIB_BOARD_ADDR
#define WATER_HP3457_ADDR				GPIB_HP3457_ADDR
#define WATER_HP3458_ADDR				GPIB_HP3458_ADDR
#define WATER_HP34970_ADDR				GPIB_HP34970_ADDR
#define WATER_K7011_ADDR				GPIB_K7011_ADDR
#define WATER_MEAS_SYSTEM				WATER_NONE
#define WATER_K7011_CARD_NUM			1
#define WATER_K7011_HP3457_CHAN		1
#define WATER_SHOW_UI					WATER_TRUE
#define WATER_DIFFERENCE				WATER_FALSE
#define WATER_NUM_SENSORS				5
static double WATER_FREQUENCY_DIVIDER =			36.3241667;		 /*for cart 1, TS1*/
//static double WATER_FREQUENCY_DIVIDER =			36.7666667;		 /*for cart 2*, TS 3/
//static double WATER_FREQUENCY_DIVIDER	=		35.9808333;	     /*for cart 3, TS 5*/
static char WATER_SENSOR_MULTIPLIER =		75.0;
static char WATER_SENSOR_TYPE[][30] = {"WATER_HPASHCROFT_P", "WATER_HPASHCROFT_P", "WATER_HPLEIGHTON_T", "WATER_HPLEIGHTON_T", "WATER_HOFFER_FV"};
static int WATER_SENSOR_CHAN_NUM[] = {4, 5, 3, 2, 9};
static char WATER_SENSOR_NAME[][30] = {"Return Pressure (psi)", "Supply Pressure (psi)", "Return Water Tempurature (C)", "Supply Water Tempurature (C)", "Flow Rate (gpm)"};
#define WATER_OVERTEMP_TEMP				75.0

/* Measurement parameters */
#define RT_NUM_COILS					1
#define RT_LOW_CURRENT                  0
#define RT_TIME_BTWN_MEAS_SEC			60
#define RT_TIME_TO_MEASURE_SEC			3600
#define RT_NUM_STAND_CYCLES				0
#define RT_STAND_MAX					200.
#define RT_STAND_MIN					0.
#define RT_NUM_TEST_CURRENTS			3
static double  RT_TEST_CURRENTS[RT_NUM_TEST_CURRENTS] = {150.0, 200., 300.};
#define RT_R_DELTAR_OVER_DELTAT		    .00393



/* Of interest */
// (1/R)(dR/dT) = .00393 for copper (1/C), from Dave
// (1/R)(dR/dT) = .00409 for aluminum (1/C), CRC EC grade Aluminum, from Cherrill
 
/* End protection */
#endif
