⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 srvrcv.h

📁 本程序为ST公司开发的源代码
💻 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 + -