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

📄 capture.h

📁 本程序为ST公司开发的源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
    uint16 input_buffer_size;    uint16 input_sector_size;    uint16 warning_overflow_thrs;    uint16 warning_underflow_thrs;  } esp_params;} t_cap_config;/*---------------------------------------------------------------------------*//*!\brief Capture Task Input/Output Events Structures and generic defs       *//*---------------------------------------------------------------------------*/typedef enum cap_state{  CAP_STATE_NONE = 0,  CAP_STATE_INIT,  CAP_STATE_INIT_FOR_NEW_MEDIA,  CAP_STATE_STOP,  CAP_STATE_START,  CAP_STATE_SET_SPEED,  CAP_STATE_PAUSE,  CAP_STATE_TOC_JUMP,  CAP_STATE_WRITE_DATA,  CAP_STATE_READ_DATA,  CAP_STATE_ERROR,  CAP_STATE_IDLE} t_cap_state;typedef enum cap_transition_state{  CAP_STATE_INIT_TRANSITION,  CAP_STATE_XFER_STOP,  CAP_STATE_XFER_STOP_CHECK,  CAP_STATE_XFER_EVAL,  CAP_STATE_XFER_START,  CAP_STATE_XFER_CHECK,  CAP_STATE_XFER_CONTINUE,  CAP_STATE_XFER_END,  CAP_STATE_XFER_ESP_START,  CAP_STATE_XFER_ESP_OVERFLOW,  CAP_STATE_XFER_ESP_MEDIA_PAUSE,  CAP_STATE_XFER_ESP_PAUSE,  CAP_STATE_XFER_ESP_WAIT,  CAP_STATE_XFER_IDLE,  CAP_STATE_INTERNAL_ERROR} t_cap_transition_state;typedef struct cap_esp{  uint8      data_type;  uint32     last_good_lba;  int16      last_good_ptr;  int16      xfer_pointer;  t_lba      xfer_sector_start; // [FH] 06/Apl/2007  t_lba      xfer_sector_end;  uint8      xfer_condition;  uint8      xfer_chunk_level;} t_cap_esp;/* capture status */typedef struct cap_status{  t_cap_state state;  t_cap_transition_state write_state;  t_cap_transition_state read_state;  t_cap_transition_state forward_state;  t_cap_transition_state error_state;  t_cap_esp write;  t_cap_esp read;  struct  {    RETVAL fsm_result;    RETVAL error_reason;  } result;  struct  {    UInt g_retries       : 8;    UInt g_servo_retries : 4;    UInt g_good_sectors  : 3;    UInt g_bd_sector_it  : 8;    UInt chk_lba         : 8; /* To count invalid sector on CDDA [FH] 25/Sep/2007 */    t_lba g_good_lba; /* [FH] 13/Apl/2007 */       } count;  struct  {    UInt transition    : 1;    UInt continue_xfer : 1;  } flags;} t_cap_status;/* capture command event */struct t_init_event{  UInt unused : 32;};struct t_init_for_new_media_event{  UInt unused : 32;};struct t_stop_event{  UInt force_execution : 1;  UInt unused          : 31;};struct t_start_event{  UInt unused : 32;};typedef uint8 t_capture_set_speed_event;#define t_pause_event    SEEK_STRUCT_SID#define t_toc_jump_event TOC_JUMP_STRUCT/* unbuffered path, if needed */#define t_seek_event     SEEK_STRUCT_SIDtypedef enum{  CAP_DATA_REQUEST,  CAP_SECTOR_REQUEST,  CAP_SYNC_SECTOR_REQUEST,  CAP_HEADER_SECTOR_REQUEST,  CAP_SB_HDR_SECTOR_REQUEST,  CAP_SECTOR_TRAILER_REQUEST  }t_cap_header_trailer;//DR060926atypedef struct read_event{  uint8  *dest;  uint16 offset;  uint32 count;  uint32 Sector_Read;  t_cap_header_trailer Header_Trailer; //DR060926a  } t_cap_read_event;/*Header_Trailer Read CommandsHeader_Trailer = 0 ;Only data is requestedHeader_Trailer = 1 ;Complete sector is requestedHeader_Trailer = 2 ;Sync with data is requestedHeader_Trailer = 3 ;Header with data is requestedHeader_Trailer = 4 ;Sub-header with data is requestedHeader_Trailer = 5 ;Data with trailer is requestedHeader_Trailer = 6 ;Only data is requestedHeader_Trailer = 7 ;Only data is requested*/typedef struct write_event{  t_lba     sector_start;  t_lba     sector_stop;  uint8     start_mode;  uint8     end_mode;  uint8     data_mode;  UInt      data_type       : 4;  UInt      force_execution : 1;  UInt      Play_Mode :1;//DR060912 (if 1 then Access Buffer in Play Mode otherwsie ROM Mode)  UInt      dont_ignore_first_track_change : 1;  UInt      FB_mode : 1;    UInt      update_process : 1;  uint8     cur_TNO;  } t_write_event;typedef enum{  CAP_CMD_NONE = NO_EVENT,  CAP_CMD_INIT,  CAP_CMD_INIT_FOR_NEW_MEDIA,  CAP_CMD_STOP,  CAP_CMD_START,  CAP_CMD_SET_SPEED,  CAP_CMD_PAUSE,  CAP_CMD_TOC_JUMP,  CAP_CMD_XFER_DATA,  /* unbuffered path, if needed */  CAP_CMD_SEEK} t_cap_command;typedef struct cap_cmd_event{  t_duid did;  t_cap_command command;  union  {    struct t_init_event                init_params;    struct t_init_for_new_media_event  init_for_new_media_params;    struct t_stop_event                stop_params;    struct t_start_event               start_params;    t_capture_set_speed_event          set_speed_params;    t_pause_event                      pause_params;    t_write_event                      xfer_params;    t_toc_jump_event                   toc_jump_params;    /* unbuffered path, if needed */    t_seek_event                       seek_params;  } command_params;} t_cap_cmd_event;/* buffer structure */struct t_cap_block_fl{  t_lba     lba;  uint16    pos;};struct t_cap_block_cu{  t_lba     lba;  uint16    pos;  uint16    first_byte;};typedef struct cap_esp_buf{  struct t_cap_block_fl first;  struct t_cap_block_fl last;  UInt                  fill : 1;} t_cap_esp_buf;#define t_capture_subcode_event t_acq_subcode_eventtypedef struct{  uint8 DataType;  uint8 b1;  uint8 b2;  uint8 b3;  uint8 b4;  uint8 SubcodeStatus;  uint16 SectorFlags;} BLOCK_INFO_STRUCT;/*---------------------------------------------------------------------------*//*!\brief capture functions                                                  *//*---------------------------------------------------------------------------*/void cap_fsm_init(void);void cap_update_config(void);RETVAL cap_cmd(t_cap_cmd_event *cmd_event);RETVAL cap_read_cmd(t_cap_read_event *cmd_event);void cap_esp_write_controller_update_isr(void);extern uint8        new_cap_config;extern t_cap_config cap_config;extern int16        cap_esp_margin;extern t_cap_esp_buf cap_esp_buf;#if (0 == HAVE_SHOCK_MEMORY)extern uint8 cap_input_buffer_IntRAM[];#elseextern t_cap_cmd_event cap_cmd_event;extern uint8 *cap_input_buffer_SDRAM;extern uint16 CAP_CHIN_SECTOR_SIZE;extern uint16 CAP_INPUT_BUFFER_SIZE_SDRAM;#endifextern tQsubcode_event capture_subcode_event[];#endif/*************************************************************************************************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -