📄 servogdt.h
字号:
/* Copyright 2002-2003, ESS Technology, Inc. *//* SCCSID @(#)servogdt.h 1.15 03/10/04 *//* Based on servo.h 2.9 02/27/01 *//* * $Log$ */#ifndef __SERVOGDT_H__#define __SERVOGDT_H__#include "common.h"#define ON 1#define OFF 0#define END_NOP 0x00#define BYTE3(arg) (*( unsigned char *)&(arg))#define BYTE2(arg) (*((unsigned char *)&(arg) + 1))#define BYTE1(arg) (*((unsigned char *)&(arg) + 2))#define BYTE0(arg) (*((unsigned char *)&(arg) + 3))#define HIWORD(arg) (*( unsigned int *)&(arg))#define LOWORD(arg) (*((unsigned int *)&(arg) + 1))#define HIBYTE(arg) (((arg)>>8)&0xff)#define LOBYTE(arg) ((arg)&0xff)#define BIT7 0x80#define BIT6 0x40#define BIT5 0x20#define BIT4 0x10#define BIT3 0x08#define BIT2 0x04#define BIT1 0x02#define BIT0 0x01extern int SERVO_mode;extern int SERVO_state;extern int SERVO_timer;extern int SERVO_counter;extern int SERVO_STATUS;extern int servo_flags;extern unsigned int SERVO_cdtime;extern int open_delay;extern unsigned int disc_cal_count;GBLDEF_0(volatile unsigned int servo_glbTimer, 0);GBLDEF(int old_SERVO_mode, -1);/************************************************************************ * Defines for SERVO. * ************************************************************************/#define FOCUS_FAIL_COUNT 0x02#define job_sledin 0x00#define job_focus 0x01#define job_clvon 0x02#define job_stop 0x03/* * Q code information */#define SUBQ_LEN 10#define SERVO_QCTRADD 0#define SERVO_QTRACK 1#define SERVO_QPOINT 2#define SERVO_QRMIN 3#define SERVO_QRSEC 4#define SERVO_QRFRAME 5#define SERVO_QZERO 6#define SERVO_QPMIN 7#define SERVO_QPSEC 8#define SERVO_QPFRAME 9/* * SERVO mode information */#define SERVO_IDLE 0#define SERVO_STOP 1#define SERVO_OPEN 2#define SERVO_CLOSE 3#define SERVO_PLAY 4#define SERVO_PAUSE 5#define SERVO_RELEASEPAUSE 6#define SERVO_RECOVER 7#define SERVO_SEARCH 8#define FASTER 1#define OPEN_M 0x00#define STOP_M 0x01#define CUE_M 0x02(FF/REV)#define PLAY_M 0x03#define OPEN_00 0x00#define OPEN_10 1#define UNLD_10 2#define LOAD_10 3#define SLED_10 4#define STOP_10 5#define STOP_20 6#define STOP_30 7#define STOP_40 8#define STOP_100 9#define STOP_110 10 #define STOP_120 11 #define STOP_200 12 #define STOP_210 13 #define STOP_220 14 #define STOP_230 15 #define FOCUS_10 16 #define FOCUS_20 17#define FOCUS_30 18#define FOCUS_40 19#define FOCUS_50 20#define FOCUS_60 21#define EFV_10 22#define FBIAS_10 23 #define FBIAS_20 24#define AGC_10 25#define AGC_20 26 #define TOC_10 27#define ACES_10 28 #define ACES_20 29#define ACES_30 30#define ACES_40 31#define CUE_10 32#define CUE_20 33 #define CUE_30 34#define CUE_40 35#define PLAY_10 36#define RUN_10 37#define EMR_10 38#define EMR_20 39#define FB_SPL 60#define FB_STP 0x20#define FB_R_LIMIT 0x60#define FB_L_LIMIT (-0x60)#define FB_ABT 03#define F_OFF 0x00#define FCSDWN 0x02#define AS_OFF 0x11#define TG_NOR 0x11#define TG_UP 0x17#define TOFF_SOFF 0x20#define TOFF_SFWD 0x22#define TOFF_SREV 0x23#define TON_SOFF 0x24#define TON_SON 0x25#define A_CANCEL 0x4000#define AGC_CANCEL x38148e#define A_FOCUS 0x4700#define A_1TJF 0x48#define A_1TJR 0x49#define A_10TJF 0x4A#define A_10TJR 0x4B#define A_2NTJF 0x4C#define A_2NTJR 0x4D#define A_NTMF 0x4E#define A_NTMR 0x4F#define SET_B1 0x59#define B_1TJF 0x53#define B_1TJR 0x53#define B_10TJF 0x58#define B_10TJR 0x58#define B_30TJF 0x5B#define B_30TJR 0x5B#define B_100TJF 0x5B#define B_100TJR 0x5B#define B_NTMF 0x5B#define B_NTMR 0x5B#define D_30TJF 0x62#define D_30TJR 0x62#define D_100TJF 0x62#define D_100TJR 0x62#define CLV_STOP 0xE0#define CLV_KICK 0xE8#define CLV_BRK 0xEA#define CLV_A 0xE6#define T2WMAX 0x01#define TIMER1_INTERVAL 10 /* 10ms */#define T5SECOND (5000/TIMER1_INTERVAL)#define T4SECOND (4000/TIMER1_INTERVAL)#define T3SECOND (3000/TIMER1_INTERVAL)#define T2SECOND (2000/TIMER1_INTERVAL)#define T1_5SECOND (1500/TIMER1_INTERVAL)#define T1SECOND (1000/TIMER1_INTERVAL)#define T800MS (800/TIMER1_INTERVAL)#define T600MS (600/TIMER1_INTERVAL)#define T500MS (500/TIMER1_INTERVAL)#define T400MS (400/TIMER1_INTERVAL)#define T300MS (300/TIMER1_INTERVAL)#define T250MS (250/TIMER1_INTERVAL)#define T200MS (200/TIMER1_INTERVAL)#define T150MS (150/TIMER1_INTERVAL)#define T100MS (100/TIMER1_INTERVAL)#define T80MS (80/TIMER1_INTERVAL)#define T30MS (30/TIMER1_INTERVAL)#define T10MS (10/TIMER1_INTERVAL)#define T8MS (8/TIMER1_INTERVAL)#define FOK_TIMEOUT T80MS#define GFSMUTE_TIMEOUT T30MS#define GFS_TIMEOUT T4SECOND#define SUBQ_TIMEOUT T4SECOND/******************************************************** servo status define bit15 14 13 12 11 10 9 8 Stop On bit7 6 5 4 3 2 1 0 Toc Sled Cal. FOK ADJ abort search rought seek********************************************************/#define SET_rough_search servo_flags |= 0x0001#define CLR_rough_search servo_flags &= ~0x0001#define rough_search_TRUE (servo_flags & 0x0001)#define rough_search_FALSE !(servo_flags & 0x0001)#define SET_search_flag servo_flags |= 0x0002#define CLR_search_flag servo_flags &= ~0x0002#define search_flag_TRUE (servo_flags & 0x0002)#define search_flag_FALSE !(servo_flags & 0x0002)#define SET_servo_abort servo_flags |= 0x0004#define CLR_servo_abort servo_flags &= ~0x0004#define servo_abort_TRUE (servo_flags & 0x0004)#define servo_abort_FALSE !(servo_flags & 0x0004)#define SET_servo_adj servo_flags |= 0x0008#define CLR_servo_adj servo_flags &= ~0x0008#define servo_adj_TRUE (servo_flags & 0x0008)#define servo_adj_FALSE !(servo_flags & 0x0008)#define SET_servo_fok servo_flags |= 0x0010#define CLR_servo_fok servo_flags &= ~0x0010#define servo_fok_TRUE (servo_flags & 0x0010)#define servo_fok_FALSE !(servo_flags & 0x0010)#define SET_servo_cal servo_flags |= 0x0020#define CLR_servo_cal servo_flags &= ~0x0020#define servo_cal_TRUE (servo_flags & 0x0020)#define servo_cal_FALSE !(servo_flags & 0x0020)#define SET_servo_sledhome servo_flags |= 0x0040#define CLR_servo_sledhome servo_flags &= ~0x0040#define servo_sledhome_TRUE (servo_flags & 0x0040)#define servo_sledhome_FALSE !(servo_flags & 0x0040)#define SET_servo_toc servo_flags |= 0x0080#define CLR_servo_toc servo_flags &= ~0x0080#define servo_toc_TRUE (servo_flags & 0x0080)#define servo_toc_FALSE !(servo_flags & 0x0080)#define SET_servo_on servo_flags |= 0x0100#define CLR_servo_on servo_flags &= ~0x0100#define servo_on_TRUE (servo_flags & 0x0100)#define servo_on_FALSE !(servo_flags & 0x0100)#define SET_servo_stop servo_flags |= 0x0200#define CLR_servo_stop servo_flags &= ~0x0200#define servo_stop_TRUE (servo_flags & 0x0200)#define servo_stop_FALSE !(servo_flags & 0x0200)#define SET_offset_adj servo_flags |= 0x0400#define CLR_offset_adj servo_flags &= ~0x0400#define servo_offsetadj_TRUE (servo_flags & 0x0400)#define servo_offsetadj_FALSE !(servo_flags & 0x0400)#define SET_close_mode mode_flags |= 0x0001#define CLR_close_mode mode_flags &= ~0x0001#define TOG_close_mode mode_flags ^= 0x0001#define close_mode_TRUE (mode_flags & 0x0001)#define close_mode_FALSE !(mode_flags & 0x0001)#define SET_access_mode mode_flags |= 0x0002#define CLR_access_mode mode_flags &= ~0x0002#define access_mode_TRUE (mode_flags & 0x0002)#define access_mode_FALSE !(mode_flags & 0x0002)#define SET_pause_mode mode_flags |= 0x0004#define CLR_pause_mode mode_flags &= ~0x0004#define pause_mode_TRUE (mode_flags & 0x0004)#define pause_mode_FALSE !(mode_flags & 0x0004)#define SET_tray_blocked mode_flags |= 0x0008#define CLR_tray_blocked mode_flags &= ~0x0008#define tray_blocked_TRUE (mode_flags & 0x0008)#define tray_blocked_FALSE !(mode_flags & 0x0008)#define SET_in_initCD mode_flags |= 0x0010#define CLR_in_initCD mode_flags &= ~0x0010#define in_initCD_TRUE (mode_flags & 0x0010)#define in_initCD_FALSE !(mode_flags & 0x0010)/* Constants of Tray Process */#define TRAY_MOVE_TIME_LIMIT 0x100/* State of Tray Process */#define TRAY_CHECK_SLEDHOME 0#define TRAY_OUT_SLEDHOME 1#define TRAY_CHECK_OPEN 2#define TRAY_START_OPEN 3#define TRAY_MONITOR_OPEN 4#define TRAY_CHECK_SLEDHOME 0#define TRAY_IN_SLEDHOME 1#define TRAY_CHECK_CLOSE 2#define TRAY_START_CLOSE 3#define TRAY_MONITOR_CLOSE 4#define TRAY_IDLE 5#define TRAY_failure 6/* Servo Mode */#define Mode_Focusing 0#define Mode_Tracking 1#define Mode_Monitor 2#define Mode_Stopping 3#define Mode_ChangeSPD 4#define Mode_Seek 5#define Mode_Tray_In 6 #define Mode_Tray_Out 7 /* Return value of Servo Process */#define SERVO_RET_wait 0#define SERVO_RET_fok 1#define SERVO_RET_fng 2#define SERVO_RET_clvok 3#define SERVO_RET_clvng 4#define SERVO_RET_stopok 5#define SERVO_RET_loss 6#define SERVO_RET_Qcode 7#define SERVO_RET_int 8#define SERVO_RET_trayinok 9#define SERVO_RET_trayoutok 10#define SERVO_RET_trayng 11#define SERVO_RET_Qloss 12/* Focusing State */#define Focus_Para 0#define Focus_SledHome 1#define Focus_SledHomeOk 2#define Focus_Offset_Init 3#define Focus_Offset_Wait 4#define Focus_DiscDet 5#define Focus_LDon 6#define Focus_LensUp 7#define Focus_UpDelay 8#define Focus_LensDown 9#define Focus_DnDelay 10#define Focus_CountDetect 11#define Focus_AccDisc 12#define Focus_Check_FOK 13#define Focus_Wait_LensDn 14#define Focus_recover 15#define Focus_recover_PullSedge 16#define Focus_recover_StopSedge 17#define Focus_failure 18/* Tracking State */#define CLV_Kick 0#define CLV_KickWait 1#define CLV_RFGA_init 2#define CLV_RFGA_Wait 3#define CLV_TBA_init 4#define CLV_TBA_Wait 5#define CLV_TRACK_ON 6#define CLV_TON_Check 7#define CLV_FBA_init 8#define CLV_FBA_Wait 9#define CLV_FGA_init 10#define CLV_FGA_Wait 11#define CLV_TGA_init 12#define CLV_TGA_Wait 13#define CLV_Set_Speed 14#define CLV_Check_Q 15#define CLV_DISC_CAL 16#define CLV_Tracking_Fail 17/* Monitor State */#define MON_slide 0#define MON_jump 1/* Stopping State */#define STOP_start 0#define STOP_brake_wait 1#define STOP_off 2#define STOP_idle 3/* Seek Process State */#define Seek_Initial 0#define Seek_GetTime 1#define Seek_TrkCal 2#define Seek_FineSeek 3#define Seek_RoughSeek 4#define Seek_Wait_FineSeekEnd 5#define Seek_RSK_Start 6#define Seek_Wait_RoughSeekEnd 7 #define Seek_TrackingOn 8 #define Seek_TON_Check 9 #define Seek_TimeOut 10 #define Seek_TimeOutQCHK 11#define Seek_Complete 12/* Track jump */#define J_FORWARD 1#define J_BACKWARD 0#define SLEDHOME_prc_ok 0#define SLEDHOME_init 1#define SLEDHOME_wait_inner 2#define SLEDHOME_push_out 3#define SLEDHOME_prc_finish 4#define SLEDHOME_timeout 5#define CHANGESPD_prc_ok 0#define CHANGESPD_init 1#define CHANGESPD_set_para 2#define CHANGESPD_wait_qok 3#define CHANGESPD_prc_finish 4#define CHANGESPD_timeout 5#define ISR_DISC_CAL 0x01#define ISR_WATCHDOG 0x02#define ISR_RSK 0x03#define SPD_Init 0#define SPD_1X 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -