📄 srvrcv.h
字号:
/**************************************************
*
* srvrcv.h
*
* CVS ID: $Id: srvrcv.h,v 1.9 2007/09/26 15:15:46 dellorto Exp $
* Author: Fabio Dell'Orto [FD] - STM
* Date: $Date: 2007/09/26 15:15:46 $
* Revision: $Revision: 1.9 $
*
* Description:
*
*
***************************************************
*
* COPYRIGHT (C) ST Microelectronics 2005
* All Rights Reserved
*
***************************************************
*
* STM CVS Log:
*
* $Log: srvrcv.h,v $ * Revision 1.9 2007/09/26 15:15:46 dellorto * state machine for hf detection using acquisition defect information * * Revision 1.8 2006/10/09 15:14:41 dellorto * improved TTM and focus recover for DC TTM motor *
* Revision 1.7 2006/09/18 09:55:26 belardi
* Corrected CVS keyword usage
*
* Revision 1.6 2006/09/18 09:25:38 belardi
* AddeLogg$ CVS keyword into file header
*
*
***************************************************/
#ifndef __SRVRCV_H
#define __SRVRCV_H
#define CHECK_FOCUS 0x01
#define CHECK_HF 0x02
#define CHECK_TRACKING 0x04
#define CHECK_TTM 0x08
typedef enum
{
CHECK_TRACKING_CALLER_TRACK_ON_CMD,
CHECK_TRACKING_CALLER_TRACK_OFF_CMD,
CHECK_TRACKING_CALLER_MAX_CMD,
CHECK_TRACKING_CALLER_DSP_GLITCH = CHECK_TRACKING_CALLER_MAX_CMD,
CHECK_TRACKING_CALLER_TIMEOUT
} t_check_tracking_caller;
typedef enum
{
CHECK_HF_CALLER_FORCE_HF_LOST_CMD,
CHECK_HF_CALLER_MAX_CMD,
CHECK_HF_CALLER_DSP_ACQ_DEFECT_ABSENT = CHECK_HF_CALLER_MAX_CMD,
CHECK_HF_CALLER_DSP_ACQ_DEFECT_PRESENT,
CHECK_HF_CALLER_TIMEOUT
} t_check_hf_caller;
typedef enum
{
AGC_NO_EVENT = NO_EVENT,
AGC_EVENT_FOCUS_UPDATE,
AGC_EVENT_TRACKING_UPDATE
} t_agc_event;
typedef enum
{
FOCUS_NO_EVENT = NO_EVENT,
FOCUS_EVENT_OPEN,
FOCUS_EVENT_CLOSED
} t_focus_event;
typedef enum
{
TRACKING_NO_EVENT = NO_EVENT,
TRACKING_EVENT_OPEN,
TRACKING_EVENT_CLOSED
} t_tracking_event;
typedef enum
{
HF_NO_EVENT = NO_EVENT,
HF_EVENT_LOST,
HF_EVENT_FOUND
} t_hf_event;
#ifdef APM_PICKUP
typedef enum
{
TTM_FG_NO_EVENT = NO_EVENT,
TTM_FG_EVENT_NOT_OK,
TTM_FG_EVENT_OK
} t_ttm_fg_event;
#endif
typedef enum
{
TTM_SPEED_NO_EVENT = NO_EVENT,
TTM_SPEED_EVENT_NOT_OK,
TTM_SPEED_EVENT_OK
} t_ttm_speed_event;
typedef enum
{
CLV_BUFFER_NO_EVENT = NO_EVENT,
CLV_BUFFER_EVENT_NOT_OK,
CLV_BUFFER_EVENT_OK
} t_clv_buffer_event;
typedef enum
{
RAMP_NO_EVENT = NO_EVENT,
RAMP_EVENT_STOPPED,
RAMP_EVENT_MOVING
} t_ramp_event;
typedef enum
{
CHECK_TRACKING_STATE_WAIT_FOR_OK = STATE_1,
CHECK_TRACKING_STATE_OK = STATE_2,
CHECK_TRACKING_STATE_WAIT_FOR_RECHECK = STATE_3,
CHECK_TRACKING_STATE_RECHECK = STATE_4,
CHECK_TRACKING_STATE_LOST = STATE_5,
CHECK_TRACKING_STATE_OPEN = STATE_6
} t_check_tracking_state;
typedef enum
{
CHECK_HF_STATE_LOST = STATE_1,
CHECK_HF_STATE_WAIT_FOR_FOUND = STATE_2,
CHECK_HF_STATE_FOUND = STATE_3,
CHECK_HF_STATE_WAIT_FOR_LOST = STATE_4
} t_check_hf_state;
extern uint8 tracking_recover_dither_counter;
extern t_check_tracking_state check_tracking_fsm_state;
extern t_check_hf_state check_hf_fsm_state;
t_bool focus_ok(void);
t_bool hf_ok(void);
t_bool tracking_ok(void);
void init_check_tracking_fsm(void);
void init_check_hf_fsm(void);
void check_tracking_fsm_call(t_check_tracking_caller check_tracking_caller);
void check_hf_fsm_call(t_check_hf_caller check_hf_caller);
RETVAL check_servo(uint8 check_mask);
#ifdef APM_PICKUP
RETVAL ttm_recover(void);
#else /* (not APM_PICKUP) */
void ttm_recover(void);
#endif /* APM_PICKUP */
RETVAL focus_recover(void);
void tracking_recover(void);
RETVAL jump_ok(void);
RETVAL hf_recover(void);
RETVAL erased_cd_rw_recover(void);
RETVAL pll_recover(void);
#endif /* __SRVRCV_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -