📄 srvpro.h
字号:
#define FE_ADJUST_PRO_SUBSTRATE_THS pick_up_profile_ptr->fe_adjust_profile.substrate_ths #define FE_ADJUST_PRO_LOW_REFLECTIVE_THS pick_up_profile_ptr->fe_adjust_profile.low_reflective_ths typedef struct { uint16 timeout; int16 starting_gain; uint16 fe_target_amplitude; uint8 abcdef_target_amplitude; uint8 substrate_ths; uint8 low_reflective_ths; } FE_ADJUST_PROFILE_STRUCT;#endif/*------- Focus Profile -----------------------------------------------------*/#define DEF_FOCUS_PRO_OFFSET (0x0000)#define DEF_FOCUS_PRO_FOCUS_OK_LEVEL (0x1000)#define DEF_FOCUS_PRO_CLOSING_THS (0x3000)#define DEF_FOCUS_PRO_CLOSING_HYST (0x0400)#define DEF_FOCUS_PRO_CLOSING_TIMEOUT (T3s)#define DEF_FOCUS_PRO_MAX_RETRIES (0x02)#define DEF_FOCUS_PRO_FOCUS_FOUND_TIMEOUT (T300ms)#ifndef FOCUS_USE_PROFILE extern uint16 const DEF_FOCUS_PRO_CONTROLLER_COEFF[]; #define FOCUS_PRO_OFFSET DEF_FOCUS_PRO_OFFSET #define FOCUS_PRO_FOCUS_OK_LEVEL DEF_FOCUS_PRO_FOCUS_OK_LEVEL #define FOCUS_PRO_CLOSING_THS DEF_FOCUS_PRO_CLOSING_THS #define FOCUS_PRO_CLOSING_HYST DEF_FOCUS_PRO_CLOSING_HYST #define FOCUS_PRO_CLOSING_TIMEOUT DEF_FOCUS_PRO_CLOSING_TIMEOUT #define FOCUS_PRO_MAX_RETRIES DEF_FOCUS_PRO_MAX_RETRIES #define FOCUS_PRO_FOCUS_FOUND_TIMEOUT DEF_FOCUS_PRO_FOCUS_FOUND_TIMEOUT #define FOCUS_PRO_CONTROLLER_COEFF DEF_FOCUS_PRO_CONTROLLER_COEFF#else #define FOCUS_PRO_OFFSET pick_up_profile_ptr->focus_profile.offset #define FOCUS_PRO_FOCUS_OK_LEVEL pick_up_profile_ptr->focus_profile.focus_ok_level #define FOCUS_PRO_CLOSING_THS pick_up_profile_ptr->focus_profile.closing_ths #define FOCUS_PRO_CLOSING_HYST pick_up_profile_ptr->focus_profile.closing_hyst #define FOCUS_PRO_CLOSING_TIMEOUT pick_up_profile_ptr->focus_profile.closing_timeout #define FOCUS_PRO_MAX_RETRIES pick_up_profile_ptr->focus_profile.max_retries #define FOCUS_PRO_FOCUS_FOUND_TIMEOUT pick_up_profile_ptr->focus_profile.focus_found_timeout #define FOCUS_PRO_CONTROLLER_COEFF pick_up_profile_ptr->focus_profile.controller_coeff typedef struct { int16 offset; uint16 focus_ok_level; int16 closing_ths; int16 closing_hyst; uint16 closing_timeout; uint8 max_retries; uint16 focus_found_timeout; uint16 controller_coeff[16]; } FOCUS_PROFILE_STRUCT;#endif/*------- TE Adjust Profile -------------------------------------------------*/#define DEF_TE_ADJUST_PRO_TIMEOUT (T3s)#define DEF_TE_ADJUST_PRO_STARTING_GAIN (0x2000)#define DEF_TE_ADJUST_PRO_TE_TARGET_AMPLITUDE (0xC000)#define DEF_TE_ADJUST_PRO_MEAS_TIMEOUT (T30ms)#ifndef TE_ADJUST_USE_PROFILE #define TE_ADJUST_PRO_TIMEOUT DEF_TE_ADJUST_PRO_TIMEOUT #define TE_ADJUST_PRO_STARTING_GAIN DEF_TE_ADJUST_PRO_STARTING_GAIN #define TE_ADJUST_PRO_TE_TARGET_AMPLITUDE DEF_TE_ADJUST_PRO_TE_TARGET_AMPLITUDE #define TE_ADJUST_PRO_MEAS_TIMEOUT DEF_TE_ADJUST_PRO_MEAS_TIMEOUT#else #define TE_ADJUST_PRO_TIMEOUT pick_up_profile_ptr->te_adjust_profile.timeout #define TE_ADJUST_PRO_STARTING_GAIN pick_up_profile_ptr->te_adjust_profile.starting_gain #define TE_ADJUST_PRO_TE_TARGET_AMPLITUDE pick_up_profile_ptr->te_adjust_profile.te_target_amplitude #define TE_ADJUST_PRO_MEAS_TIMEOUT pick_up_profile_ptr->te_adjust_profile.meas_timeout typedef struct { uint16 timeout; int16 starting_gain; uint16 te_target_amplitude; uint16 meas_timeout; } TE_ADJUST_PROFILE_STRUCT;#endif/*------- Tracking profile --------------------------------------------------*/#define DEF_TRACKING_PRO_OFFSET (0x0000)#define DEF_TRACKING_PRO_TRACKING_OK_THS (0x4000)#define DEF_TRACKING_PRO_CLOSING_TIMEOUT (T3s)#define DEF_TRACKING_PRO_WAIT_TIMEOUT (T20ms)#define DEF_TRACKING_PRO_WAIT_TIMEOUT_SHORT_JUMP (T10ms)#define DEF_TRACKING_PRO_RETRY_TIMEOUT_OFFSET (T50ms)#define DEF_TRACKING_PRO_RETRY_TIMEOUT_DITHER (T10ms)#define DEF_TRACKING_PRO_RETRY_MAX_DITHER_COUNTER (5)#define DEF_TRACKING_PRO_CHECK_TIMEOUT (T10ms)#define DEF_TRACKING_PRO_CHECK_TIMEOUT_SHORT_JUMP (T4ms)#define DEF_TRACKING_PRO_WAIT_FOR_RECHECK_TIMEOUT (T4ms)#ifndef TRACKING_USE_PROFILE extern uint16 const DEF_TRACKING_PRO_CONTROLLER_COEFF[]; #define TRACKING_PRO_OFFSET DEF_TRACKING_PRO_OFFSET #define TRACKING_PRO_TRACKING_OK_THS DEF_TRACKING_PRO_TRACKING_OK_THS #define TRACKING_PRO_CLOSING_TIMEOUT DEF_TRACKING_PRO_CLOSING_TIMEOUT #define TRACKING_PRO_WAIT_TIMEOUT DEF_TRACKING_PRO_WAIT_TIMEOUT #define TRACKING_PRO_WAIT_TIMEOUT_SHORT_JUMP DEF_TRACKING_PRO_WAIT_TIMEOUT_SHORT_JUMP #define TRACKING_PRO_RETRY_TIMEOUT_OFFSET DEF_TRACKING_PRO_RETRY_TIMEOUT_OFFSET #define TRACKING_PRO_RETRY_TIMEOUT_DITHER DEF_TRACKING_PRO_RETRY_TIMEOUT_DITHER #define TRACKING_PRO_RETRY_MAX_DITHER_COUNTER DEF_TRACKING_PRO_RETRY_MAX_DITHER_COUNTER #define TRACKING_PRO_CONTROLLER_COEFF DEF_TRACKING_PRO_CONTROLLER_COEFF #define TRACKING_PRO_CHECK_TIMEOUT DEF_TRACKING_PRO_CHECK_TIMEOUT #define TRACKING_PRO_CHECK_TIMEOUT_SHORT_JUMP DEF_TRACKING_PRO_CHECK_TIMEOUT_SHORT_JUMP #define TRACKING_PRO_WAIT_FOR_RECHECK_TIMEOUT DEF_TRACKING_PRO_WAIT_FOR_RECHECK_TIMEOUT#else #define TRACKING_PRO_OFFSET pick_up_profile_ptr->tracking_profile.offset #define TRACKING_PRO_TRACKING_OK_THS pick_up_profile_ptr->tracking_profile.tracking_ok_ths #define TRACKING_PRO_CLOSING_TIMEOUT pick_up_profile_ptr->tracking_profile.closing_timeout #define TRACKING_PRO_WAIT_TIMEOUT pick_up_profile_ptr->tracking_profile.wait_timeout #define TRACKING_PRO_WAIT_TIMEOUT_SHORT_JUMP pick_up_profile_ptr->tracking_profile.wait_timeout_short_jump #define TRACKING_PRO_RETRY_TIMEOUT_OFFSET pick_up_profile_ptr->tracking_profile.retry_timeout_offset #define TRACKING_PRO_RETRY_TIMEOUT_DITHER pick_up_profile_ptr->tracking_profile.retry_timeout_dither #define TRACKING_PRO_RETRY_MAX_DITHER_COUNTER pick_up_profile_ptr->tracking_profile.retry_max_dither_counter #define TRACKING_PRO_CONTROLLER_COEFF pick_up_profile_ptr->tracking_profile.controller_coeff #define TRACKING_PRO_CHECK_TIMEOUT pick_up_profile_ptr->tracking_profile.check_timeout #define TRACKING_PRO_CHECK_TIMEOUT_SHORT_JUMP pick_up_profile_ptr->tracking_profile.check_timeout_short_jump #define TRACKING_PRO_WAIT_FOR_RECHECK_TIMEOUT pick_up_profile_ptr->tracking_profile.wait_for_recheck_timeout typedef struct { int16 offset; uint16 tracking_ok_ths; uint16 closing_timeout; uint16 wait_timeout; uint16 wait_timeout_short_jump; uint16 retry_timeout_offset; uint16 retry_timeout_dither; uint8 retry_max_dither_counter; uint16 controller_coeff[16]; uint16 check_timeout; uint16 check_timeout_short_jump; uint16 wait_for_recheck_timeout; } TRACKING_PROFILE_STRUCT;#endif/*------- AGC profile -------------------------------------------------------*//* Maximum allowed deviation from the default loop gain for the focus/tracking loop *//* is defined using the following defines. *//* The following table gives the relation between the actual gain deviation limit *//* the values to which the defines below should be set. This is done by providing *//* some typical values: *//* *//* Actual gain deviation limit | Value used in the #define *//* ------------------------------+------------------------------ *//* 1/5.0 | 0x0033 *//* 1/4.5 | 0x0038 *//* 1/4.0 | 0x0040 *//* 1/3.5 | 0x0049 *//* 1/3.0 | 0x0055 *//* 1/2.5 | 0x0066 *//* 1/2.0 | 0x0080 *//* 1/1.5 | 0x00aa *//* 1.5 | 0x0180 *//* 2.0 | 0x0200 *//* 2.5 | 0x0280 *//* 3.0 | 0x0300 *//* 3.5 | 0x0380 *//* 4.0 | 0x0400 *//* 4.5 | 0x0480 *//* 5.0 | 0x0500 *//* */#define DEF_AGC_PRO_FOCUS_DELTA_GAIN_MIN ((uint16)0x0040)#define DEF_AGC_PRO_FOCUS_DELTA_GAIN_MAX ((uint16)0x0400)#define DEF_AGC_PRO_TRACKING_DELTA_GAIN_MIN ((uint16)0x0040)#define DEF_AGC_PRO_TRACKING_DELTA_GAIN_MAX ((uint16)0x0400)// AGC coefficients valid for both the focus and the// radial tracking controller.#define AGC_COEFF_0 ((int16)0x816b) /* Width of both notches (B = 20 Hz). */#define AGC_COEFF_1 (0x011e) /* DC gain of both lowpass filters (G(0) = pi/2). */#define AGC_COEFF_2 (0x7f49) /* Cut off frequency of both lowpass filters (fp = 20 Hz). */#define AGC_COEFF_3 (0x4000) /* Estimation gain (m = 0.5). */// AGC coefficients for the focus controller designed for// a bandwidth of 1100 Hz.#define AGC_COEFF_4 (0x0e0d/4) /* Gain of both notches. */#define AGC_COEFF_5 (0x7954) /* Centre frequency of both notches (fo = 1.1 kHz). */#define AGC_COEFF_6 (0x1ef6) /* Amplitude of impulse, results in a oscillator amplitude of 0.8. */#define AGC_COEFF_7 (0x7A02) /* Oscillator frequency (f = 1.1 kHz) */// AGC coefficients for the radial tracking controller designed// for a bandwidth of 1300 Hz.#define AGC_COEFF_8 (0x1bf8) /* Gain of both notches. */#define AGC_COEFF_9 (0x76fe) /* Centre frequency of both notches (fo = 1.3 kHz). */#define AGC_COEFF_10 (0x245c) /* Amplitude of impulse, results in a oscillator amplitude of 0.8. */#define AGC_COEFF_11 (0x77a8) /* Oscillator frequency (f = 1.3 kHz) */#define DEF_AGC_PRO_TIMEOUT (T3s)#define DEF_AGC_PRO_INJECTION_FOCUS_AMPLITUDE (0x0800*4)#define DEF_AGC_PRO_INJECTION_TRACKING_AMPLITUDE (0x0400)#define DEF_AGC_PRO_GAIN_FOCUS (0x4000)#define DEF_AGC_PRO_GAIN_TRACKING (0x4000)#define DEF_AGC_PRO_MINMAX_NR_CYCLES (0x0003)#define DEF_AGC_PRO_MINMAX_THRESHOLD (0x0190)#define DEF_AGC_PRO_WAIT_TIMEOUT (T100ms)#ifndef AGC_USE_PROFILE extern int16 const agc_coeff_focus[]; extern int16 const agc_coeff_tracking[]; #define AGC_PRO_TIMEOUT DEF_AGC_PRO_TIMEOUT #define AGC_PRO_COEFF_FOCUS agc_coeff_focus #define AGC_PRO_COEFF_TRACKING agc_coeff_tracking #define AGC_PRO_INJECTION_FOCUS_AMPLITUDE DEF_AGC_PRO_INJECTION_FOCUS_AMPLITUDE #define AGC_PRO_INJECTION_TRACKING_AMPLITUDE DEF_AGC_PRO_INJECTION_TRACKING_AMPLITUDE #define AGC_PRO_GAIN_FOCUS DEF_AGC_PRO_GAIN_FOCUS #define AGC_PRO_GAIN_TRACKING DEF_AGC_PRO_GAIN_TRACKING #define AGC_PRO_MINMAX_NR_CYCLES DEF_AGC_PRO_MINMAX_NR_CYCLES #define AGC_PRO_MINMAX_THRESHOLD DEF_AGC_PRO_MINMAX_THRESHOLD #define AGC_PRO_WAIT_TIMEOUT DEF_AGC_PRO_WAIT_TIMEOUT #define AGC_PRO_FOCUS_DELTA_GAIN_MIN DEF_AGC_PRO_FOCUS_DELTA_GAIN_MIN #define AGC_PRO_FOCUS_DELTA_GAIN_MAX DEF_AGC_PRO_FOCUS_DELTA_GAIN_MAX #define AGC_PRO_TRACKING_DELTA_GAIN_MIN DEF_AGC_PRO_TRACKING_DELT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -