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

📄 srvpro.h

📁 本程序为ST公司开发的源代码
💻 H
📖 第 1 页 / 共 5 页
字号:
/**************************(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 + -