
/*  **************************************************************  */

/*
 * VSCANPARAM.H
 * This file contains parameters required by the measurement
 * program.
 *
 *  10/23/02  Zachary Wolf	   Original Version
 *  10/23/06		  changes by Seva 
 *  04-Apr-2007  Seva  Implement new filenames, multiple scans
 *
 */
 
/* Protection from multiple definitions */
#ifndef __BSCANZPARAM_HEADER
#define __BSCANZPARAM_HEADER 

/* Voltage integration system */
#include "vscan3.h"
#include "adc.h"
#include "calib.h"

////////////////////////////////////
//General settings
////////////////////////////////////
 

 
#define GPIB_BOARD_ADDR                 0 

// ------------Matlab to CVI interface parameters ------
#define MCVI_ON             0;
#define MCVI_EXCHANGE_FILE "c:\\met\\Exchange\\mcvi.dat"
#define MCVI_M_FILE        "p_id_anal.m"
#define MCVI_COMMAND       "p_id_anal"
//------------------------------------------------------


////////////////////////////////// DRIVERS INITIALIZATION ////////////////////////////////////////




#include "param_cm6k.h"

//default folder for saving log files and data

///////////////////////////// RUN PARAMETERS IN FOLDERS SECTION /////////////////////////////
#define RUN_PARAM_FOLDER  "s:\\magdata"
#define COPY_PARAM_FOLDER "s:\\magdata"
#define ROUGH_TUNING    0
#define FINE_TUNING     1
#define TUNING ROUGH_TUNING 
///////////////////////////// END OF RUN PARAMETERS IN FOLDERS SECTION //////////////////////
  
////////////////////////////////// END OF DRIVERS INITIALIZATION ///////////////////////////////// 


//////////////////////////////////////// VSCANZ INITIALIZATION///////////////////////////////////
#define FIRST_POLE_POS              0.373     //0.369960 //0.37092 //0.359947 //0.3567 //0.364342 //m  start looking for the first poll from this position
#define POLES_NUMBER                226
#define POLES_SPACING               0.015001  //m

//Voltage channels, check ADC section to turn them on and off, and of course check hardware connection
#define BY_ADC_CH                   0
#define BX_ADC_CH                   1//-1
#define BYCOIL_ADC_CH               -1// -1//2    use negative value to disable after measurements analysis
#define BXCOIL_ADC_CH               -1//2    use negative value to disable after measurements analysis

//zero magnetic field chamber measurements
#define  ZERO_FIELD_ZPOS            0.0
#define  ZERO_FIELD_YPOS            0.0  
#define  ZERO_FIELD_XPOS            0.0076
#define  ZERO_FIELD_AVG_NUMBER      3 


//////////////////////////////////////// END OF VSCANZ INITIALIZATION///////////////////////////// 

////////////////////////////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////// ADC DRIVERS SECTION /////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
//*** HP3458 settings ***//
#define HP3458_DEVICE_TYPE          ADC_HP3458
#define HP3458_DEV1_ADDR            20
#define HP3458_DEV2_ADDR            22
#define HP3458_DEV3_ADDR            23
#define HP3458_DEV4_ADDR            24
#define HP3458_VOLTAGE_RANGE        5.0   //5.0
#define HP3458_CHANNELS_NUMBER      1
#define HP3458_INTEGRATION_TIME     0.012 //0.06 //0.012//0.025ms 0.012 //0.2 ms//0.024 //0.4 ms//0.006 //0.1 ms 0.000006 //in terms of AC power cycles: 0 - the fastest, 1 means 1/60 s
#define HP3458_TIME_INTERVAL        0.002 //s time inerval for time samples
#define HP3458_MAX_READINGS         37888
//*** end HP3458 settings ***//

//-----------------------------

//*** ADC488 settings ***//
#define ADC488_DEVICE_TYPE          ADC_ADC488
#define ADC488_CHANNELS_NUMBER      1   //8 max number, available settings 1,2,4,8
#define ADC488_DEV_ADDR             14
#define ADC488_VOLTAGE_RANGE        3   // - voltage range  0 - 1V; 1 - 2V; 2 - 5V; 3 - 10V
#define ADC488_MAX_READINGS         60000  //readings per channel, set artificially - built-in memory allows more 
//*** end ADC488 settings ***//

//////////////////////////////////////////////////////////////////////////////////////////////////
#define ADC_MIN_READINGS                    10  //readings per channel 
// *********-> section to set driver types
#define ADC0_DEVICE_TYPE                        HP3458_DEVICE_TYPE  //ADC_NONE // HP3458_DEVICE_TYPE
#define ADC0_GPIB_BOARD_ADDR                    GPIB_BOARD_ADDR   //use default if use only one gpib board
#define ADC0_DEV_ADDR                           HP3458_DEV1_ADDR  //use for both rs232 and GPIB, despite it will be really used only with gpib
#define ADC0_RS232_COM_PORT                     1 //set 1 if not used
#define ADC0_VOLTAGE_RANGE                      HP3458_VOLTAGE_RANGE
#define ADC0_INTEGRATION_TIME                   HP3458_INTEGRATION_TIME
#define ADC0_TIME_INTERVAL                      HP3458_TIME_INTERVAL
#define ADC0_CHANNELS_NUMBER                    HP3458_CHANNELS_NUMBER
//#define ADC0_MAX_READINGS                     HP3458_MAX_READINGS
//---------------------------
#define ADC1_DEVICE_TYPE                        HP3458_DEVICE_TYPE //ADC_NONE  //HP3458_DEVICE_TYPE  
#define ADC1_GPIB_BOARD_ADDR                    GPIB_BOARD_ADDR   //use default if use only one gpib board
#define ADC1_DEV_ADDR                           HP3458_DEV2_ADDR  //use for both rs232 and GPIB, despite it will be really used only with gpib
#define ADC1_RS232_COM_PORT                     1 //set 1 if not used
#define ADC1_VOLTAGE_RANGE                      HP3458_VOLTAGE_RANGE
#define ADC1_INTEGRATION_TIME                   HP3458_INTEGRATION_TIME
#define ADC1_TIME_INTERVAL                      HP3458_TIME_INTERVAL
#define ADC1_CHANNELS_NUMBER                    HP3458_CHANNELS_NUMBER
//#define ADC1_MAX_READINGS                     HP3458_MAX_READINGS
//---------------------------
#define ADC2_DEVICE_TYPE                        ADC_NONE //ADC488_DEVICE_TYPE ADC_NONE 
#define ADC2_GPIB_BOARD_ADDR                    GPIB_BOARD_ADDR   //use default if use only one gpib board
#define ADC2_DEV_ADDR                           ADC488_DEV_ADDR  //use for both rs232 and GPIB, despite it will be really used only with gpib
#define ADC2_RS232_COM_PORT                     1 //set 1 if not used
#define ADC2_VOLTAGE_RANGE                      ADC488_VOLTAGE_RANGE
#define ADC2_INTEGRATION_TIME                   HP3458_INTEGRATION_TIME
#define ADC2_TIME_INTERVAL                      HP3458_TIME_INTERVAL
#define ADC2_CHANNELS_NUMBER                    ADC488_CHANNELS_NUMBER
//#define ADC2_MAX_READINGS                     ADC488_MAX_READINGS

//---------------------------
#define ADC3_DEVICE_TYPE                        ADC_NONE //ADC488_DEVICE_TYPE ADC_NONE 
#define ADC3_GPIB_BOARD_ADDR                    GPIB_BOARD_ADDR   //use default if use only one gpib board
#define ADC3_DEV_ADDR                           ADC488_DEV_ADDR  //use for both rs232 and GPIB, despite it will be really used only with gpib
#define ADC3_RS232_COM_PORT                     1 //set 1 if not used
#define ADC3_VOLTAGE_RANGE                      ADC488_VOLTAGE_RANGE
#define ADC3_INTEGRATION_TIME                   HP3458_INTEGRATION_TIME
#define ADC3_TIME_INTERVAL                      HP3458_TIME_INTERVAL
#define ADC3_CHANNELS_NUMBER                    ADC488_CHANNELS_NUMBER
//#define ADC2_MAX_READINGS                     ADC488_MAX_READINGS
//***********-> end of set driver section
//-------------------------------------------------------------------------------------------------
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

///////////////////////////// Calibration settings //////////////////////////////////////////////////

#define X_CALIB_TYPE CALIB_POLYFIT
#define Y_CALIB_TYPE CALIB_POLYFIT 

//#define Y_CALIB_FILE	"c:\\cvi\\current_calib\\HALLy_calib_poly_fit_file.dat"
//#define Y_CALIB_FILE	"c:\\cvi\\current_calib\\Sentron_441\\Sentron_441_y.ini" 
//   Changed on 05-Jan-2007 to 
#define Y_CALIB_FILE	"C:\\CVI\\current_calib\\SENIS_24-06\\SENIS_24-06_y.ini"
#define X_CALIB_FILE	"c:\\cvi\\current_calib\\HALLx_calib_poly_fit_file.dat"

#define X_CALIB_NAME	"HALLx_calib"
#define Y_CALIB_NAME	"HALLy_calib"  

 
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////// VSCAN3 PARAMETERS ///////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
//specifies move nodes for all directions. Do not mix with move setting were the real axes are used to set nodes
#define VSCAN3_MOVE_X       1              //move x-axis to collect data,single trace
#define VSCAN3_MOVE_Y       2              //move y-axis to collect data,single trace
#define VSCAN3_MOVE_Z       3              //move z-axis to collect data,single trace 
    //----------------------
#define VSCAN3_MOVE_NONE    -1              //do nothing
//----------------------------
//======= Number of zero magnetic field measurements===========
//Set to zero for all applications except of BScanz
#define VSCAN3_NUMBER_OF_ZERO_MEAS		5 //Bscanz or 0 for all other scans
//=========================================================================
//parameters
//specify whether to use indices to calculate measuring distance or use defined ML (usually less then indices spacing)
#define     VSCAN3_X_USE_IDX_FOR_ML     0
#define     VSCAN3_Y_USE_IDX_FOR_ML     0 
#define     VSCAN3_Z_USE_IDX_FOR_ML     1

//default measuring length
#define     VSCAN3_X_MEASURING_LENGTH   0.02    //m or extra length for calculating number of triggers if using indexes
#define     VSCAN3_X_DIST_ADJUSTMENT    0.00    //and corresponding adjustment for motors 
#define     VSCAN3_Y_MEASURING_LENGTH   0.0007   //m or extra length for calculating number of triggers if using indexes
#define     VSCAN3_Y_DIST_ADJUSTMENT    0.00    //and corresponding adjustment for motors 
#define     VSCAN3_Z_MEASURING_LENGTH   0.17 //0.20//0.37 //0.38    //m or extra length for calculating number of triggers if using indexes
#define     VSCAN3_Z_DIST_ADJUSTMENT    0.152 //0.222 //0.352 //0.122   //m//and corresponding adjustment for motors

//default position accuracy
#define     VSCAN3_X_ACCURACY           0.000001 //meters
#define     VSCAN3_Y_ACCURACY           0.000001 
#define     VSCAN3_Z_ACCURACY           0.00002
#define     VSCAN3_AVERAGING_NUM        3

//set here smallest distance to reach first index mark use move program: 
//call homing then connect oscilloscope to index and find minimum distance
//this distance will be used to calculate dist_move when using measurement length
#define     VSCAN3_X_INIT_DISTANCE          0.011 //m
#define     VSCAN3_Y_INIT_DISTANCE          0.0007//m 
#define     VSCAN3_Z_INIT_DISTANCE          0.05  //m

//settings
#define VSCAN3_BOARD_ADDR               GPIB_BOARD_ADDR 

//initial position on Z after homing
#define VSCAN3_OUT_CALIB_DIST       0.005 //0.20 //0.005
//axes assignment, all axes must be different!!! 
////// PRIMARY AXIS SETTINGS /////////////////////////
//---------------------------------------------------

#define     VSCAN3_PRIMARY_AXIS         VSCAN3_MOVE_Z //VSCAN3_MOVE_Z //VSCAN3_MOVE_Y  //continuosly moving

#define     VSCAN3_START_X_POS          1
#define     VSCAN3_STOP_X_POS           2

#define     VSCAN3_START_Y_POS          1
#define     VSCAN3_STOP_Y_POS           2

#define     VSCAN3_START_Z_POS          1
#define     VSCAN3_STOP_Z_POS           20 //17 //19 

////// Triggering settings /////////////////////////
#define VSCAN3_COUNTS_MULTIPLE          200


////// SECONDARY AXIS SETTINGS /////////////////////////
//---------------------------------------------------
#define VSCAN3_SECONDARY_AXIS           VSCAN3_MOVE_Y   // VSCAN3_MOVE_Z //VSCAN3_MOVE_Y  //discrete positioning
#define VSCAN3_SECONDARY_ON             TRUE //FALSE

//  moved to else below:
//#define VSCAN3_SECONDARY_START          0.000238   //  y-center meter (36 mu m up, for Bx)
//#define VSCAN3_SECONDARY_STEPNUMBER     0 //0 // 2      // 0 - single primary scan, 1-2  etc (N-1)
//#define VSCAN3_SECONDARY_STEP_SIZE      0.0002       // meters
//#define VSCAN3_SECONDARY_ZERO_INDEX     1   

#define USE_CENTER_POSITION      //define this variable to do secondary scans around defined center    
//  New 04-Apr-2007:	  If USE_CENTER_POSITION is not defined on previous line , ignore the rest
#ifdef USE_CENTER_POSITION
    //--------------------------------------------------- 
    #define BSCANZ_SECONDARY_CENTER         0.000263 //0.000  //  meters
    #define BSCANZ_SECONDARY_STEP_SIZE      0.0002 //m
    #define BSCANZ_SECONDARY_STEPNUMBER     0   // 0 - single , 1->3, 2->5  and etc.
    
    //Do not change !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    #define VSCAN3_SECONDARY_STEPNUMBER     BSCANZ_SECONDARY_STEPNUMBER*2 // 0 - single , 1->3, 2->5  and etc.              
    #define VSCAN3_SECONDARY_START          BSCANZ_SECONDARY_CENTER - BSCANZ_SECONDARY_STEPNUMBER*BSCANZ_SECONDARY_STEP_SIZE
    #define VSCAN3_SECONDARY_STEP_SIZE      BSCANZ_SECONDARY_STEP_SIZE 
    #define VSCAN3_SECONDARY_ZERO_INDEX     1   
    //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    //---------------------------------------------------
// #else   //to avoid errors comment above or below depending on USE_CENTER_POSITION definition
    //--------------------------------------------------- 

//#define VSCAN3_SECONDARY_START          0.000212  //0.000118//  y-center meters	 (36 mu m up, for Bx)
//#define VSCAN3_SECONDARY_STEPNUMBER     0 //0 // 2       // 0 - single primary scan, 1-2  etc (N-1)
//#define VSCAN3_SECONDARY_STEP_SIZE      0.0002       // meters
//#define VSCAN3_SECONDARY_ZERO_INDEX     1 

//    #define VSCAN3_SECONDARY_START          0.000403 //0.000508      // meters  
//    #define VSCAN3_SECONDARY_STEPNUMBER     2              // 0 - single primary scan, 1->2, 2->3 and etc.
//    #define VSCAN3_SECONDARY_STEP_SIZE      0.0001           // meters
    //---------------------------------------------------
#endif 

// End of 04-Apr-2007 insertion


////// FIXED AXIS SETTINGS /////////////////////////
//---------------------------------------------------
#define VSCAN3_FIXED_AXIS               VSCAN3_MOVE_X   //VSCAN3_MOVE_Z //VSCAN3_MOVE_Y  //fixed position
#define VSCAN3_FIXED_ON                 TRUE //FALSE 
#define VSCAN3_FIXED_POS                0.027836    // x meters
#define VSCAN3_FIXED_ZERO_INDEX         1


//pxi server settings
#define VSCAN3_PORT_NUMBER              6340 //see labview host server
//#define VSCAN3_IP_ADDRESS				"134.79.82.103" //pxi1031
#define VSCAN3_IP_ADDRESS				"192.168.0.2" //"134.79.82.102" //pxi1002


//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// may require to switch cables after changing the following setting
#define     VSCAN3_DATA_PARAM           VSCAN3_ADC123 // VSCAN3_ADC1THEN2 VSCAN3_ADC123
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


/////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////// PXI ENCODER TRIGGERING SYSTEM //////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////// 
//default values 
#define X_COUNTS_PER_INDEX              100000                  //5 cm per index
#define ENCODER_X_MICRON_PER_COUNT      0.5                     //microns
#define X_MULTIPLES_OF_COUNT            VSCAN3_COUNTS_MULTIPLE  // default value, real value is set by vscan3
#define X_INDICES_BEFORE_RESET          VSCAN3_START_X_POS      // default value, real value is set by vscan3
#define X_NUMBER_OF_INDICES             VSCAN3_STOP_X_POS       // default value, real value is set by vscan3

#define Y_COUNTS_PER_INDEX              100000                  // 5 cm per index
#define ENCODER_Y_MICRON_PER_COUNT      0.5                     //microns
#define Y_MULTIPLES_OF_COUNT            VSCAN3_COUNTS_MULTIPLE  // default value, real value is set by vscan3  
#define Y_INDICES_BEFORE_RESET          VSCAN3_START_Y_POS      // default value, real value is set by vscan3
#define Y_NUMBER_OF_INDICES             VSCAN3_STOP_Y_POS       // default value, real value is set by vscan3

#define Z_COUNTS_PER_INDEX              200000                  //20 cm per index
#define ENCODER_Z_MICRON_PER_COUNT      1.0                     //microns 
#define Z_MULTIPLES_OF_COUNT            VSCAN3_COUNTS_MULTIPLE  // default value, real value is set by vscan3
#define Z_INDICES_BEFORE_RESET          VSCAN3_START_Z_POS      // default value, real value is set by vscan3
#define Z_NUMBER_OF_INDICES             VSCAN3_STOP_Z_POS       // default value, real value is set by vscan3

///////////////////////////////////////////////////////////////////////////////////////////////////////////// 




//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////// MOTOR DRIVERS SECTION ///////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
//general settings

//*** quick access definitions ***//

#define RS232_CM6K4_ADDR                    1
#define MOVE_RS232_CM6K4_COM                RS232_CM6K4_COM

#define MOVE_X_ACC                          .003 //.002
#define MOVE_Y_ACC                          .0001 
#define MOVE_Z_ACC                          .08  //0.08 //.035
#define MOVE_W_ACC                          MOVE_Z_ACC

#define MOVE_X_VEL                          .003 //.002
#define MOVE_X_HI_VEL                       .02

#define MOVE_Y_VEL                          .0002  //0.0002
#define MOVE_Y_HI_VEL                       .0005

#define MOVE_Z_VEL                          0.04  //0.02//  
#define MOVE_Z_HI_VEL                       .16 
#define MOVE_W_VEL							MOVE_Z_VEL
#define MOVE_W_HI_VEL						MOVE_Z_HI_VEL

// *** end quick access settings *** //


//*** other drivers specific settings *** //
#define RS232_SXDRIVE_ADDR              1 
#define GPIB_CM2100_ADDR                01
#define GPIB_CM4000_ADDR                01
#define GPIB_MC4_ADDR                   14
 // **** end of other drivers settings


   

//////////////////////////////////////////////////////////////////////////////////////////////////
// *********-> section to set driver types
//-------------------------------------------------------------------------------------------------
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
//----------------------------------------  settings constants---------------------------------------
// direction
#define MOVE_DIRECTION_POSITIVE             1
#define MOVE_DIRECTION_NEGATIVE             -1

//define zeroing options
#define MOVE_HOMING                         0
#define MOVE_ENDSWITCH                      1
#define MOVE_SETMANUALLY                    2
//*****************************************************************************************************
#define MOVEX_DEVICE_TYPE               MOVE_CM6K_CM6K  //MOVE_CM6K4_CM6K4
#define MOVEX_AXIS_NUMBER               1 // 1 - x 2 - y 3 - z
#define MOVEX_AXIS_CHAR                 'X'
#define MOVEX_GPIB_BOARD_ADDR           GPIB_BOARD_ADDR   //use default if use only one gpib board
#define MOVEX_RS232_COM_PORT            RS232_CM6K4_COM  //set 1 if not used 
#define MOVEX_DEV_ADDR                  RS232_CM6K4_ADDR  //use for both rs232 and GPIB, despite it will be really used only with gpib
#define MOVEX_TRANSLATE_METERS_PER_REV  0.0010187189609066598752069272889342    //.01 //parameter takes care about gears and etc.
#define MOVEX_ACC                       MOVE_X_ACC
#define MOVEX_VEL                       MOVE_X_VEL
#define MOVEX_ADDR                      RS232_CM6K4_ADDR
#define MOVEX_TRACES                    VSCAN3_X_TRACES //use data from vscan structure
#define MOVEX_DIRECTION                 MOVE_DIRECTION_POSITIVE
#define MOVEX_ZEROSET                   MOVE_HOMING //MOVE_SETMANUALLY
#define MOVEX_ZERO_OFFSET               0.0//-.05358

//YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
#define MOVEY_DEVICE_TYPE               MOVE_CM6K_CM6K  //MOVE_CM6K4_CM6K4
#define MOVEY_AXIS_NUMBER               4 // 1 - x 2 - y 3 - z
#define MOVEY_AXIS_CHAR                 'Y'
#define MOVEY_GPIB_BOARD_ADDR           GPIB_BOARD_ADDR   //use default if use only one gpib board
#define MOVEY_RS232_COM_PORT            RS232_CM6K4_COM  //set 1 if not used 
#define MOVEY_DEV_ADDR                  RS232_CM6K4_ADDR  //use for both rs232 and GPIB, despite it will be really used only with gpib
#define MOVEY_TRANSLATE_METERS_PER_REV  .000250     //.00300   //parameter takes care about gears and etc.
#define MOVEY_ACC                       MOVE_Y_ACC
#define MOVEY_VEL                       MOVE_Y_VEL
#define MOVEY_ADDR                      RS232_CM6K4_ADDR 
#define MOVEY_TRACES                    VSCAN3_Y_TRACES
#define MOVEY_DIRECTION                 MOVE_DIRECTION_NEGATIVE
#define MOVEY_ZEROSET                   MOVE_HOMING //MOVE_HOMING  //MOVE_ENDSWITCH
#define MOVEY_ZERO_OFFSET               0.0 

//ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
#define MOVEZ_DEVICE_TYPE               MOVE_CM6K_CM6K  //MOVE_CM6K4_CM6K4
#define MOVEZ_AXIS_NUMBER               3 // 1 - x 2 - y 3 - z
#define MOVEZ_AXIS_CHAR                 'Z'
#define MOVEZ_GPIB_BOARD_ADDR           GPIB_BOARD_ADDR   //use default if use only one gpib board
#define MOVEZ_RS232_COM_PORT            RS232_CM6K4_COM  //set 1 if not used 
#define MOVEZ_DEV_ADDR                  RS232_CM6K4_ADDR  //use for both rs232 and GPIB, despite it will be really used only with gpib
#define MOVEZ_TRANSLATE_METERS_PER_REV  .01988  //0.02    //parameter takes care about gears and etc.
#define MOVEZ_ACC                       MOVE_Z_ACC
#define MOVEZ_VEL                       MOVE_Z_VEL
#define MOVEZ_ADDR                      RS232_CM6K4_ADDR 
#define MOVEZ_TRACES                    VSCAN3_Z_TRACES
#define MOVEZ_DIRECTION                 MOVE_DIRECTION_POSITIVE
#define MOVEZ_ZEROSET                   MOVE_ENDSWITCH //MOVE_SETMANUALLY 
#define MOVEZ_ZERO_OFFSET               VSCAN3_OUT_CALIB_DIST

//WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
#define MOVEW_DEVICE_TYPE               MOVE_CM6K_CM6K //MOVE_CM6K4_CM6K4
#define MOVEW_AXIS_NUMBER               2 //cm6k4 1 - x 2 - y 3 - z
#define MOVEW_AXIS_CHAR                 'W'

#define MOVEW_GPIB_BOARD_ADDR           0   //set 0 if not used
#define MOVEW_RS232_COM_PORT            MOVE_RS232_CM6K4_COM  //set 1 if not used 
#define MOVEW_DEV_ADDR                  RS232_CM6K4_ADDR  //use for both rs232 and GPIB, despite it will be really used only with gpib

#define MOVEW_TRANSLATE_METERS_PER_REV  0.066598//.01988  //0.02 
//#define MOVEZ_ENCODER_METERS_PER_LINE CM6K4_ENCODER_Z_METERS_PER_LINE 
#define MOVEW_ACC                       MOVE_W_ACC
#define MOVEW_VEL                       MOVE_W_VEL
#define MOVEW_ADDR                      RS232_CM6K4_ADDR
#define MOVEW_DIRECTION                 MOVE_DIRECTION_POSITIVE
#define MOVEW_ZEROSET                   MOVE_NONE //MOVE_SETMANUALLY //MOVE_ENDSWITCH  //MOVE_HOMING  //MOVE_ENDSWITCH //MOVE_SETMANUALLY
#define MOVEW_ZERO_OFFSET               0.00 //0.02

//**** End of select drive section ****//
//////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////// END MOTOR DRIVERS SECTION ///////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////

///////////////////////////// Get Data Section (retrieve temperatures from socket server)/////////

#define PD_SOURCE_LOCATION              "dstp://134.79.80.57/labctrl"  // mmfambient
//#define PD_UPDATE_SVR_ON_CHANGE           0   //if false, requires to call update server function
                                                //after data submitting is completed
///////////////////////////////////// END OF Get Data Section /////////////////////////////////////
 
/* End protection */
#endif
