📄 srvpro.h
字号:
/**************************(c) STMicroelectronics *****************************//*!\file * * Project Scope: CDM M8 * * Organisation: Optical Media Storage B.U. * AGRATE (ITALY) Application Lab * * Version Control: * \source sources/servo/srvpro.h * \version 0.1 * \author ST Agrate * \date 00-00-00 * ******************************************************************************* * \brief Servo Profile definition (structure + initial values) * * \par Change History: * * - BB040202 Sledge home changed to move sledge outside after * home switch is closed * * - PH040601a Modified profile handling. Introduced profile union * and pointer to it. So it can be switched ROM/RAM * * - PH040601b Added value in START_TTM_PROFILE --> idle value for SPINDLE_KICK * Exchanged value F000 * * - BB040928b Increased speed of ramping in CHECK_MEDIA and FE_ADJUST states * * - PH040101 Changed Stepper motor speed(s) to reduce noise of sledge * * - BB050131a ROM code optimizations: * - Added possibility to disable profile support * * - PH050225 Changed stepper acceleration adjusted to higher speed (sledge_home) * - PH050419c Adjusted focus_recover distance from x10 to x30 * - BB050509c Changed parameters for "new" OPU * - HW050704a Changed parameter for DEF_FE_ADJUST_PRO_SUBSTRATE_THS(from 8 to 5) * to play CDRW with very low reflectivity *************************************************** * * STM CVS Log: * * $Log: srvpro.h,v $ * Revision 1.18 2007/11/15 08:31:07 dellorto * tuned loading voltage for Tanashin mechanisms * * Revision 1.17 2007/10/30 17:08:46 dellorto * modified threshold for substrate detection, * in order to handle properly very low reflective discs * * Revision 1.16 2007/09/26 15:10:05 dellorto * added items for tracking recover and hf detection improvements * modified tuning for ttm recover * * Revision 1.15 2007/09/07 07:10:05 dellorto * Fine tuning of parameters related to Tanahin mechanisms * * Revision 1.14 2007/08/14 15:29:57 dellorto * multiple mechanisms * * Revision 1.13 2007/03/16 14:22:30 dellorto * introduced new profile items * * Revision 1.12 2006/09/18 09:55:26 belardi * Corrected CVS keyword usage * * Revision 1.11 2006/09/18 09:25:48 belardi * Added Log CVS keyword into file header * * ******************************************************************************/#ifndef __SRVPRO_H#define __SRVPRO_H#include "configuration.h"#include "hwreg.h"typedef enum{ M0_SHINWA_CDC02 = 0x00, M1_SHINWA_CLC01 = 0x01, M0_RESERVED_2 = 0x02, M3_RESERVED_3 = 0x03, M4_TANASHIN_TN2001_12CM = 0x04, M5_TANASHIN_TN2001_8CM = 0x05, M6_TANASHIN_TN2007_JVC = 0x06, M7_TANASHIN_TN2007_BP = 0x07, M8_RESERVED_8 = 0x08, M9_RESERVED_9 = 0x09, MA_RESERVED_A = 0x0A, MB_RESERVED_B = 0x0B, MC_RESERVED_C = 0x0C, MD_RESERVED_D = 0x0D, ME_RESERVED_E = 0x0E, MF_RESERVED_F = 0x0F} t_mechanism_model;extern t_mechanism_model mechanism_model;#define IS_TANASHIN_MECHANISM(x) (((x) & 0x0C) == 0x04)#define IS_TANASHIN_MECHANISM_TN2001(x) (((x) & 0x0E) == 0x04)#define IS_TANASHIN_MECHANISM_TN2007(x) (((x) & 0x0E) == 0x06)#define IS_TANASHIN_MECHANISM_8CM(x) ((((x) & 0x0C) == 0x04) && (((x) & 0x03) != 0))#define SW0_MM (PDB & 0x0200)#define SW1_MM (PDB & 0x0400)#define SW2_MM (PDB & 0x0800)#define SW0_MECHANISM_MODEL (SW0_MM ? 0x01 : 0x00)#define SW1_MECHANISM_MODEL (SW1_MM ? 0x02 : 0x00)#define SW2_MECHANISM_MODEL (SW2_MM ? 0x04 : 0x00)extern t_mechanism_model detect_mechanism(void);#if (1 == HAVE_PROFILES) #define SLEDGE_USE_PROFILES #define SLEDGE_PLAY_USE_PROFILES #define SLEDGE_JUMP_USE_PROFILES #define TTM_USE_PROFILES #define RAMP_USE_PROFILES #define OPU_USE_PROFILES #define FE_ADJUST_USE_PROFILES #define FOCUS_USE_PROFILE #define TE_ADJUST_USE_PROFILE #define TRACKING_USE_PROFILE #define AGC_USE_PROFILE #define SEEK_USE_PROFILE #define RECOVER_USE_PROFILE #define LOADER_USE_PROFILE#endif/*===========================================================================*//*===== Profile structure definition ========================================*//*===========================================================================*//*------- Sledge Profile (General / Sledge Home) ----------------------------*/#define M0_SLEDGE_PRO_KICK_FORWARD (0x7FFF)#define M0_SLEDGE_PRO_KICK_BACKWARD (-0x8000)#define M0_SLEDGE_PRO_CONSTANT_FORWARD (0x3000)#define M0_SLEDGE_PRO_CONSTANT_BACKWARD (-0x3000)#define M0_SLEDGE_PRO_BRAKE_FORWARD (-0x4000)#define M0_SLEDGE_PRO_BRAKE_BACKWARD (0x4000)#define M0_SLEDGE_PRO_KICK_TIME (T4ms)#define M0_SLEDGE_PRO_BRAKE_TIME (T12ms)#define M0_SLEDGE_PRO_BRAKE_TRACKS (0x0080)#define M0_SLEDGE_HOME_PRO_INSIDE_PARAM (-T3000ms)#define M0_SLEDGE_HOME_PRO_OUTSIDE_PARAM (T1000ms)#define M0_SLEDGE_HOME_PRO_EXTRA_TIME (T20ms)#define M0_SLEDGE_PRO_SEEK_PARAM (T1500ms)#define M1_SLEDGE_PRO_KICK_FORWARD (0x7FFF)#define M1_SLEDGE_PRO_KICK_BACKWARD (-0x8000)#define M1_SLEDGE_PRO_CONSTANT_FORWARD (0x4000)#define M1_SLEDGE_PRO_CONSTANT_BACKWARD (-0x4000)#define M1_SLEDGE_PRO_BRAKE_FORWARD (-0x8000)#define M1_SLEDGE_PRO_BRAKE_BACKWARD (0x7FFF)#define M1_SLEDGE_PRO_KICK_TIME (T4ms)#define M1_SLEDGE_PRO_BRAKE_TIME (T7ms)#define M1_SLEDGE_PRO_BRAKE_TRACKS (0x0040)#define M1_SLEDGE_HOME_PRO_INSIDE_PARAM (-T4000ms)#define M1_SLEDGE_HOME_PRO_OUTSIDE_PARAM (T1000ms)#define M1_SLEDGE_HOME_PRO_EXTRA_TIME (T20ms)#define M1_SLEDGE_PRO_SEEK_PARAM (T2000ms)#define M45_SLEDGE_PRO_KICK_FORWARD (0x0000)#define M45_SLEDGE_PRO_KICK_BACKWARD (-0x0000)#define M45_SLEDGE_PRO_CONSTANT_FORWARD (0x3000)#define M45_SLEDGE_PRO_CONSTANT_BACKWARD (-0x3000)#define M45_SLEDGE_PRO_BRAKE_FORWARD (-0x3000)#define M45_SLEDGE_PRO_BRAKE_BACKWARD (0x3000)#define M45_SLEDGE_PRO_KICK_TIME (T0ms)#define M45_SLEDGE_PRO_BRAKE_TIME (T10ms)#define M45_SLEDGE_PRO_BRAKE_TRACKS (0x00C0)#define M45_SLEDGE_HOME_PRO_INSIDE_PARAM (-T4000ms)#define M45_SLEDGE_HOME_PRO_OUTSIDE_PARAM (T1000ms)#define M45_SLEDGE_HOME_PRO_EXTRA_TIME (T0ms)#define M45_SLEDGE_PRO_SEEK_PARAM (T2000ms)#define M67_SLEDGE_PRO_KICK_FORWARD (0x0000)#define M67_SLEDGE_PRO_KICK_BACKWARD (-0x0000)#define M67_SLEDGE_PRO_CONSTANT_FORWARD (0x3000)#define M67_SLEDGE_PRO_CONSTANT_BACKWARD (-0x3000)#define M67_SLEDGE_PRO_BRAKE_FORWARD (-0x0000)#define M67_SLEDGE_PRO_BRAKE_BACKWARD (0x0000)#define M67_SLEDGE_PRO_KICK_TIME (T0ms)#define M67_SLEDGE_PRO_BRAKE_TIME (T14ms)#define M67_SLEDGE_PRO_BRAKE_TRACKS (0x00C0)#define M67_SLEDGE_HOME_PRO_INSIDE_PARAM (-T4000ms)#define M67_SLEDGE_HOME_PRO_OUTSIDE_PARAM (T1000ms)#define M67_SLEDGE_HOME_PRO_EXTRA_TIME (T10ms)#define M67_SLEDGE_PRO_SEEK_PARAM (T2000ms)#ifndef SLEDGE_USE_PROFILES #define SLEDGE_PRO_KICK_FORWARD M0_SLEDGE_PRO_KICK_FORWARD #define SLEDGE_PRO_KICK_BACKWARD M0_SLEDGE_PRO_KICK_BACKWARD #define SLEDGE_PRO_CONSTANT_FORWARD M0_SLEDGE_PRO_CONSTANT_FORWARD #define SLEDGE_PRO_CONSTANT_BACKWARD M0_SLEDGE_PRO_CONSTANT_BACKWARD #define SLEDGE_PRO_BRAKE_FORWARD M0_SLEDGE_PRO_BRAKE_FORWARD #define SLEDGE_PRO_BRAKE_BACKWARD M0_SLEDGE_PRO_BRAKE_BACKWARD #define SLEDGE_PRO_KICK_TIME M0_SLEDGE_PRO_KICK_TIME #define SLEDGE_PRO_BRAKE_TIME M0_SLEDGE_PRO_BRAKE_TIME #define SLEDGE_PRO_BRAKE_TRACKS M0_SLEDGE_PRO_BRAKE_TRACKS #define SLEDGE_HOME_PRO_INSIDE_PARAM M0_SLEDGE_HOME_PRO_INSIDE_PARAM #define SLEDGE_HOME_PRO_OUTSIDE_PARAM M0_SLEDGE_HOME_PRO_OUTSIDE_PARAM #define SLEDGE_HOME_PRO_EXTRA_TIME M0_SLEDGE_HOME_PRO_EXTRA_TIME #define SLEDGE_PRO_SEEK_PARAM M0_SLEDGE_PRO_SEEK_PARAM#else #define SLEDGE_PRO_KICK_FORWARD sledge_motor_profile_ptr->sledge_profile.kick_forward #define SLEDGE_PRO_KICK_BACKWARD sledge_motor_profile_ptr->sledge_profile.kick_backward #define SLEDGE_PRO_CONSTANT_FORWARD sledge_motor_profile_ptr->sledge_profile.constant_forward #define SLEDGE_PRO_CONSTANT_BACKWARD sledge_motor_profile_ptr->sledge_profile.constant_backward #define SLEDGE_PRO_BRAKE_FORWARD sledge_motor_profile_ptr->sledge_profile.brake_forward #define SLEDGE_PRO_BRAKE_BACKWARD sledge_motor_profile_ptr->sledge_profile.brake_backward #define SLEDGE_PRO_KICK_TIME sledge_motor_profile_ptr->sledge_profile.kick_time #define SLEDGE_PRO_BRAKE_TIME sledge_motor_profile_ptr->sledge_profile.brake_time #define SLEDGE_PRO_BRAKE_TRACKS sledge_motor_profile_ptr->sledge_profile.brake_tracks #define SLEDGE_HOME_PRO_INSIDE_PARAM sledge_motor_profile_ptr->sledge_profile.home_inside_param #define SLEDGE_HOME_PRO_OUTSIDE_PARAM sledge_motor_profile_ptr->sledge_profile.home_outside_param #define SLEDGE_HOME_PRO_EXTRA_TIME sledge_motor_profile_ptr->sledge_profile.home_extra_time #define SLEDGE_PRO_SEEK_PARAM sledge_motor_profile_ptr->sledge_profile.seek_param
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -