#if !defined(_SSI_SSIDATA__INCLUDED_) #define _SSI_SSIDATA__INCLUDED_ const CString cs_SerialNo =_T("SerialNo"); const CString cs_X_Non_linear_Correction_table =_T("X Non linear Correction table"); const CString cs_Y_Non_linear_Correction_table =_T("Y Non linear Correction table"); const CString cs_X_Deviation_table =_T("X Deviation table"); const CString cs_Y_Deviation_table =_T("Y Deviation table"); const CString cs_JS_MAX_VELOCITY_X =_T("JS_MAX_VELOCITY_X"); const CString cs_JS_MAX_VELOCITY_Y =_T("JS_MAX_VELOCITY_Y"); const CString cs_JS_MAX_VELOCITY_Z =_T("JS_MAX_VELOCITY_Z"); const CString cs_JS_MAX_VELOCITY_ZM =_T("JS_MAX_VELOCITY_ZM"); const CString cs_JS_X_SERVO_SWAP =_T("JS_X_SERVO_SWAP"); const CString cs_JS_X_SERVO_KP =_T("JS_X_SERVO_KP"); const CString cs_JS_X_SERVO_KI =_T("JS_X_SERVO_KI"); const CString cs_JS_X_SERVO_KD =_T("JS_X_SERVO_KD"); const CString cs_JS_X_SERVO_IL =_T("JS_X_SERVO_IL"); const CString cs_JS_Y_SERVO_SWAP =_T("JS_Y_SERVO_SWAP"); const CString cs_JS_Y_SERVO_KP =_T("JS_Y_SERVO_KP"); const CString cs_JS_Y_SERVO_KI =_T("JS_Y_SERVO_KI"); const CString cs_JS_Y_SERVO_KD =_T("JS_Y_SERVO_KD"); const CString cs_JS_Y_SERVO_IL =_T("JS_Y_SERVO_IL"); const CString cs_JS_Z_SERVO_SWAP =_T("JS_Z_SERVO_SWAP"); const CString cs_JS_Z_SERVO_KP =_T("JS_Z_SERVO_KP"); const CString cs_JS_Z_SERVO_KI =_T("JS_Z_SERVO_KI"); const CString cs_JS_Z_SERVO_KD =_T("JS_Z_SERVO_KD"); const CString cs_JS_Z_SERVO_IL =_T("JS_Z_SERVO_IL"); const CString cs_JS_ZM_SERVO_SWAP =_T("JS_ZM_SERVO_SWAP"); const CString cs_JS_ZM_SERVO_KP =_T("JS_ZM_SERVO_KP"); const CString cs_JS_ZM_SERVO_KI =_T("JS_ZM_SERVO_KI"); const CString cs_JS_ZM_SERVO_KD =_T("JS_ZM_SERVO_KD"); const CString cs_JS_ZM_SERVO_IL =_T("JS_ZM_SERVO_IL"); const CString cs_TB_X_SERVO_ACC =_T("TB_X_SERVO_ACC"); const CString cs_TB_X_SERVO_VEL =_T("TB_X_SERVO_VEL"); const CString cs_TB_X_SERVO_KP =_T("TB_X_SERVO_KP" ); const CString cs_TB_X_SERVO_KI =_T("TB_X_SERVO_KI"); const CString cs_TB_X_SERVO_KD =_T("TB_X_SERVO_KD"); const CString cs_TB_X_SERVO_IL =_T("TB_X_SERVO_IL"); const CString cs_TB_X_SERVO_SWAP =_T("TB_X_SERVO_SWAP"); const CString cs_TB_Y_SERVO_ACC =_T("TB_Y_SERVO_ACC"); const CString cs_TB_Y_SERVO_VEL =_T("TB_Y_SERVO_VEL"); const CString cs_TB_Y_SERVO_KP =_T("TB_Y_SERVO_KP"); const CString cs_TB_Y_SERVO_KI =_T("TB_Y_SERVO_KI"); const CString cs_TB_Y_SERVO_KD =_T("TB_Y_SERVO_KD"); const CString cs_TB_Y_SERVO_IL =_T("TB_Y_SERVO_IL"); const CString cs_TB_Y_SERVO_SWAP =_T("TB_Y_SERVO_SWAP"); const CString cs_AG_X_SERVO_ACC =_T("AG_X_SERVO_ACC"); const CString cs_AG_X_SERVO_VEL =_T("AG_X_SERVO_VEL"); const CString cs_AG_X_SERVO_KP =_T("AG_X_SERVO_KP"); const CString cs_AG_X_SERVO_KI =_T("AG_X_SERVO_KI"); const CString cs_AG_X_SERVO_KD =_T("AG_X_SERVO_KD"); const CString cs_AG_X_SERVO_IL =_T("AG_X_SERVO_IL"); const CString cs_AG_Y_SERVO_ACC =_T("AG_Y_SERVO_ACC"); const CString cs_AG_Y_SERVO_VEL =_T("AG_Y_SERVO_VEL"); const CString cs_AG_Y_SERVO_KP =_T("AG_Y_SERVO_KP"); const CString cs_AG_Y_SERVO_KI =_T("AG_Y_SERVO_KI"); const CString cs_AG_Y_SERVO_KD =_T("AG_Y_SERVO_KD"); const CString cs_AG_Y_SERVO_IL =_T("AG_Y_SERVO_IL"); const CString cs_AG_Z_SERVO_ACC =_T("AG_Z_SERVO_ACC"); const CString cs_AG_Z_SERVO_VEL =_T("AG_Z_SERVO_VEL"); const CString cs_AG_Z_SERVO_KP =_T("AG_Z_SERVO_KP"); const CString cs_AG_Z_SERVO_KI =_T("AG_Z_SERVO_KI"); const CString cs_AG_Z_SERVO_KD =_T("AG_Z_SERVO_KD"); const CString cs_AG_Z_SERVO_IL =_T("AG_Z_SERVO_IL"); const CString cs_AG_ZM_SERVO_ACC =_T("AG_ZM_SERVO_ACC"); const CString cs_AG_ZM_SERVO_VEL =_T("AG_ZM_SERVO_VEL"); const CString cs_AG_ZM_SERVO_KP =_T("AG_ZM_SERVO_KP"); const CString cs_AG_ZM_SERVO_KI =_T("AG_ZM_SERVO_KI"); const CString cs_AG_ZM_SERVO_IL =_T("AG_ZM_SERVO_IL"); const CString cs_AG_ZM_SERVO_KD =_T("AG_ZM_SERVO_KD"); const CString cs_MAX_ZOOM_COUNTS =_T("MAX_ZOOM_COUNTS"); const CString cs_ZOOM_COUNT_TOLERANCE =_T("ZOOM_COUNT_TOLERANCE"); // 10 const CString cs_Zoom_Lens_Magnification_Calibration_Table =_T("Zoom Lens Magnification Calibration Table"); const CString cs_X_SCALE_FACTOR =_T("X_SCALE_FACTOR"); const CString cs_Y_SCALE_FACTOR =_T("Y_SCALE_FACTOR"); const CString cs_Z_SCALE_FACTOR =_T("Z_SCALE_FACTOR"); const CString cs_XY_SCALE_FACTOR =_T("XY_SCALE_FACTOR"); const CString cs_XZ_SCALE_FACTOR =_T("XZ_SCALE_FACTOR"); const CString cs_YZ_SCALE_FACTOR =_T("YZ_SCALE_FACTOR"); const CString cs_X_LOW_FOV_INCHES =_T("X_LOW_FOV_INCHES"); const CString cs_X_HIGH_FOV_INCHES =_T("X_HIGH_FOV_INCHES"); const CString cs_Y_LOW_FOV_INCHES =_T("Y_LOW_FOV_INCHES"); const CString cs_Y_HIGH_FOV_INCHES =_T("Y_HIGH_FOV_INCHES"); const CString cs_EDGE_CONTRAST_THRESHOLD =_T("EDGE_CONTRAST_THRESHOLD"); const CString cs_EDGE_X_SLOPE =_T("EDGE_X_SLOPE"); const CString cs_EDGE_Y_SLOPE =_T("EDGE_Y_SLOPE"); const CString cs_EDGE_X_OFFSET =_T("EDGE_X_OFFSET"); const CString cs_EDGE_Y_OFFSET =_T("EDGE_Y_OFFSET"); const CString cs_EDGE_IS_CALIBRATED =_T("EDGE_IS_CALIBRATED"); const CString cs_EDGE_AUTO_FOV =_T("EDGE_AUTO_FOV"); const CString cs_EDGE_RELATIVE_MAG =_T("EDGE_RELATIVE_MAG"); const CString cs_EDGE_ZOOM_RATIO =_T("EDGE_ZOOM_RATIO"); const CString cs_EDGE_FRAME_AVERAGES =_T("EDGE_FRAME_AVERAGES"); const CString cs_EDGE_AUTO_REMEASURE =_T("EDGE_AUTO_REMEASURE"); const CString cs_EDGE_TARGET_SIZE =_T("EDGE_TARGET_SIZE"); const CString cs_OPTICS_TUBE =_T("OPTICS_TUBE"); const CString cs_OPTICS_LENS =_T("OPTICS_LENS"); const CString cs_X_STAGE_TRAVEL =_T("X_STAGE_TRAVEL"); const CString cs_Y_STAGE_TRAVEL =_T("Y_STAGE_TRAVEL"); const CString cs_Z_STAGE_TRAVEL =_T("Z_STAGE_TRAVEL"); const CString cs_WARN_TRAVEL_EXCEEDED =_T("WARN_TRAVEL_EXCEEDED"); const CString cs_BACK_LIGHT_OFFSET =_T("BACK_LIGHT_OFFSET"); const CString cs_RING_LIGHT_OFFSET =_T("RING_LIGHT_OFFSET"); const CString cs_AUX_LIGHT_OFFSET =_T("AUX_LIGHT_OFFSET"); const CString cs_X_SERVO_PRE_VEL =_T("X_SERVO_PRE_VEL"); const CString cs_Y_SERVO_PRE_VEL =_T("Y_SERVO_PRE_VEL"); const CString cs_Z_SERVO_PRE_VEL =_T("Z_SERVO_PRE_VEL"); const CString cs_ZM_SERVO_PRE_VEL =_T("ZM_SERVO_PRE_VEL"); const CString cs_X_SERVO_XCESS_PERR =_T("X_SERVO_XCESS_PERR"); const CString cs_Y_SERVO_XCESS_PERR =_T("Y_SERVO_XCESS_PERR"); const CString cs_Z_SERVO_XCESS_PERR =_T("Z_SERVO_XCESS_PERR"); const CString cs_ZM_SERVO_XCESS_PERR =_T("ZM_SERVO_XCESS_PERR"); const CString cs_AG_X_POS_WIN =_T("AG_X_POS_WIN"); const CString cs_AG_Y_POS_WIN =_T("AG_Y_POS_WIN"); const CString cs_AG_Z_POS_WIN =_T("AG_Z_POS_WIN"); const CString cs_AG_ZM_POS_WIN =_T("AG_ZM_POS_WIN"); const CString cs_X_SCALE_SWAP =_T("X_SCALE_SWAP"); const CString cs_Y_SCALE_SWAP =_T("Y_SCALE_SWAP"); const CString cs_Z_SCALE_SWAP =_T("Z_SCALE_SWAP"); const CString cs_SECOND_X_SCALE_SWAP =_T("SECOND_X_SCALE_SWAP"); const CString cs_SECOND_Y_SCALE_SWAP =_T("SECOND_Y_SCALE_SWAP"); const CString cs_SECOND_Z_SCALE_SWAP =_T("SECOND_Z_SCALE_SWAP"); const CString cs_SECOND_X_SCALE_FACTOR =_T("SECOND_X_SCALE_FACTOR"); const CString cs_SECOND_Y_SCALE_FACTOR =_T("SECOND_Y_SCALE_FACTOR"); const CString cs_SECOND_Z_SCALE_FACTOR =_T("SECOND_Z_SCALE_FACTOR"); const CString cs_SENSOR_TYPE =_T("SENSOR_TYPE"); // 1 const CString cs_SENSOR_CAPTURE_RANGE =_T("SENSOR_CAPTURE_RANGE"); // 500 const CString cs_CENTER_X_OFFSET =_T("CENTER_X_OFFSET"); // -4.547296 const CString cs_CENTER_Y_OFFSET =_T("CENTER_Y_OFFSET"); // -0.021848 const CString cs_CENTER_Z_OFFSET =_T("CENTER_Z_OFFSET"); // +0.493055 const CString cs_SCAN_SPEED_VALUE =_T("SCAN_SPEED_VALUE"); // 100 const CString cs_FOCUS_RETRIES =_T("FOCUS_RETRIES"); // 3 const CString cs_FOCUS_AVERAGE =_T("FOCUS_AVERAGE"); // 5 const CString cs_LASER_CAL_SCAN_TRIES =_T("LASER_CAL_SCAN_TRIES"); // 5 const CString cs_LASER_CAL_ROUGH_BACKOFF =_T("LASER_CAL_ROUGH_BACKOFF"); // +0.100000 const CString cs_LASER_CAL_FINE_BACKOFF =_T("LASER_CAL_FINE_BACKOFF"); // +0.010000 const CString cs_LASER_CAL_ROUGH_SPACING =_T("LASER_CAL_ROUGH_SPACING"); // +0.001000000000 const CString cs_LASER_CAL_FINE_SPACING =_T("LASER_CAL_FINE_SPACING"); // +0.000400000000 const CString cs_LASER_CAL_THRESHOLD_VALUE =_T("LASER_CAL_THRESHOLD_VALUE"); // 15 const CString cs_LASER_CAL_MAX_EXPOSURE_TIME =_T("LASER_CAL_MAX_EXPOSURE_TIME"); // 75 const CString cs_LASER_CAL_BOX_WIDTH =_T("LASER_CAL_BOX_WIDTH"); // 0.750702 const CString cs_LASER_CAL_BOX_HEIGHT =_T("LASER_CAL_BOX_HEIGHT"); // 0.750571 const CString cs_LASER_CAL_STRONG_EDGE_SIZE =_T("LASER_CAL_STRONG_EDGE_SIZE"); // 60 const CString cs_LASER_CAL_STRONG_EDGE_CONTRAST =_T("LASER_CAL_STRONG_EDGE_CONTRAST"); // 1 const CString cs_LASER_CAL_FOCUS_BOX_SIZE =_T(" LASER_CAL_FOCUS_BOX_SIZE"); // 60 const CString cs_CONFIRM_LASER_DEPLOYMENT =_T("CONFIRM_LASER_DEPLOYMENT"); // 1 const CString cs_LASER_MECHANISM_TYPE =_T("LASER_MECHANISM_TYPE"); // 2 //added for 2000 const CString cs_USE_SECOND_X_SCALE =_T("USE_SECOND_X_SCALE"); const CString cs_USE_SECOND_Y_SCALE =_T("USE_SECOND_Y_SCALE"); const CString cs_USE_SECOND_Z_SCALE =_T("USE_SECOND_Z_SCALE"); // const CString cs_DUAL_X_SCALE_SEPARATION =_T("DUAL_X_SCALE_SEPARATION"); // 24.083779 const CString cs_DUAL_Y_SCALE_SEPARATION =_T("DUAL_Y_SCALE_SEPARATION"); // 24.100315 const CString cs_DUAL_Z_SCALE_SEPARATION =_T("DUAL_Z_SCALE_SEPARATION"); // 15.550000 const CString cs_OFFSET_X_LIMIT =_T("OFFSET_X_LIMIT"); const CString cs_OFFSET_Y_LIMIT =_T("OFFSET_Y_LIMIT"); const CString cs_OFFSET_Z_LIMIT =_T("OFFSET_Z_LIMIT"); const CString cs_FORCE_STAGE_INIT =_T("FORCE_STAGE_INIT"); const CString cs_FORCE_MAGNETIC_LIMITS_X =_T("FORCE_MAGNETIC_LIMITS_X"); // 0 const CString cs_FORCE_MAGNETIC_LIMITS_Y =_T("FORCE_MAGNETIC_LIMITS_Y"); // 0 const CString cs_FORCE_MAGNETIC_LIMITS_Z =_T("FORCE_MAGNETIC_LIMITS_Z"); // 0 const CString cs_JS_X_NEG_PRELIM_OFFSET =_T("JS_X_NEG_PRELIM_OFFSET"); const CString cs_JS_Y_NEG_PRELIM_OFFSET =_T("JS_Y_NEG_PRELIM_OFFSET"); const CString cs_JS_Z_NEG_PRELIM_OFFSET =_T("JS_Z_NEG_PRELIM_OFFSET"); const CString cs_JS_ZM_NEG_PRELIM =_T("JS_ZM_NEG_PRELIM"); const CString cs_JS_X_POS_PRELIM_OFFSET =_T("JS_X_POS_PRELIM_OFFSET"); const CString cs_JS_Y_POS_PRELIM_OFFSET =_T("JS_Y_POS_PRELIM_OFFSET"); const CString cs_JS_Z_POS_PRELIM_OFFSET =_T("JS_Z_POS_PRELIM_OFFSET"); const CString cs_JS_ZM_POS_PRELIM =_T("JS_ZM_POS_PRELIM"); const CString cs_AG_X_NEG_PRELIM_OFFSET =_T("AG_X_NEG_PRELIM_OFFSET"); const CString cs_AG_Y_NEG_PRELIM_OFFSET =_T("AG_Y_NEG_PRELIM_OFFSET"); const CString cs_AG_Z_NEG_PRELIM_OFFSET =_T("AG_Z_NEG_PRELIM_OFFSET"); const CString cs_AG_ZM_NEG_PRELIM =_T("AG_ZM_NEG_PRELIM"); const CString cs_AG_X_POS_PRELIM_OFFSET =_T("AG_X_POS_PRELIM_OFFSET"); const CString cs_AG_Y_POS_PRELIM_OFFSET =_T("AG_Y_POS_PRELIM_OFFSET"); const CString cs_AG_Z_POS_PRELIM_OFFSET =_T("AG_Z_POS_PRELIM_OFFSET"); const CString cs_AG_ZM_POS_PRELIM =_T("AG_ZM_POS_PRELIM"); const CString cs_AG_MIN_MOVE_TIME =_T("AG_MIN_MOVE_TIME"); // HW settle cfg strings const CString cs_EDGE_RETRY_TIMEOUT_X =_T("EDGE_RETRY_TIMEOUT_X"); const CString cs_EDGE_RETRY_TIMEOUT_Y =_T("EDGE_RETRY_TIMEOUT_Y"); const CString cs_EDGE_RETRY_TIMEOUT_Z =_T("EDGE_RETRY_TIMEOUT_Z"); const CString cs_EDGE_RETRY_TIMEOUT_MAG =_T("EDGE_RETRY_TIMEOUT_MAG"); const CString cs_EDGE_RETRY_BANDWIDTH_X =_T("EDGE_RETRY_BANDWIDTH_X"); const CString cs_EDGE_RETRY_BANDWIDTH_Y =_T("EDGE_RETRY_BANDWIDTH_Y"); const CString cs_EDGE_RETRY_BANDWIDTH_Z =_T("EDGE_RETRY_BANDWIDTH_Z"); const CString cs_EDGE_RETRY_BANDWIDTH_MAG =_T("EDGE_RETRY_BANDWIDTH_MAG"); const CString cs_EDGE_RETRY_COUNT_X =_T("EDGE_RETRY_COUNT_X"); const CString cs_EDGE_RETRY_COUNT_Y =_T("EDGE_RETRY_COUNT_Y"); const CString cs_EDGE_RETRY_COUNT_Z =_T("EDGE_RETRY_COUNT_Z"); const CString cs_EDGE_RETRY_COUNT_MAG =_T("EDGE_RETRY_COUNT_MAG"); const CString cs_MM_XY_PIXEL_MOTION_TOLERANCE =_T("MM_XY_PIXEL_MOTION_TOLERANCE"); const CString cs_MM_Z_INCH_MOTION_TOLERANCE =_T("MM_Z_INCH_MOTION_TOLERANCE"); const CString cs_MM_ZOOM_PERCENT_MOTION_TOLERANCE =_T("MM_ZOOM_PERCENT_MOTION_TOLERANCE"); const CString cs_LIGHT_SETTLE_TIME =_T("LIGHT_SETTLE_TIME"); const CString cs_BACK_LIGHT_MAPPING =_T("BACK_LIGHT_MAPPING"); const CString cs_RING_LIGHT_MAPPING =_T("RING_LIGHT_MAPPING"); const CString cs_AUX_LIGHT_MAPPING =_T("AUX_LIGHT_MAPPING"); const CString cs_GRID_LIGHT_MAPPING =_T("GRID_LIGHT_MAPPING"); const CString cs_JS_X_SERVO_KDD = _T("JS_X_SERVO_KDD"); const CString cs_JS_X_SERVO_KSD = _T("JS_X_SERVO_KSD"); const CString cs_JS_X_SERVO_AFF = _T("JS_X_SERVO_AFF"); const CString cs_JS_X_SERVO_VFF = _T("JS_X_SERVO_VFF"); const CString cs_JS_Y_SERVO_KDD = _T("JS_Y_SERVO_KDD"); const CString cs_JS_Y_SERVO_KSD = _T("JS_Y_SERVO_KSD"); const CString cs_JS_Y_SERVO_AFF = _T("JS_Y_SERVO_AFF"); const CString cs_JS_Y_SERVO_VFF = _T("JS_Y_SERVO_VFF"); const CString cs_JS_Z_SERVO_KDD = _T("JS_Z_SERVO_KDD"); const CString cs_JS_Z_SERVO_KSD = _T("JS_Z_SERVO_KSD"); const CString cs_JS_Z_SERVO_AFF = _T("JS_Z_SERVO_AFF"); const CString cs_JS_Z_SERVO_VFF = _T("JS_Z_SERVO_VFF"); const CString cs_TB_X_SERVO_KDD = _T("TB_X_SERVO_KDD"); const CString cs_TB_X_SERVO_KSD = _T("TB_X_SERVO_KSD"); const CString cs_TB_X_SERVO_AFF = _T("TB_X_SERVO_AFF"); const CString cs_TB_X_SERVO_VFF = _T("TB_X_SERVO_VFF"); const CString cs_TB_Y_SERVO_KDD = _T("TB_Y_SERVO_KDD"); const CString cs_TB_Y_SERVO_KSD = _T("TB_Y_SERVO_KSD"); const CString cs_TB_Y_SERVO_AFF = _T("TB_Y_SERVO_AFF"); const CString cs_TB_Y_SERVO_VFF = _T("TB_Y_SERVO_VFF"); const CString cs_AG_X_SERVO_KDD = _T("AG_X_SERVO_KDD"); const CString cs_AG_X_SERVO_KSD = _T("AG_X_SERVO_KSD"); const CString cs_AG_X_SERVO_AFF = _T("AG_X_SERVO_AFF"); const CString cs_AG_X_SERVO_VFF = _T("AG_X_SERVO_VFF"); const CString cs_AG_X_SERVO_PID_SWAP = _T("AG_X_SERVO_PID_SWAP"); const CString cs_AG_Y_SERVO_KDD = _T("AG_Y_SERVO_KDD"); const CString cs_AG_Y_SERVO_KSD = _T("AG_Y_SERVO_KSD"); const CString cs_AG_Y_SERVO_AFF = _T("AG_Y_SERVO_AFF"); const CString cs_AG_Y_SERVO_VFF = _T("AG_Y_SERVO_VFF"); const CString cs_AG_Y_SERVO_PID_SWAP = _T("AG_Y_SERVO_PID_SWAP"); const CString cs_AG_Z_SERVO_KDD = _T("AG_Z_SERVO_KDD"); const CString cs_AG_Z_SERVO_KSD = _T("AG_Z_SERVO_KSD"); const CString cs_AG_Z_SERVO_AFF = _T("AG_Z_SERVO_AFF"); const CString cs_AG_Z_SERVO_VFF = _T("AG_Z_SERVO_VFF"); const CString cs_AG_Z_SERVO_PID_SWAP = _T("AG_Z_SERVO_PID_SWAP"); const CString cs_AG_ZM_SERVO_PID_SWAP = _T("AG_ZM_SERVO_PID_SWAP"); const CString cs_TP_AP_X_SERVO_ACC = _T("TP_AP_X_SERVO_ACC"); const CString cs_TP_AP_X_SERVO_VEL = _T("TP_AP_X_SERVO_VEL"); const CString cs_TP_AP_X_SERVO_KP = _T("TP_AP_X_SERVO_KP"); const CString cs_TP_AP_X_SERVO_KI = _T("TP_AP_X_SERVO_KI"); const CString cs_TP_AP_X_SERVO_KD = _T("TP_AP_X_SERVO_KD"); const CString cs_TP_AP_X_SERVO_IL = _T("TP_AP_X_SERVO_IL"); const CString cs_TP_AP_X_SERVO_KDD = _T("TP_AP_X_SERVO_KDD"); const CString cs_TP_AP_X_SERVO_KSD = _T("TP_AP_X_SERVO_KSD"); const CString cs_TP_AP_X_SERVO_AFF = _T("TP_AP_X_SERVO_AFF"); const CString cs_TP_AP_X_SERVO_VFF = _T("TP_AP_X_SERVO_VFF"); const CString cs_TP_AP_X_SERVO_PID_SWAP = _T("TP_AP_X_SERVO_PID_SWAP"); const CString cs_TP_AP_Y_SERVO_ACC = _T("TP_AP_Y_SERVO_ACC"); const CString cs_TP_AP_Y_SERVO_VEL = _T("TP_AP_Y_SERVO_VEL"); const CString cs_TP_AP_Y_SERVO_KP = _T("TP_AP_Y_SERVO_KP"); const CString cs_TP_AP_Y_SERVO_KI = _T("TP_AP_Y_SERVO_KI"); const CString cs_TP_AP_Y_SERVO_KD = _T("TP_AP_Y_SERVO_KD"); const CString cs_TP_AP_Y_SERVO_IL = _T("TP_AP_Y_SERVO_IL"); const CString cs_TP_AP_Y_SERVO_KDD = _T("TP_AP_Y_SERVO_KDD"); const CString cs_TP_AP_Y_SERVO_KSD = _T("TP_AP_Y_SERVO_KSD"); const CString cs_TP_AP_Y_SERVO_AFF = _T("TP_AP_Y_SERVO_AFF"); const CString cs_TP_AP_Y_SERVO_VFF = _T("TP_AP_Y_SERVO_VFF"); const CString cs_TP_AP_Y_SERVO_PID_SWAP = _T("TP_AP_Y_SERVO_PID_SWAP"); const CString cs_TP_AP_Z_SERVO_ACC = _T("TP_AP_Z_SERVO_ACC"); const CString cs_TP_AP_Z_SERVO_VEL = _T("TP_AP_Z_SERVO_VEL"); const CString cs_TP_AP_Z_SERVO_KP = _T("TP_AP_Z_SERVO_KP"); const CString cs_TP_AP_Z_SERVO_KI = _T("TP_AP_Z_SERVO_KI"); const CString cs_TP_AP_Z_SERVO_KD = _T("TP_AP_Z_SERVO_KD"); const CString cs_TP_AP_Z_SERVO_IL = _T("TP_AP_Z_SERVO_IL"); const CString cs_TP_AP_Z_SERVO_KDD = _T("TP_AP_Z_SERVO_KDD"); const CString cs_TP_AP_Z_SERVO_KSD = _T("TP_AP_Z_SERVO_KSD"); const CString cs_TP_AP_Z_SERVO_AFF = _T("TP_AP_Z_SERVO_AFF"); const CString cs_TP_AP_Z_SERVO_VFF = _T("TP_AP_Z_SERVO_VFF"); const CString cs_TP_AP_Z_SERVO_PID_SWAP = _T("TP_AP_Z_SERVO_PID_SWAP"); const CString cs_TP_UNFREEZE_DIST = _T("TP_UNFREEZE_DIST"); // 0.150000 const CString cs_TP_DO_ARC_MOTION = _T("TP_DO_ARC_MOTION"); // 1 const CString cs_TP_ARC_X_SERVO_ACC = _T("TP_ARC_X_SERVO_ACC"); // 0 const CString cs_TP_ARC_Y_SERVO_ACC = _T("TP_ARC_Y_SERVO_ACC"); // 0 const CString cs_TP_ARC_Z_SERVO_ACC = _T("TP_ARC_Z_SERVO_ACC"); // 0 const CString cs_TP_ARC_X_SERVO_VEL = _T("TP_ARC_X_SERVO_VEL"); // 0 const CString cs_TP_ARC_Y_SERVO_VEL = _T("TP_ARC_Y_SERVO_VEL"); // 0 const CString cs_TP_ARC_Z_SERVO_VEL = _T("TP_ARC_Z_SERVO_VEL"); // 0 const CString cs_X_BREAK_THRESHOLD = _T("X_BREAK_THRESHOLD"); // 0 const CString cs_Y_BREAK_THRESHOLD = _T("Y_BREAK_THRESHOLD"); // 0 const CString cs_Z_BREAK_THRESHOLD = _T("Z_BREAK_THRESHOLD"); // 0 const CString cs_ZM_BREAK_THRESHOLD = _T("ZM_BREAK_THRESHOLD"); // 0 const CString cs_X_BREAK_TICKS = _T("X_BREAK_TICKS"); // 0 const CString cs_Y_BREAK_TICKS = _T("Y_BREAK_TICKS"); // 0 const CString cs_Z_BREAK_TICKS = _T("Z_BREAK_TICKS"); // 0 const CString cs_ZM_BREAK_TICKS = _T("ZM_BREAK_TICKS"); // 0 const CString cs_TP_DOCKING_X_SERVO_ACC = _T("TP_DOCKING_X_SERVO_ACC"); // 7500 const CString cs_TP_DOCKING_Y_SERVO_ACC = _T("TP_DOCKING_Y_SERVO_ACC"); // 7500 const CString cs_TP_DOCKING_Z_SERVO_ACC = _T("TP_DOCKING_Z_SERVO_ACC"); // 7500 const CString cs_TP_DOCKING_X_SERVO_VEL = _T("TP_DOCKING_X_SERVO_VEL"); // 238450 const CString cs_TP_DOCKING_Y_SERVO_VEL = _T("TP_DOCKING_Y_SERVO_VEL"); // 238450 const CString cs_TP_DOCKING_Z_SERVO_VEL = _T("TP_DOCKING_Z_SERVO_VEL"); // 238450 const CString cs_X_NEG_LIM_POSITION_KEEP_ENABLE = _T("X_NEG_LIM_POSITION_KEEP_ENABLE"); // 0 const CString cs_X_POS_LIM_POSITION_KEEP_ENABLE = _T("X_POS_LIM_POSITION_KEEP_ENABLE"); // 0 const CString cs_Y_NEG_LIM_POSITION_KEEP_ENABLE = _T("Y_NEG_LIM_POSITION_KEEP_ENABLE"); // 0 const CString cs_Y_POS_LIM_POSITION_KEEP_ENABLE = _T("Y_POS_LIM_POSITION_KEEP_ENABLE"); // 0 const CString cs_Z_NEG_LIM_POSITION_KEEP_ENABLE = _T("Z_NEG_LIM_POSITION_KEEP_ENABLE"); // 0 const CString cs_Z_POS_LIM_POSITION_KEEP_ENABLE = _T("Z_POS_LIM_POSITION_KEEP_ENABLE"); // 0 const CString cs_ROTARY_SLOW_VELOCITY = _T("ROTARY_SLOW_VELOCITY"); // 24 const CString cs_ROTARY_MEDIUM_VELOCITY = _T("ROTARY_MEDIUM_VELOCITY"); // 48 const CString cs_ROTARY_FAST_VELOCITY = _T("ROTARY_FAST_VELOCITY"); // 96 const CString cs_PRIMARY_ROTARY_SERVO_KP = _T("PRIMARY_ROTARY_SERVO_KP"); // 16 const CString cs_PRIMARY_ROTARY_SERVO_KI = _T("PRIMARY_ROTARY_SERVO_KI "); // 2000 const CString cs_PRIMARY_ROTARY_SERVO_KIC = _T("PRIMARY_ROTARY_SERVO_KIC"); // 16000 const CString cs_PRIMARY_ROTARY_SERVO_KDD = _T("PRIMARY_ROTARY_SERVO_KDD"); // 16 const CString cs_PRIMARY_ROTARY_SERVO_IL = _T("PRIMARY_ROTARY_SERVO_IL"); // 500 const CString cs_PRIMARY_ROTARY_SERVO_KSP = _T("PRIMARY_ROTARY_SERVO_KSP"); // 8 const CString cs_PRIMARY_ROTARY_SERVO_KSD = _T("PRIMARY_ROTARY_SERVO_KSD"); // 16 const CString cs_PRIMARY_ROTARY_XCESS_PERR = _T("PRIMARY_ROTARY_XCESS_PERR"); // 0 const CString cs_PRIMARY_ROTARY_TRAJECTORY_FILTER = _T("PRIMARY_ROTARY_TRAJECTORY_FILTER"); // 4 const CString cs_SECONDARY_ROTARY_SERVO_KP = _T("SECONDARY_ROTARY_SERVO_KP"); // 20 const CString cs_SECONDARY_ROTARY_SERVO_KI = _T("SECONDARY_ROTARY_SERVO_KI "); // 2000 const CString cs_SECONDARY_ROTARY_SERVO_KIC = _T("SECONDARY_ROTARY_SERVO_KIC"); // 16000 const CString cs_SECONDARY_ROTARY_SERVO_KDD = _T("SECONDARY_ROTARY_SERVO_KDD"); // 16 const CString cs_SECONDARY_ROTARY_SERVO_IL = _T("SECONDARY_ROTARY_SERVO_IL"); // 500 const CString cs_SECONDARY_ROTARY_SERVO_KSP = _T("SECONDARY_ROTARY_SERVO_KSP"); // 8 const CString cs_SECONDARY_ROTARY_SERVO_KSD = _T("SECONDARY_ROTARY_SERVO_KSD"); // 16 const CString cs_SECONDARY_ROTARY_XCESS_PERR = _T("SECONDARY_ROTARY_XCESS_PERR"); // 0 const CString cs_SECONDARY_ROTARY_TRAJECTORY_FILTER = _T("SECONDARY_ROTARY_TRAJECTORY_FILTER"); // 2 const CString cs_X_POS_KEEP_PARAMS_ENABLE = _T("X_POS_KEEP_PARAMS_ENABLE"); // 0 const CString cs_X_POS_KEEP_POS_WIN = _T("X_POS_KEEP_POS_WIN"); // 0.000500 const CString cs_X_POS_KEEP_KP = _T("X_POS_KEEP_KP"); // 1 const CString cs_X_POS_KEEP_KPF = _T("X_POS_KEEP_KPF"); // 0.0000 const CString cs_X_POS_KEEP_KI = _T("X_POS_KEEP_KI"); // 0 const CString cs_X_POS_KEEP_KIF = _T("X_POS_KEEP_KIF"); // 0.0000 const CString cs_X_POS_KEEP_KD = _T("X_POS_KEEP_KD"); // 0 const CString cs_X_POS_KEEP_IL = _T("X_POS_KEEP_IL"); // 10000 const CString cs_X_POS_KEEP_KDD = _T("X_POS_KEEP_KDD"); // 0 const CString cs_X_POS_KEEP_PARAM_10 = _T("X_POS_KEEP_PARAM_10"); // 0 const CString cs_X_POS_KEEP_PARAM_11 = _T("X_POS_KEEP_PARAM_11"); // 0 const CString cs_X_POS_KEEP_PARAM_12 = _T("X_POS_KEEP_PARAM_12"); // 0 const CString cs_X_POS_KEEP_KSD = _T("X_POS_KEEP_KSD"); // 0 const CString cs_X_POS_KEEP_KSP = _T("X_POS_KEEP_KSP"); // 0 const CString cs_Y_POS_KEEP_PARAMS_ENABLE = _T("Y_POS_KEEP_PARAMS_ENABLE"); // 0 const CString cs_Y_POS_KEEP_POS_WIN = _T("Y_POS_KEEP_POS_WIN"); // 0.000500 const CString cs_Y_POS_KEEP_KP = _T("Y_POS_KEEP_KP"); // 1 const CString cs_Y_POS_KEEP_KPF = _T("Y_POS_KEEP_KPF"); // 0.0000 const CString cs_Y_POS_KEEP_KI = _T("Y_POS_KEEP_KI"); // 0 const CString cs_Y_POS_KEEP_KIF = _T("Y_POS_KEEP_KIF"); // 0.0000 const CString cs_Y_POS_KEEP_KD = _T("Y_POS_KEEP_KD"); // 0 const CString cs_Y_POS_KEEP_IL = _T("Y_POS_KEEP_IL"); // 10000 const CString cs_Y_POS_KEEP_KDD = _T("Y_POS_KEEP_KDD"); // 0 const CString cs_Y_POS_KEEP_PARAM_10 = _T("Y_POS_KEEP_PARM_10"); // 0 const CString cs_Y_POS_KEEP_PARAM_11 = _T("Y_POS_KEEP_PARM_11"); // 0 const CString cs_Y_POS_KEEP_PARAM_12 = _T("Y_POS_KEEP_PARM_12"); // 0 const CString cs_Y_POS_KEEP_KSD = _T("Y_POS_KEEP_KSD"); // 0 const CString cs_Y_POS_KEEP_KSP = _T("Y_POS_KEEP_KSP"); // 0 const CString cs_Z_POS_KEEP_PARAMS_ENABLE = _T("Z_POS_KEEP_PARAMS_ENABLE"); // 0 const CString cs_Z_POS_KEEP_POS_WIN = _T("Z_POS_KEEP_POS_WIN"); // 0.000500 const CString cs_Z_POS_KEEP_KP = _T("Z_POS_KEEP_KP"); // 1 const CString cs_Z_POS_KEEP_KPF = _T("Z_POS_KEEP_KPF"); // 0.0000 const CString cs_Z_POS_KEEP_KI = _T("Z_POS_KEEP_KI"); // 0 const CString cs_Z_POS_KEEP_KIF = _T("Z_POS_KEEP_KIF"); // 0.0000 const CString cs_Z_POS_KEEP_KD = _T("Z_POS_KEEP_KD"); // 0 const CString cs_Z_POS_KEEP_IL = _T("Z_POS_KEEP_IL"); // 10000 const CString cs_Z_POS_KEEP_KDD = _T("Z_POS_KEEP_KDD"); // 0 const CString cs_Z_POS_KEEP_PARAM_10 = _T("Z_POS_KEEP_PARAM_10"); // 0 const CString cs_Z_POS_KEEP_PARAM_11 = _T("Z_POS_KEEP_PARAM_11"); // 0 const CString cs_Z_POS_KEEP_PARAM_12 = _T("Z_POS_KEEP_PARAM_12"); // 0 const CString cs_Z_POS_KEEP_KSD = _T("Z_POS_KEEP_KSD"); // 0 const CString cs_Z_POS_KEEP_KSP = _T("Z_POS_KEEP_KSP"); // 0 const CString cs_X_INDEX_OFFSET = _T("X_INDEX_OFFSET"); const CString cs_Y_INDEX_OFFSET = _T("Y_INDEX_OFFSET"); const CString cs_Z_INDEX_OFFSET = _T("Z_INDEX_OFFSET"); const CString USE_SECOND_X_INDEX_PULSE = _T("USE_SECOND_X_INDEX_PULSE"); // 0 const CString USE_SECOND_Y_INDEX_PULSE = _T("USE_SECOND_Y_INDEX_PULSE"); // 0 const CString USE_SECOND_Z_INDEX_PULSE = _T("USE_SECOND_Z_INDEX_PULSE"); // 0 const CString SECOND_X_INDEX_OFFSET = _T("SECOND_X_INDEX_OFFSET"); // 0.000000000000 const CString SECOND_Y_INDEX_OFFSET = _T("SECOND_Y_INDEX_OFFSET"); // 0.000000000000 const CString SECOND_Z_INDEX_OFFSET = _T("SECOND_Z_INDEX_OFFSET"); // 0.000000000000 const CString DUAL_X_INDEX_PULSE_SQUARENESS_THRESHOLD = _T("DUAL_X_INDEX_PULSE_SQUARENESS_THRESHOLD"); // 0.000000000000 const CString DUAL_Y_INDEX_PULSE_SQUARENESS_THRESHOLD = _T("DUAL_Y_INDEX_PULSE_SQUARENESS_THRESHOLD"); // 0.000000000000 const CString DUAL_Z_INDEX_PULSE_SQUARENESS_THRESHOLD = _T("DUAL_Z_INDEX_PULSE_SQUARENESS_THRESHOLD"); // 0.000000000000 const CString MACHINE_DATUM_AZIMUTH = _T("MACHINE_DATUM_AZIMUTH"); // 0.000000 const CString MACHINE_DATUM_ELEVATION = _T("MACHINE_DATUM_ELEVATION"); // 0.000000 const CString MACHINE_DATUM_SPIN = _T("MACHINE_DATUM_SPIN"); // 0.000000 const CString X_MACHINE_OFFSET = _T("X_MACHINE_OFFSET"); // 0.000000000000 const CString Y_MACHINE_OFFSET = _T("Y_MACHINE_OFFSET"); // 0.000000000000 const CString Z_MACHINE_OFFSET = _T("Z_MACHINE_OFFSET"); // 0.000000000000 const CString XY_SQUARE_FACTOR = _T("XY_SQUARE_FACTOR"); // 0.000000000000 const CString XZ_SQUARE_FACTOR = _T("XZ_SQUARE_FACTOR"); // 0.000000000000 const CString YZ_SQUARE_FACTOR = _T("YZ_SQUARE_FACTOR"); // 0.000000000000 const CString cs_AG_X_ROLLOFF = _T("AG_X_ROLLOFF"); const CString cs_AG_Y_ROLLOFF = _T("AG_Y_ROLLOFF"); const CString cs_AG_Z_ROLLOFF = _T("AG_Z_ROLLOFF"); const CString cs_AG_ZM_ROLLOFF = _T("AG_ZM_ROLLOFF"); const CString cs_AG_X_KSP = _T("AG_X_KSP"); const CString cs_AG_Y_KSP = _T("AG_Y_KSP"); const CString cs_AG_Z_KSP = _T("AG_Z_KSP"); const CString cs_AG_ZM_KSP = _T("AG_ZM_KSP"); const CString cs_AG_X_SHAFT2SCALE = _T("AG_X_SHAFT2SCALE"); const CString cs_AG_Y_SHAFT2SCALE = _T("AG_Y_SHAFT2SCALE"); const CString cs_AG_Z_SHAFT2SCALE = _T("AG_Z_SHAFT2SCALE"); const CString cs_AG_ZM_SHAFT2SCALE = _T("AG_ZM_SHAFT2SCALE"); const CString cs_PAN_VIDEO_X = _T("PAN_VIDEO_X"); const CString cs_PAN_VIDEO_Y = _T("PAN_VIDEO_Y"); const CString cs_ILL_LENS = _T("ILL_LENS"); const CString cs_UNK17 = _T("UNK17"); const CString cs_UNK18 = _T("UNK18"); const CString cs_DOCKABLE_TOUCH_PROBE = _T("DOCKABLE_TOUCH_PROBE"); const CString cs_RING_KNOB_TO_LED_RING = _T("RING_KNOB_TO_LED_RING"); const CString cs_USE_INDEX_PULSE = _T("USE_INDEX_PULSE"); const CString cs_USE_PULSED_LIGHT_BOARD = _T("USE_PULSED_LIGHT_BOARD"); const CString cs_WATT_WATCHER_TIMEOUT = _T("WATT_WATCHER_TIMEOUT"); const CString cs_LASER_PRESENT = _T("LASER_PRESENT"); // 1 const CString cs_LASER_STEP = _T("LASER_STEP"); // 10.00 const CString cs_LASER_TIME = _T("LASER_TIME"); // 0.50 const CString cs_LASER_OFFSET_Z = _T("LASER_OFFSET_Z"); // 0.020000 const CString cs_UCC1_PRESENT = _T("UCC1_PRESENT"); // 0 const CString cs_PH10_PRESENT = _T("PH10_PRESENT"); // 0 const CString cs_ROTARY_AZIMUTH_RADIANS = _T("ROTARY_AZIMUTH_RADIANS"); // 0.00544082 const CString cs_ROTARY_ELEVATION_RADIANS = _T("ROTARY_ELEVATION_RADIANS"); // -0.00011438 const CString ROTARY_X_INCHES = _T("ROTARY_X_INCHES"); // 6.264264 const CString ROTARY_Y_INCHES = _T("ROTARY_Y_INCHES"); // 6.470182 const CString ROTARY_Z_INCHES = _T("ROTARY_Z_INCHES"); // 4.323942 const CString ROTARY_INDEX_LOCATION = _T("ROTARY_INDEX_LOCATION"); // 0 const CString ROT2_INDEX_LOCATION = _T("ROT2_INDEX_LOCATION"); // 0 const CString ROTARY_NEG_LIMIT = _T("ROTARY_NEG_LIMIT"); // -840000 const CString ROTARY_POS_LIMIT = _T("ROTARY_POS_LIMIT"); // 120000 const CString ROTARY_LEH_CW_HARD_LIM_ANGLE = _T("ROTARY_LEH_CW_HARD_LIM_ANGLE"); // 95.0000 const CString ROTARY_LEH_CCW_HARD_LIM_ANGLE = _T("ROTARY_LEH_CCW_HARD_LIM_ANGLE"); // -95.0000 const CString ROTARY_INDEX2QUAD = _T("ROTARY_INDEX2QUAD"); // 0 const CString ROT2_INDEX2QUAD = _T("ROT2_INDEX2QUAD"); // 0 const CString ROT2_AZIMUTH_RADIANS = _T("ROT2_AZIMUTH_RADIANS"); // -1.57000000 const CString ROT2_ELEVATION_RADIANS = _T("ROT2_ELEVATION_RADIANS"); // 0.00000000 const CString ROT2_X_INCHES = _T("ROT2_X_INCHES"); // 0.000000 const CString ROT2_Y_INCHES = _T("ROT2_Y_INCHES"); // 0.000000 const CString ROT2_Z_INCHES = _T("ROT2_Z_INCHES"); // 0.000000 const CString ROTARY_CAL_DIAM = _T("ROTARY_CAL_DIAM"); // 0.078740 const CString ROTARY_CAL_WIDTH = _T("ROTARY_CAL_WIDTH"); // 0.200000 const CString ROTARY_USE_LIMIT = _T("ROTARY_USE_LIMIT"); // 0 const CString WITNESS_MODE = _T("WITNESS_MODE"); // 1 const CString WITNESS_X = _T("WITNESS_X"); // 0.833881 const CString WITNESS_Y = _T("WITNESS_Y"); // 6.799659 const CString WITNESS_Z = _T("WITNESS_Z"); // 6.498383 const CString WITNESS_ZOOM = _T("WITNESS_ZOOM"); // 8495.000000 const CString WITNESS_REPEATS = _T("WITNESS_REPEATS"); // 3 const CString WITNESS_BACK = _T("WITNESS_BACK"); // 0 const CString WITNESS_RING = _T("WITNESS_RING"); // 181 const CString WITNESS_AUX = _T("WITNESS_AUX"); // 0 const CString WITNESS_FRAME_INTEGRATION = _T("WITNESS_FRAME_INTEGRATION"); // 1 const CString WITNESS_SRL_RING_1 = _T("WITNESS_SRL_RING_1"); // 0 const CString WITNESS_SRL_RING_2 = _T("WITNESS_SRL_RING_2"); // 0 const CString WITNESS_SRL_RING_3 = _T("WITNESS_SRL_RING_3"); // 0 const CString WITNESS_SRL_RING_4 = _T("WITNESS_SRL_RING_4"); // 0 const CString WITNESS_SRL_RING_5 = _T("WITNESS_SRL_RING_5"); // 0 const CString WITNESS_SRL_RING_6 = _T("WITNESS_SRL_RING_6"); // 0 const CString WITNESS_SRL_RING_7 = _T("WITNESS_SRL_RING_7"); // 0 const CString WITNESS_SRL_RING_8 = _T("WITNESS_SRL_RING_8"); // 0 const CString WITNESS_FOCUS_SIZE_1 = _T("WITNESS_FOCUS_SIZE_1"); // 60 const CString WITNESS_FOCUS_SIZE_2 = _T("WITNESS_FOCUS_SIZE_2"); // 60 const CString SPHERE_FOCUS_SIZE_1 = _T("SPHERE_FOCUS_SIZE_1"); // 60 const CString SPHERE_FOCUS_SIZE_2 = _T("SPHERE_FOCUS_SIZE_2"); // 60 const CString JOBLOCK_FOCUS_SIZE_1 = _T("JOBLOCK_FOCUS_SIZE_1"); // 60 const CString JOBLOCK_FOCUS_SIZE_2 = _T("JOBLOCK_FOCUS_SIZE_2"); // 60 const CString ROTARY_FORCE_HOME = _T("ROTARY_FORCE_HOME"); // 0 //const CString cs_MAX_ZOOM_COUNTS = _T("MAX_ZOOM_COUNTS"); const long EEPROMBYTES = 0x1FFF; enum eFILEWRITEMODE { eCFGTEXTMODE , eHEXMODE }; class CSSIData { public: CSSIData() { ROTARY_SLOW_VELOCITY = 24; ROTARY_MEDIUM_VELOCITY = 25; ROTARY_FAST_VELOCITY = 26; EDGE_RETRY_TIMEOUT_X = 510; EDGE_RETRY_TIMEOUT_Y = 500; EDGE_RETRY_TIMEOUT_Z = 500; EDGE_RETRY_TIMEOUT_MAG = 500; EDGE_RETRY_BANDWIDTH_X = 50; EDGE_RETRY_BANDWIDTH_Y = 50; EDGE_RETRY_BANDWIDTH_Z = 50; EDGE_RETRY_BANDWIDTH_MAG = 50; EDGE_RETRY_COUNT_X = 1; EDGE_RETRY_COUNT_Y = 1; EDGE_RETRY_COUNT_Z = 1; EDGE_RETRY_COUNT_MAG = 1; MM_XY_PIXEL_MOTION_TOLERANCE = 10; MM_Z_INCH_MOTION_TOLERANCE = 0.000100; MM_ZOOM_PERCENT_MOTION_TOLERANCE = 2; LIGHT_SETTLE_TIME = 30; BACK_LIGHT_MAPPING = 10753; RING_LIGHT_MAPPING = 1154; AUX_LIGHT_MAPPING = 33028; GRID_LIGHT_MAPPING = 16384; RING_KNOB_TO_LED_RING = 2; ROTARY_AZIMUTH_RADIANS = 0.0; LASER_STEP = 10; PRIMARY_ROTARY_SERVO_KP = 0; PRIMARY_ROTARY_SERVO_KI = 0; PRIMARY_ROTARY_SERVO_KIC = 0; PRIMARY_ROTARY_SERVO_KDD = 0; PRIMARY_ROTARY_SERVO_IL = 0; PRIMARY_ROTARY_SERVO_KSP = 0; PRIMARY_ROTARY_SERVO_KSD = 0; PRIMARY_ROTARY_XCESS_PERR = 0; PRIMARY_ROTARY_TRAJECTORY_FILTER = 0; SECONDARY_ROTARY_SERVO_KP = 0; SECONDARY_ROTARY_SERVO_KI = 0; SECONDARY_ROTARY_SERVO_KIC = 0; SECONDARY_ROTARY_SERVO_KDD = 0; SECONDARY_ROTARY_SERVO_IL = 0; SECONDARY_ROTARY_SERVO_KSP = 0; SECONDARY_ROTARY_SERVO_KSD = 0; SECONDARY_ROTARY_XCESS_PERR = 0; SECONDARY_ROTARY_TRAJECTORY_FILTER = 0; WATT_WATCHER_TIMEOUT = 19; X_POS_KEEP_PARAMS_ENABLE = 0; X_POS_KEEP_POS_WIN = 0.0; X_POS_KEEP_KP = 0; X_POS_KEEP_KPF = 0.0; X_POS_KEEP_KI = 0; X_POS_KEEP_KIF = 0.0; X_POS_KEEP_KD = 0.0; X_POS_KEEP_IL = 0; X_POS_KEEP_KDD = 0.0; X_POS_KEEP_KSD = 0.0; X_POS_KEEP_KSP = 0.0; X_POS_KEEP_PARAM_10 = 100; X_POS_KEEP_PARAM_11 = 127; X_POS_KEEP_PARAM_12 = 258; Y_POS_KEEP_PARAMS_ENABLE = 0; Y_POS_KEEP_POS_WIN = 0.0; Y_POS_KEEP_KP = 0; Y_POS_KEEP_KPF = 0.0; Y_POS_KEEP_KI = 0; Y_POS_KEEP_KIF = 0.0; Y_POS_KEEP_KD = 0.0; Y_POS_KEEP_IL = 0.0; Y_POS_KEEP_KDD = 0.0; Y_POS_KEEP_KSD = 0.0; Y_POS_KEEP_KSP = 0.0; Y_POS_KEEP_PARAM_10 = 100; Y_POS_KEEP_PARAM_11 = 127; Y_POS_KEEP_PARAM_12 = 258; Z_POS_KEEP_PARAMS_ENABLE = 0; Z_POS_KEEP_POS_WIN = 0.0; Z_POS_KEEP_KP = 0; Z_POS_KEEP_KPF = 0.0; Z_POS_KEEP_KI = 0; Z_POS_KEEP_KIF = 0.0; Z_POS_KEEP_KD = 0.0; Z_POS_KEEP_IL = 0; Z_POS_KEEP_KDD = 0.0; Z_POS_KEEP_KSD = 0.0; Z_POS_KEEP_KSP = 0.0; Z_POS_KEEP_PARAM_10 = 30; Z_POS_KEEP_PARAM_11 = 128; Z_POS_KEEP_PARAM_12 = 255; X_BREAK_THRESHOLD = 0; Y_BREAK_THRESHOLD = 0; Z_BREAK_THRESHOLD = 0; ZM_BREAK_THRESHOLD = 0; X_BREAK_TICKS = 0; Y_BREAK_TICKS = 0; Z_BREAK_TICKS = 0; ZM_BREAK_TICKS = 0; AG_X_UCC_KP = 0; AG_X_UCC_KI = 0; AG_Y_UCC_KP = 0; AG_Y_UCC_KI = 0; AG_Z_UCC_KP = 0; AG_Z_UCC_KI = 0; AG_ZM_UCC_KP = 0; AG_ZM_UCC_KI = 0; AG_ZM_SERVO_KP = 0; AG_ZM_SERVO_KI = 0; DSP_CONFIG_AG_X_SERVO_UCC = 0; DSP_CONFIG_AG_Y_SERVO_UCC = 0; DSP_CONFIG_AG_Z_SERVO_UCC = 0; DSP_CONFIG_AG_ZM_SERVO_UCC = 0; DSP_CONFIG_MOTOR_TYPE = 0; DSP_CONFIG_JS_X_SERVO_UNK1 = 1330089; DSP_CONFIG_JS_X_SERVO_UNK2 = -1284921; DSP_CONFIG_X_SERVO_UNK1 = 1584089; DSP_CONFIG_X_SERVO_UNK2 = -1538920; DSP_CONFIG_JS_Y_SERVO_UNK1 = 702336; DSP_CONFIG_JS_Y_SERVO_UNK2 =-337534; DSP_CONFIG_Y_SERVO_UNK1 = 956336; DSP_CONFIG_Y_SERVO_UNK2 = -591533; DSP_CONFIG_JS_Z_SERVO_UNK1 = 782984; DSP_CONFIG_JS_Z_SERVO_UNK2 = -860507; DSP_CONFIG_Z_SERVO_UNK1 = 1037001; DSP_CONFIG_Z_SERVO_UNK2 = -1114524; DSP_CONFIG_JS_ZM_SERVO_UNK1 = 16934; DSP_CONFIG_JS_ZM_SERVO_UNK2 = 13; DSP_CONFIG_ZM_SERVO_UNK1 = 16934; DSP_CONFIG_ZM_SERVO_UNK2 = 13; bDSP_SetKeepParameters = FALSE; bDSP_Process_JS_Unk1 = FALSE; bDSP_GetCurrentServoParameters = FALSE; bDSP_SetDefaultServoParameters = FALSE; bDSP_PreStartController = FALSE; LASER_PRESENT = 0; // 0 OR 1 TP_DO_ARC_MOTION = 0; LPT = 1; bLoadSSEEPROM = FALSE; EEPROMDumpFileTxt = _T("EEPROM_PCDMIS.DAT"); EEPROMDumpFileHex = _T("EEPROM_PCDMIS.HEX"); memset(m_EEPROM.EEPROM_Bytes, 0x00, EEPROMBYTES); m_EEPROM.ConfigData.e_TP_JS_SPEED_RATIO = 2; }; ~CSSIData() { }; public: #pragma pack(1) union { BYTE EEPROM_Bytes[EEPROMBYTES]; struct { BYTE e_SerialNo[16]; BYTE e_pad_1[80]; // don't know what this is double e_X_Non_linear_Correction_table[25]; double e_Y_Non_linear_Correction_table[25]; double e_X_Deviation_table[25]; double e_Y_Deviation_table[25]; unsigned long e_JS_MAX_VELOCITY_X; // 681288 unsigned long e_JS_MAX_VELOCITY_Y; // 681288 unsigned long e_JS_MAX_VELOCITY_Z; // 349524 unsigned long e_JS_MAX_VELOCITY_ZM; // 98304 unsigned short e_JS_X_SERVO_SWAP; // 1 unsigned short e_JS_X_SERVO_KP; // 4 unsigned short e_JS_X_SERVO_KI; // 0 unsigned short e_JS_X_SERVO_KD; // 0 unsigned short e_JS_X_SERVO_IL; // 0 unsigned short e_JS_Y_SERVO_SWAP; // -1 unsigned short e_JS_Y_SERVO_KP; // 4 unsigned short e_JS_Y_SERVO_KI; // 0 unsigned short e_JS_Y_SERVO_KD; // 0 unsigned short e_JS_Y_SERVO_IL; // 0 unsigned short e_JS_Z_SERVO_SWAP; // -1 unsigned short e_JS_Z_SERVO_KP; // 4 unsigned short e_JS_Z_SERVO_KI; // 0 unsigned short e_JS_Z_SERVO_KD; // 0 unsigned short e_JS_Z_SERVO_IL; // 0 unsigned short e_JS_ZM_SERVO_SWAP; // -1 unsigned short e_JS_ZM_SERVO_KP; // 100 unsigned short e_JS_ZM_SERVO_KI; // 0 unsigned short e_JS_ZM_SERVO_KD; // 0 unsigned short e_JS_ZM_SERVO_IL; // 0 unsigned long e_TB_X_SERVO_ACC; // 50000 unsigned long e_TB_X_SERVO_VEL; // 681288 unsigned short e_TB_X_SERVO_KP; // 8 unsigned short e_TB_X_SERVO_KI; // 0 unsigned short e_TB_X_SERVO_KD; // 0 unsigned short e_TB_X_SERVO_IL; // 0 unsigned short e_TB_X_SERVO_SWAP; // 0 unsigned long e_TB_Y_SERVO_ACC; // 50000 unsigned long e_TB_Y_SERVO_VEL; // 681288 unsigned short e_TB_Y_SERVO_KP; // 8 unsigned short e_TB_Y_SERVO_KI; // 0 unsigned short e_TB_Y_SERVO_KD; // 0 unsigned short e_TB_Y_SERVO_IL; // 0 unsigned short e_TB_Y_SERVO_SWAP; // 0 unsigned long e_AG_X_SERVO_ACC; // 50000 unsigned long e_AG_X_SERVO_VEL; // 681288 unsigned short e_AG_X_SERVO_KP; // 4 unsigned short e_AG_X_SERVO_KI; // 0 unsigned short e_AG_X_SERVO_KD; // 0 unsigned short e_AG_X_SERVO_IL; // 0 unsigned long e_AG_Y_SERVO_ACC; // 50000 unsigned long e_AG_Y_SERVO_VEL; // 681288 unsigned short e_AG_Y_SERVO_KP; // 4 unsigned short e_AG_Y_SERVO_KI; // 0 unsigned short e_AG_Y_SERVO_KD; // 0 unsigned short e_AG_Y_SERVO_IL; // 0 unsigned long e_AG_Z_SERVO_ACC; // 160000 unsigned long e_AG_Z_SERVO_VEL; // 349524 unsigned short e_AG_Z_SERVO_KP; // 4 unsigned short e_AG_Z_SERVO_KI; // 0 unsigned short e_AG_Z_SERVO_KD; // 0 unsigned short e_AG_Z_SERVO_IL; // 0 unsigned long e_AG_ZM_SERVO_ACC; // 1524 unsigned long e_AG_ZM_SERVO_VEL; // 98304 unsigned short e_AG_ZM_SERVO_KP; // 100 unsigned short e_AG_ZM_SERVO_KI; // 0 unsigned short e_AG_ZM_SERVO_IL; // 0 unsigned short e_AG_ZM_SERVO_KD; // 0 double e_MAX_ZOOM_COUNTS; // 14477.000000 double e_Zoom_Lens_Magnification_Calibration_Table[101]; double e_X_SCALE_FACTOR; // 0.000020 double e_Y_SCALE_FACTOR; // 0.000020 double e_Z_SCALE_FACTOR; // 0.000020 double e_XY_SCALE_FACTOR; // 0.000000 double e_XZ_SCALE_FACTOR; // 0.000000 double e_YZ_SCALE_FACTOR; // 0.000000 double e_X_LOW_FOV_INCHES; // 0.536659 double e_X_HIGH_FOV_INCHES; // 0.091453 double e_Y_LOW_FOV_INCHES; // 0.542137 double e_Y_HIGH_FOV_INCHES; // 0.092425 double e_EDGE_CONTRAST_THRESHOLD; // 1.000000 double e_EDGE_X_SLOPE; // 1.245098 double e_EDGE_Y_SLOPE; // 1.000000 double e_EDGE_X_OFFSET; // -7.500000 double e_EDGE_Y_OFFSET; // -16.000000 unsigned short e_EDGE_IS_CALIBRATED; // 0 unsigned short e_EDGE_AUTO_FOV; // 0 double e_EDGE_RELATIVE_MAG; // 1.000000 double e_EDGE_ZOOM_RATIO; // 6.000000 unsigned short e_EDGE_FRAME_AVERAGES; // 2 unsigned short e_EDGE_AUTO_REMEASURE; // 1 unsigned short e_EDGE_TARGET_SIZE; // 30 unsigned short e_OPTICS_TUBE; // 0 unsigned short e_OPTICS_LENS; // 0 double e_X_STAGE_TRAVEL; // 8.000000 double e_Y_STAGE_TRAVEL; // 6.000000 double e_Z_STAGE_TRAVEL; // 8.000000 BYTE e_BACK_LIGHT_OFFSET; // 0 BYTE e_RING_LIGHT_OFFSET; // 0 BYTE e_AUX_LIGHT_OFFSET; // 0 unsigned long e_AG_X_SERVO_PRE_VEL; // 681288 unsigned long e_AG_Y_SERVO_PRE_VEL; // 681288 unsigned long e_AG_Z_SERVO_PRE_VEL; // 349524 unsigned long e_ZM_SERVO_PRE_VEL; // 98304 short e_X_SERVO_XCESS_PERR; // 0 short e_Y_SERVO_XCESS_PERR; // 0 short e_Z_SERVO_XCESS_PERR; // 0 short e_ZM_SERVO_XCESS_PERR; // 0 short e_AG_X_POS_WIN; // 2 short e_AG_Y_POS_WIN; // 2 short e_AG_Z_POS_WIN; // 2 short e_AG_ZM_POS_WIN; // 0 short e_X_SCALE_SWAP; // 1 short e_Y_SCALE_SWAP; // -1 short e_Z_SCALE_SWAP; // 1 short e_SECOND_X_SCALE_SWAP; // 1 short e_SECOND_Y_SCALE_SWAP; // 1 double e_SECOND_X_SCALE_FACTOR; // 0.000000 double e_SECOND_Y_SCALE_FACTOR; // 0.000000 short e_USE_SECOND_X_SCALE; // 0 short e_USE_SECOND_Y_SCALE; // 0 double e_OFFSET_X_LIMIT; // 0.000000 double e_OFFSET_Y_LIMIT; // 0.000000 double e_OFFSET_Z_LIMIT; // 0.000000 short e_FORCE_STAGE_INIT; // 1 double e_JS_X_NEG_PRELIM_OFFSET; // 0.000000 double e_JS_Y_NEG_PRELIM_OFFSET; // 0.000000 double e_JS_Z_NEG_PRELIM_OFFSET; // 0.000000 double e_JS_ZM_NEG_PRELIM; // 0.000000 double e_JS_X_POS_PRELIM_OFFSET; // 0.000000 double e_JS_Y_POS_PRELIM_OFFSET; // 0.000000 double e_JS_Z_POS_PRELIM_OFFSET; // 0.000000 double e_JS_ZM_POS_PRELIM; // 0.000000 double e_AG_X_NEG_PRELIM_OFFSET; // 0.000000 double e_AG_Y_NEG_PRELIM_OFFSET; // 0.000000 double e_AG_Z_NEG_PRELIM_OFFSET; // 0.000000 double e_AG_ZM_NEG_PRELIM; // 0.0000001 double e_AG_X_POS_PRELIM_OFFSET; // 0.000000 double e_AG_Y_POS_PRELIM_OFFSET; // 0.000000 double e_AG_Z_POS_PRELIM_OFFSET; // 0.000000 double e_AG_ZM_POS_PRELIM; // 0.000000 double e_AG_MIN_MOVE_TIME; // 0.000000 unsigned short e_JS_X_SERVO_KDD; // 0 unsigned short e_JS_X_SERVO_KSD; // 1000 unsigned short e_JS_X_SERVO_AFF; // 0 unsigned short e_JS_X_SERVO_VFF; // 500 unsigned short e_JS_Y_SERVO_KDD; // 0 unsigned short e_JS_Y_SERVO_KSD; // 1000 unsigned short e_JS_Y_SERVO_AFF; // 0 unsigned short e_JS_Y_SERVO_VFF; // 500 unsigned short e_JS_Z_SERVO_KDD; // 2000 unsigned short e_JS_Z_SERVO_KSD; // 1000 unsigned short e_JS_Z_SERVO_AFF; // 0 unsigned short e_JS_Z_SERVO_VFF; // 500 unsigned short e_TB_X_SERVO_KDD; // 0 unsigned short e_TB_X_SERVO_KSD; // 1000 unsigned short e_TB_X_SERVO_AFF; // 0 unsigned short e_TB_X_SERVO_VFF; // 500 unsigned short e_TB_Y_SERVO_KDD; // 0 unsigned short e_TB_Y_SERVO_KSD; // 1000 unsigned short e_TB_Y_SERVO_AFF; // 0 unsigned short e_TB_Y_SERVO_VFF; // 500 unsigned short e_AG_X_SERVO_KDD; // 0 unsigned short e_AG_X_SERVO_KSD; // 1000 unsigned short e_AG_X_SERVO_AFF; // 0 unsigned short e_AG_X_SERVO_VFF; // 500 unsigned short e_AG_X_SERVO_PID_SWAP; // 1 unsigned short e_AG_Y_SERVO_KDD; // 0 unsigned short e_AG_Y_SERVO_KSD; // 1000 unsigned short e_AG_Y_SERVO_AFF; // 0 unsigned short e_AG_Y_SERVO_VFF; // 500 unsigned short e_AG_Y_SERVO_PID_SWAP; // 1 unsigned short e_AG_Z_SERVO_KDD; // 2000 unsigned short e_AG_Z_SERVO_KSD; // 1000 unsigned short e_AG_Z_SERVO_AFF; // 0 unsigned short e_AG_Z_SERVO_VFF; // 1000 unsigned short e_AG_Z_SERVO_PID_SWAP; // 0 unsigned short e_AG_ZM_SERVO_PID_SWAP; //1 unsigned long e_TP_AP_X_SERVO_ACC; //7500 unsigned long e_TP_AP_X_SERVO_VEL; // 238450 unsigned short e_TP_AP_X_SERVO_KP; // 0 unsigned short e_TP_AP_X_SERVO_KI; // 0 unsigned short e_TP_AP_X_SERVO_KD; // 0 unsigned short e_TP_AP_X_SERVO_IL; // 0 unsigned short e_TP_AP_X_SERVO_KDD; // 0 unsigned short e_TP_AP_X_SERVO_KSD; // 0 unsigned short e_TP_AP_X_SERVO_AFF; // 0 unsigned short e_TP_AP_X_SERVO_VFF; // 0 unsigned short e_TP_AP_X_SERVO_PID_SWAP; //0 unsigned long e_TP_AP_Y_SERVO_ACC; //7500 unsigned long e_TP_AP_Y_SERVO_VEL; // 238450 unsigned short e_TP_AP_Y_SERVO_KP; // 0 unsigned short e_TP_AP_Y_SERVO_KI; // 0 unsigned short e_TP_AP_Y_SERVO_KD; // 0 unsigned short e_TP_AP_Y_SERVO_IL; // 0 unsigned short e_TP_AP_Y_SERVO_KDD; // 0 unsigned short e_TP_AP_Y_SERVO_KSD; // 0 unsigned short e_TP_AP_Y_SERVO_AFF; // 0 unsigned short e_TP_AP_Y_SERVO_VFF; // 0 unsigned short e_TP_AP_Y_SERVO_PID_SWAP; //0 unsigned long e_TP_AP_Z_SERVO_ACC; //7500 unsigned long e_TP_AP_Z_SERVO_VEL; // 238450 unsigned short e_TP_AP_Z_SERVO_KP; // 0 unsigned short e_TP_AP_Z_SERVO_KI; // 0 unsigned short e_TP_AP_Z_SERVO_KD; // 0 unsigned short e_TP_AP_Z_SERVO_IL; // 0 unsigned short e_TP_AP_Z_SERVO_KDD; // 0 unsigned short e_TP_AP_Z_SERVO_KSD; // 0 unsigned short e_TP_AP_Z_SERVO_AFF; // 0 unsigned short e_TP_AP_Z_SERVO_VFF; // 0 unsigned short e_TP_AP_Z_SERVO_PID_SWAP; //0 unsigned short e_TP_JS_SPEED_RATIO; // 2 unsigned short e_DOCKABLE_TOUCH_PROBE; // 2 double e_X_INDEX_OFFSET; // 1.503326743391 double e_Y_INDEX_OFFSET; // 5.563602257609 double e_Z_INDEX_OFFSET; // 1.175433201424 unsigned short e_USE_INDEX_PULSE; //1 unsigned short e_AG_X_ROLLOFF; //2 unsigned short e_AG_Y_ROLLOFF; //2 unsigned short e_AG_Z_ROLLOFF; //0 unsigned short e_AG_ZM_ROLLOFF; //0 unsigned short e_AG_X_KSP; //100 unsigned short e_AG_Y_KSP; //100 unsigned short e_AG_Z_KSP; //0 unsigned short e_AG_ZM_KSP; //0 double e_AG_X_SHAFT2SCALE; // 0.38100 double e_AG_Y_SHAFT2SCALE; // 0.3800 double e_AG_Z_SHAFT2SCALE; // 0.00 double e_AG_ZM_SHAFT2SCALE; // 0.00 unsigned short e_SECOND_Z_SCALE_SWAP; //0 double e_SECOND_Z_SCALE_FACTOR; //0 unsigned short e_USE_SECOND_Z_SCALE; //0 unsigned short e_PAN_VIDEO_X; //0 unsigned short e_PAN_VIDEO_Y; //0 unsigned short e_ILL_LENS; //0 double e_AG_X_SERVO_LOW_ACC_DIST; // 0.000000000000 double e_AG_Y_SERVO_LOW_ACC_DIST; // 0.000000000000 double e_AG_Z_SERVO_LOW_ACC_DIST; // 0.000000000000 double e_JS_X_SERVO_KPF; // 0.000000000000 double e_JS_X_SERVO_KIF; // 0.000000000000 double e_JS_Y_SERVO_KPF; // 0.000000000000 double e_JS_Y_SERVO_KIF; // 0.000000000000 double e_JS_Z_SERVO_KPF; // 0.000000000000 double e_JS_Z_SERVO_KIF; // 0.000000000000 double e_JS_ZM_SERVO_KPF; // 0.000000000000 double e_JS_ZM_SERVO_KIF; // 0.000000000000 double e_TB_X_SERVO_KPF; // 0.000000000000 double e_TB_X_SERVO_KIF; // 0.000000000000 double e_TB_Y_SERVO_KPF; // 0.000000000000 double e_TB_Y_SERVO_KIF; // 0.000000000000 double e_AG_X_SERVO_KPF; // 0.000000000000 double e_AG_X_SERVO_KIF; // 0.000000000000 double e_AG_Y_SERVO_KPF; // 0.000000000000 double e_AG_Y_SERVO_KIF; // 0.000000000000 double e_AG_Z_SERVO_KPF; // 0.000000000000 double e_AG_Z_SERVO_KIF; // 0.000000000000 double e_AG_ZM_SERVO_KPF; // 0.000000000000 double e_AG_ZM_SERVO_KIF; // 0.000000000000 } ConfigData; }m_EEPROM; int Read_EEPROM_From_File(eFILEWRITEMODE eMode, CString FileName); int Read_CSG_Config_File(CString FileName); int ParseLineArrayData(CString csDataStr, CString csToken, long lMaxCnt, double *DataArray ); int Write_EEPROM_To_File(eFILEWRITEMODE eMode, CString FileName); int Hex_Diff_To_File(CSSIData *pDataDiff1,CSSIData *pDataDiff2, CString FileName); void Get_Cfg_Filename(CString &FileName); void Get_Laser_Cfg_Filename(CString &FileName); void Get_RegToFile_Cfg_Filename(CString &FileName); void ExtractAppPath(CString &Path) { CString tmpPath = Path; tmpPath.TrimRight(); tmpPath.TrimLeft(); int nLastSlash = tmpPath.ReverseFind('\\'); if (nLastSlash > -1) { // complete path tmpPath = Path.Left(nLastSlash); Path = tmpPath; } else { // not a complete path Path=""; }; }; void GetAppPath(CString &Path) { Path=_T(""); // Speed optimization - noticed slow in GlowCode if (Path.IsEmpty()) { CString tmpPath; GetModuleFileName(NULL,tmpPath.GetBuffer(255),255); tmpPath.ReleaseBuffer(); tmpPath.TrimRight(); int nLastSlash = tmpPath.ReverseFind('\\'); if (nLastSlash >= 0) tmpPath = tmpPath.Left(nLastSlash); else tmpPath.Empty(); Path=tmpPath; } return; }; unsigned short slack_bytes[200]; unsigned short BACK_LIGHT_MAPPING; // 10753 unsigned short RING_LIGHT_MAPPING; // 1154 unsigned short AUX_LIGHT_MAPPING; // 33028 unsigned short GRID_LIGHT_MAPPING; // 16384 unsigned short RING_KNOB_TO_LED_RING; // 2 unsigned short ROTARY_SLOW_VELOCITY; unsigned short ROTARY_MEDIUM_VELOCITY; // 48 unsigned short ROTARY_FAST_VELOCITY; // 96 unsigned short PRIMARY_ROTARY_SERVO_KP; // 16 unsigned short PRIMARY_ROTARY_SERVO_KI; // 2000 unsigned short PRIMARY_ROTARY_SERVO_KIC; // 16000 unsigned short PRIMARY_ROTARY_SERVO_KDD; // 16 unsigned short PRIMARY_ROTARY_SERVO_IL; // 500 unsigned short PRIMARY_ROTARY_SERVO_KSP; // 8 unsigned short PRIMARY_ROTARY_SERVO_KSD; // 16 unsigned short PRIMARY_ROTARY_XCESS_PERR; // 0 unsigned short PRIMARY_ROTARY_TRAJECTORY_FILTER; // 4 unsigned short SECONDARY_ROTARY_SERVO_KP; // 20 unsigned short SECONDARY_ROTARY_SERVO_KI; // 2000 unsigned short SECONDARY_ROTARY_SERVO_KIC; // 16000 unsigned short SECONDARY_ROTARY_SERVO_KDD; // 16 unsigned short SECONDARY_ROTARY_SERVO_IL; // 500 unsigned short SECONDARY_ROTARY_SERVO_KSP; // 8 unsigned short SECONDARY_ROTARY_SERVO_KSD; // 16 unsigned short SECONDARY_ROTARY_XCESS_PERR; // 0 unsigned short SECONDARY_ROTARY_TRAJECTORY_FILTER; // 2 long EDGE_RETRY_TIMEOUT_X; //300 long EDGE_RETRY_TIMEOUT_Y; //300 long EDGE_RETRY_TIMEOUT_Z; //300 long EDGE_RETRY_TIMEOUT_MAG; //300 long EDGE_RETRY_BANDWIDTH_X; //50 long EDGE_RETRY_BANDWIDTH_Y; //50 long EDGE_RETRY_BANDWIDTH_Z; //50 long EDGE_RETRY_BANDWIDTH_MAG; //50 long EDGE_RETRY_COUNT_X; //1 long EDGE_RETRY_COUNT_Y; //1 long EDGE_RETRY_COUNT_Z; //1 long EDGE_RETRY_COUNT_MAG; //1 long MM_XY_PIXEL_MOTION_TOLERANCE; //10 double MM_Z_INCH_MOTION_TOLERANCE; //0.000100 long MM_ZOOM_PERCENT_MOTION_TOLERANCE; //2 long LIGHT_SETTLE_TIME; //30 double ROTARY_AZIMUTH_RADIANS; unsigned short LASER_PRESENT; // 0 OR 1 unsigned short TP_DO_ARC_MOTION; unsigned short WATT_WATCHER_TIMEOUT; unsigned short LASER_STEP; // 10 unsigned short X_POS_KEEP_PARAMS_ENABLE; // 0 double X_POS_KEEP_POS_WIN; // 0.000500 unsigned short X_POS_KEEP_KP; // 1 double X_POS_KEEP_KPF; // 0.0000 unsigned short X_POS_KEEP_KI; // 0 double X_POS_KEEP_KIF; // 0.0000 double X_POS_KEEP_KD; // 0 unsigned short X_POS_KEEP_IL; // 10000 double X_POS_KEEP_KDD; // 0 double X_POS_KEEP_KSD; // 0 double X_POS_KEEP_KSP; // 0 unsigned short X_POS_KEEP_PARAM_10; // 0 unsigned short X_POS_KEEP_PARAM_11; // 0 unsigned short X_POS_KEEP_PARAM_12; // 0 unsigned short Y_POS_KEEP_PARAMS_ENABLE; // 0 double Y_POS_KEEP_POS_WIN; // 0.000500 unsigned short Y_POS_KEEP_KP; // 1 double Y_POS_KEEP_KPF; // 0.0000 unsigned short Y_POS_KEEP_KI; // 0 double Y_POS_KEEP_KIF; // 0.0000 double Y_POS_KEEP_KD; // 0 double Y_POS_KEEP_IL; // 10000 double Y_POS_KEEP_KDD; // 0 double Y_POS_KEEP_KSD; // 0 double Y_POS_KEEP_KSP; // 0 unsigned short Y_POS_KEEP_PARAM_10; // 0 unsigned short Y_POS_KEEP_PARAM_11; // 0 unsigned short Y_POS_KEEP_PARAM_12; // 0 unsigned short Z_POS_KEEP_PARAMS_ENABLE; // 0 double Z_POS_KEEP_POS_WIN; // 0.000500 unsigned short Z_POS_KEEP_KP; // 1 double Z_POS_KEEP_KPF; // 0.0000 unsigned short Z_POS_KEEP_KI; // 0 double Z_POS_KEEP_KIF; // 0.0000 double Z_POS_KEEP_KD; // 0 unsigned short Z_POS_KEEP_IL; // 10000 double Z_POS_KEEP_KDD; // 0 double Z_POS_KEEP_KSD; // 0 double Z_POS_KEEP_KSP; // 0 unsigned short Z_POS_KEEP_PARAM_10; // 0 unsigned short Z_POS_KEEP_PARAM_11; // 0 unsigned short Z_POS_KEEP_PARAM_12; // 0 unsigned short X_BREAK_THRESHOLD; unsigned short Y_BREAK_THRESHOLD; unsigned short Z_BREAK_THRESHOLD; unsigned short ZM_BREAK_THRESHOLD; int X_BREAK_TICKS; int Y_BREAK_TICKS; int Z_BREAK_TICKS; int ZM_BREAK_TICKS; int AG_X_UCC_KP; int AG_X_UCC_KI; int AG_Y_UCC_KP; int AG_Y_UCC_KI; int AG_Z_UCC_KP; int AG_Z_UCC_KI; int AG_ZM_UCC_KP; int AG_ZM_UCC_KI; int AG_ZM_SERVO_KP; int AG_ZM_SERVO_KI; WORD DSP_CONFIG_Poll_Init_Value1; WORD DSP_CONFIG_Poll_Init_Value2; WORD DSP_CONFIG_AG_X_SERVO_UCC; WORD DSP_CONFIG_AG_Y_SERVO_UCC; WORD DSP_CONFIG_AG_Z_SERVO_UCC; WORD DSP_CONFIG_AG_ZM_SERVO_UCC; WORD DSP_CONFIG_MOTOR_TYPE; long DSP_CONFIG_JS_X_SERVO_UNK1; long DSP_CONFIG_JS_X_SERVO_UNK2; long DSP_CONFIG_X_SERVO_UNK1; long DSP_CONFIG_X_SERVO_UNK2; long DSP_CONFIG_JS_Y_SERVO_UNK1; long DSP_CONFIG_JS_Y_SERVO_UNK2; long DSP_CONFIG_Y_SERVO_UNK1; long DSP_CONFIG_Y_SERVO_UNK2; long DSP_CONFIG_JS_Z_SERVO_UNK1; long DSP_CONFIG_JS_Z_SERVO_UNK2; long DSP_CONFIG_Z_SERVO_UNK1; long DSP_CONFIG_Z_SERVO_UNK2; long DSP_CONFIG_JS_ZM_SERVO_UNK1; long DSP_CONFIG_JS_ZM_SERVO_UNK2; long DSP_CONFIG_ZM_SERVO_UNK1; long DSP_CONFIG_ZM_SERVO_UNK2; WORD DSP_CONFIG_LightsAuxAddrH; WORD DSP_CONFIG_UnkAddr_RingMap_01; WORD DSP_CONFIG_UnkAddr_RingMap_02; WORD DSP_CONFIG_PrehitRetractDistAddr2; // END of block from hardware.cfg that is not in EEPROM // The following tags control whether a function should run based on the // dsp_pcdmis.cfg file There is one such file per machine // accompanying this file is the dsp.var.comm.txt which further defines // the detail communication data. BOOL bDSP_SetKeepParameters; BOOL bDSP_GetCurrentServoParameters; BOOL bDSP_SetDefaultServoParameters; BOOL bDSP_PreStartController; BOOL bDSP_Process_JS_Unk1; BOOL bDSP_Pre_Download_MicroCode; BOOL bDSP_Post_Download_MicroCode; short LPT; BOOL bLoadSSEEPROM; CString EEPROMDumpFileTxt; CString EEPROMDumpFileHex; }; #endif // !defined(_SSI_SSIDATA__INCLUDED_)