📄 mn662790.h
字号:
//=================================================================//
// Panasonic MN662790 Servo code //
// Modify : cmchang 2002.06.25 //
// Version: 662790-V1.12 //
// //
// change note: //
// V1.0B (0524) //
// 1. modify GPIO setting of mn662790.h and hwsetup.c //
// V1.0D (0607) //
// 1. add SERVO_FOCUS_CDRW1 & SERVO_FOCUS_CDRW1. //
// V1.0I (0725) //
// 1. add SLED_IN_TIME and SLED_OUT_TIME for users to modify. //
// V1.0J-GPIO (0919) //
// 1. use GPIO2, GPIO3 as CLOSE, OPEN control. //
// V1.10 (1031) //
// 1. modify for driver AN4801 & GIO definition. //
// V1.11 (2002-06-03) //
// 1. add SPEED_CMD for 2X speed. //
// 2. add Servo_clv2x() for forced speed up. //
// 3. Support multi session discs. //
// V1.12 (2002-06-26) //
// 1. modify 0x00104d -> 0x00144d. //
// 2. modify Servo_read_toc() for a special case of //
// close-session-disc. //
//=================================================================//
#if SUPPORT_COMBO
#define SLED_IN_TIME 400 //let PUH213VS cover close //linych 0725
#define SLED_OUT_TIME 100 //let PUH213VS cover open //linych 0725
#define FALSE 0
#define TRUE 1
#define SUCCESS 2
#define FAIL 1
#define IDLE 0
//#define FAIL1 3 //linych 0214
#define TNO 0 //servo.buf[]
#define RETRY 1
#define BRAKE 2
//#define GAIN 3
#define SERVO_CTRL 0
#define SERVO_TNO 1
#define SERVO_INDEX 2
#define SERVO_RMIN 3
#define SERVO_RSEC 4
#define SERVO_RFRM 5
#define SERVO_ZERO 6
#define SERVO_AMIN 7
#define SERVO_ASEC 8
#define SERVO_AFRM 9
#define SAM_BOARD
#define BCDToHEX(y) (((y)>>4)&0x0f)*10+((y)&0x0f)
#define HEXToBCD(y) ((((y)/10)<<4)|((y)%10))
#define SERVO_RESET_0 0x00
#define SERVO_RESET_1 0x01
#define SERVO_RESET_2 0x02
#define SERVO_RESET_3 0x03
#define SERVO_RESET_4 0x04
#define SERVO_RESET_5 0x05
#define SERVO_RESET_6 0x06
#define SERVO_RESET_OK 0x10
#define SERVO_TRAYIN_0 0x00
#define SERVO_TRAYIN_1 0x01
#define SERVO_TRAYIN_2 0x02
#define SERVO_TRAYIN_3 0x03
#define SERVO_TRAYIN_OK 0x10
#define SERVO_TRAYOUT_0 0x00
#define SERVO_TRAYOUT_1 0x01
#define SERVO_TRAYOUT_2 0x02
#define SERVO_TRAYOUT_3 0x03
#define SERVO_TRAYOUT_OK 0x10
#define TRAVEL_STOP 0x00
#define TRAVEL_IN 0x01
#define TRAVEL_OUT 0x02
#define SERVO_SLEDGE_S 0x00
#define SERVO_SLEDGE_IN 0x01
#define SERVO_SLEDGE_IN_1 0x02
#define SERVO_SLEDGE_IN_2 0x03
#define SERVO_SLEDGE_OUT 0x04
#define SERVO_SLEDGE_OK 0x05
#define SERVO_FOCUS_0 0x00
#define SERVO_FOCUS_1 0x01
#define SERVO_FOCUS_2 0x02
#define SERVO_FOCUS_3 0x03
#define SERVO_FOCUS_4 0x04
#define SERVO_FOCUS_5 0x05
#define SERVO_FOCUS_6 0x06
#define SERVO_FOCUS_7 0x07
#define SERVO_FOCUS_8 0x08
#define SERVO_FOCUS_9 0x09
#define SERVO_FOCUS_10 0x0a
#define SERVO_FOCUS_11 0x0b
#define SERVO_FOCUS_12 0x0c
#define SERVO_FOCUS_13 0x0d
#define SERVO_FOCUS_14 0x0e
#define SERVO_FOCUS_15 0x0f
#define SERVO_FOCUS_16 0x10
#define SERVO_FOCUS_CDRW1 0x11 //linych 0607
#define SERVO_FOCUS_CDRW2 0x12 //linych 0607
#define SERVO_FOCUS_OK 0x20
#define SERVO_FCS_0 0x00
#define SERVO_FCS_1 0x01
#define SERVO_FCS_2 0x02
#define SERVO_FCS_3 0x03
#define SERVO_FCS_4 0x04
#define SERVO_FCS_5 0x05
#define SERVO_FCS_6 0x06
#define SERVO_FCS_7 0x07
#define SERVO_FCS_8 0x08
#define SERVO_FCS_9 0x09
#define SERVO_FCS_10 0x0a
#define SERVO_FCS_11 0x0b
#define SERVO_FCS_12 0x0c
#define SERVO_FCS_OK 0x10
#define SERVO_ADA_0 0xfe
#define SERVO_ADA_1 0xff
#define SERVO_READTOC_0 0x00
#define SERVO_READTOC_1 0x01
#define SERVO_READTOC_2 0x02
#define SERVO_RECOVER_0 0x00
#define SERVO_RECOVER_1 0x01
#define SERVO_RECOVER_2 0x02
#define SERVO_RECOVER_3 0x03
#define SERVO_RECOVER_4 0x04
#define SERVO_RECOVER_5 0x05
#define SERVO_RECOVER_6 0x06
#define SERVO_RECOVER_7 0x07
#define SERVO_RECOVER_8 0x08
#define SERVO_RECOVER_9 0x09
#define SERVO_RECOVER_OK 0x10
#define SERVO_GOTIME_0 0x00
#define SERVO_GOTIME_1 0x01
#define SERVO_GOTIME_2 0x02
#define SERVO_GOTIME_3 0x03
#define SERVO_GOTIME_4 0x04
#define SERVO_GOTIME_5 0x05
#define SERVO_GOTIME_6 0x06
#define SERVO_GOTIME_7 0x07
#define SERVO_GOTIME_OK 0x08
/*
#define GOTO_SELECT_1 0x00
#define GOTO_SELECT_4 0x01
#define GOTO_SELECT_8 0x02
#define GOTO_SELECT_16 0x03
#define GOTO_SELECT_32 0x04
#define GOTO_SELECT_64 0x05
#define GOTO_SELECT_128 0x06
#define GOTO_SELECT_256 0x07
#define GOTO_SELECT_HX 0x08
#define GOTO_SELECT_M 0x09
*/
#define SERVO_IDLE_STATE 0x00
#define SERVO_RESET_STATE 0x01
#define SERVO_SLEDGE_STATE 0x02
#define SERVO_FOCUS_STATE 0x03
#define SERVO_FCS_STATE 0x04
#define SERVO_READTOC_STATE 0x05
#define SERVO_GOTO_STATE 0x06
#define SERVO_PLAY_STATE 0x07
#define SERVO_PLAYING_STATE 0x08
#define SERVO_STOP_STATE 0x09
#define SERVO_OPEN_STATE 0x0a
#define SERVO_CLOSE_STATE 0x0b
#define SERVO_OPENED_STATE 0x0c
#define SERVO_RECOVER_STATE 0x0d
#define SERVO_CLV2X_STATE 0x0e //cmchang 2002-05-21
#define SERVO_IDLE_CMD 0x00
#define SERVO_READTOC_CMD 0x01
#define SERVO_PLAY_CMD 0x02
#define SERVO_GOTO_CMD 0x03
#define SERVO_PLAY_TRACK_CMD 0x04
#define SERVO_STOP_CMD 0x05
#define SERVO_AUTO_CMD 0x06
#define SERVO_PAUSE_CMD 0x07
#define SERVO_OPEN_CMD 0x08
#define SERVO_CLOSE_CMD 0x09
#define SERVO_SET_CMD 0x0a
#define SERVO_SLEDGE_OFF_CMD 0x0b
#define SERVO_SETVOL_CMD 0x0c //Dennis 11/16
#define SERVO_SPEED_CMD 0x0d//cmchang 2002-05-24
#define SERVO_VERSION_CMD 0xff //linych 0222
#define SERVO_SESSION_CMD 0x0e//cmchang 2002-05-24 ???
#define SERVO_PLAY_0 0x00
#define SERVO_PLAY_1 0x01
#define SERVO_PLAY_2 0x02
#define SERVO_PLAY_OK 0x05
#define SERVO_STOP_0 0x00
#define SERVO_STOP_1 0x01
#define SERVO_STOP_2 0x02
#define SERVO_STOP_3 0x03
#define SERVO_STOP_4 0x04
#define SERVO_STOP_5 0x05
#define SERVO_STOP_OK 0x06
#define SERVO_GFS_OK 0x00
#define SERVO_FOCUS_LOST 0x01
#define SERVO_GFS_LOST 0x02
#define SERVO_QCDOE_0 0x00
#define SERVO_QCDOE_1 0x01
#define SERVO_QCDOE_2 0x02
#define SERVO_QCDOE_3 0x03
#define SERVO_QCDOE_4 0x04
#define SERVO_RESPONSE_FOUND 0x0100
#define SERVO_RESPONSE_STOPPED 0x0200
#define SERVO_RESPONSE_DISC_ST 0x0300
#define SERVO_RESPONSE_ERROR 0x0400
#define SERVO_RESPONSE_LOT_LSB 0x0900
#define SERVO_RESPONSE_LOT_MSB 0x0a00
#define SERVO_RESPONSE_TRAY_M 0x0b00
#define SERVO_RESPONSE_TRAY_OP 0x0c00
#define SERVO_RESPONSE_TRAY_CL 0x0d00
#define SERVO_RESPONSE_ATT 0x1000
#define SERVO_RESPONSE_ATI 0x1100
#define SERVO_RESPONSE_ATM 0x1200
#define SERVO_RESPONSE_ATS 0x1300
#define SERVO_RESPONSE_ABS_MM 0x1400
#define SERVO_RESPONSE_ABS_SS 0x1500
#define SERVO_RESPONSE_ABS_FF 0x1600
#define SERVO_RESPONSE_MODE 0x1700
#define SERVO_GOTO_READY ((servo.status & 0x97)==0x17)
#define SERVO_RESET_STATUS_OK (servo.status&(1<<0))
#define SERVO_FOK_STATUS_OK (servo.status&(1<<1))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -