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

📄 mn662790.h

📁 代码有点长,需细心阅读,仅供影音视听类产品的开发人员参考
💻 H
📖 第 1 页 / 共 2 页
字号:
//=================================================================//
//               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 + -