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

📄 mconfig.h

📁 本程序为ST公司开发的源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
  UInt reserved_6             : 1;  UInt reserved_7             : 1;} AUTO_MODE_STRUCT;typedef  __packed union{  uint8   all;  AUTO_MODE_STRUCT field;} AUTO_MODE_UNION;/*!\brief playback scope */typedef  __packed struct{  UInt reserved_0             : 1;  UInt reserved_1             : 1;  UInt reserved_2             : 1;  UInt reserved_3             : 1;  UInt reserved_4             : 1;  UInt reserved_5             : 1;  UInt reserved_6             : 1;  UInt current_directory      : 1;} PLAYBACK_SCOPE_CFG_STRUCT;typedef  __packed union{  uint8   all;  PLAYBACK_SCOPE_CFG_STRUCT field;} PLAYBACK_SCOPE_CFG_UNION;/*!\brief eject distance */typedef  __packed struct{  UInt additional_eject_distance          : 5;  UInt conservative_behavior_Shinwa_CDC02 : 1;  UInt conservative_behavior_Tanashin     : 1;  UInt reserved_7                         : 1;} LOADER_CFG_1_STRUCT;typedef  __packed union{  uint8   all;  LOADER_CFG_1_STRUCT field;} LOADER_CFG_1_UNION;#define MAX_SAFE_EJECT_DISTANCE_SHINWA_CLC01   0x0E   /*  14 mm */#define MAX_SAFE_EJECT_DISTANCE_SHINWA_CDC02   0x19   /*  25 mm *//*!\brief loader cfg */typedef  __packed struct{  UInt loader_retries         : 3;  UInt reverse_direction      : 1;  UInt eject_repositioning    : 1;  UInt eject_without_disc     : 1;  UInt insert_without_disc    : 1;  UInt reject_8cm_disc        : 1;} LOADER_CFG_2_STRUCT;typedef  __packed union{  uint8   all;  LOADER_CFG_2_STRUCT field;} LOADER_CFG_2_UNION;typedef  __packed struct{  UInt numbering_sort         : 1;  UInt reserved_1             : 1;  UInt reserved_2             : 1;  UInt reserved_3             : 1;  UInt reserved_4             : 1;  UInt reserved_5             : 1;  UInt reserved_6             : 1;  UInt reserved_7             : 1;  } FOLDER_NUMBERING_SORT_STRUCT;typedef  __packed union{  uint8   all;  FOLDER_NUMBERING_SORT_STRUCT field;} FOLDER_NUMBERING_SORT_UNION;typedef  __packed struct{  UInt playlist_enabled                   : 1;  UInt report_available_playlists         : 1;  UInt report_available_playlist_content  : 1;  UInt best_guess_config                  : 5;} PLAYLIST_CFG_STRUCT;typedef  __packed union{  uint8   all;  PLAYLIST_CFG_STRUCT field;} PLAYLIST_CFG_UNION;typedef  __packed struct{  UInt remove_ext_in_msg_entry_name      : 1;  UInt reserved_2             : 1;  UInt reserved_3             : 1;  UInt reserved_4             : 1;  UInt reserved_5             : 1;  UInt reserved_6             : 1;  UInt reserved_7             : 1;} MSG_ENTRY_NAME_CFG_STRUCT;typedef  __packed union{  uint8   all;  MSG_ENTRY_NAME_CFG_STRUCT field;} MSG_ENTRY_NAME_CFG_UNION;typedef  __packed struct{  UInt enable_hub_support     : 1;  UInt enable_vbus_control    : 1;  UInt reserved_3             : 1;  UInt reserved_4             : 1;  UInt reserved_5             : 1;  UInt reserved_6             : 1;  UInt reserved_7             : 1;} USB_OPTIONS_CFG_STRUCT;typedef  __packed union{  uint8   all;  USB_OPTIONS_CFG_STRUCT field;} USB_OPTIONS_CFG_UNION;typedef  __packed struct{  UInt enable_v1              : 1;  UInt enable_v2              : 1;  UInt priority_v2            : 1;  UInt reserved_4             : 1;  UInt reserved_5             : 1;  UInt reserved_6             : 1;  UInt reserved_7             : 1;} ID3_CFG_STRUCT;typedef  __packed union{  uint8   all;  ID3_CFG_STRUCT field;} ID3_CFG_UNION;#if (0!=IPOD_AP)typedef  __packed struct{  UInt enable_iAP             : 1;  UInt reserved_1             : 1;  UInt reserved_2             : 1;  UInt reserved_3             : 1;  UInt reserved_4             : 1;  UInt reserved_5             : 1;  UInt reserved_6             : 1;  UInt reserved_7             : 1;} IPOD_CFG_STRUCT;typedef  __packed union{  uint8 all;  IPOD_CFG_STRUCT field;  } IPOD_CFG_UNION;#endif /* IPOD_AP */#define UPDATE_IMAGE_LENGTH                20/*!\brief module configuration */typedef __packed struct{  uint8                           i2c_address;                /* addr 0x00 */  AUDIO_OUTPUT_CFG_UNION          audio_output_cfg;           /* addr 0x01 */  ROM_DATA_CFG_UNION              rom_data_cfg;               /* addr 0x02 */  uint8                           load_action;                /* addr 0x03 */   uint8                           language_cfg_1;             /* addr 0x04 */  uint8                           language_cfg_2;             /* addr 0x05 */  uint8                           language_cfg_3;             /* addr 0x06 */  uint8                           language_cfg_4;             /* addr 0x07 */  uint8                           language_cfg_5;             /* addr 0x08 */  uint8                           text_info_setting_item;     /* addr 0x09 */  uint8                           text_info_setting_code;     /* addr 0x0A */  uint8                           text_info_setting_length;   /* addr 0x0B */  MEDIA_INFO_SETTING_UNION        media_info_setting;         /* addr 0x0C */  LAST_FILE_REPORTING_CFG_UNION   last_file_reporting_cfg;    /* addr 0x0D */  AUDIO_FORMAT_CFG_UNION          audio_format;               /* addr 0x0E */  FUNCTION_CFG_UNION              function_cfg;               /* addr 0x0F */  HYBRID_DISC_CFG_UNION           hybrid_disc_cfg;            /* addr 0x10 */  WRAP_CFG_UNION                  wrap_cfg;                   /* addr 0x11 */  PLAY_MODE_UNION                 play_mode;                  /* addr 0x12 */  AUTO_MODE_UNION                 auto_mode;                  /* addr 0x13 */  PLAYBACK_SCOPE_CFG_UNION        playback_scope;             /* addr 0x14 */  LOADER_CFG_1_UNION              loader_cfg_1;               /* addr 0x15 */  LOADER_CFG_2_UNION              loader_cfg_2;               /* addr 0x16 */  FOLDER_NUMBERING_SORT_UNION     folder_numbering_sort;      /* addr 0x17 */  uint8                           search_speed;               /* addr 0x18 */  uint8                           size_of_sdram_h;            /* addr 0x19 */  uint8                           size_of_sdram_l;            /* addr 0x1A */  uint8                           size_of_flash;              /* addr 0x1B */  uint8		                      MemCheck; 	              /* addr 0x1C */  PLAYLIST_CFG_UNION              playlist_cfg;               /* addr 0x1D */  uint8                           search_play_time;           /* addr 0x1E */  #if (1 == HAVE_FSHRINK)  uint8                           file_shrink_step;           /* addr 0x1F */  uint8                           file_shrink_max;            /* addr 0x20 */  uint8                           file_shrink_min;            /* addr 0x21 */  uint8                           dir_shrink_step;            /* addr 0x22 */  uint8                           dir_shrink_max;             /* addr 0x23 */  uint8                           dir_shrink_min;             /* addr 0x24 */#else // even if feature not present keep reserved field to avoid changing addresses of following fields (if any)  uint8                           reserved1;                  /* addr 0x1F */  uint8                           reserved2;                  /* addr 0x20 */  uint8                           reserved3;                  /* addr 0x21 */  uint8                           reserved4;                  /* addr 0x22 */  uint8                           reserved5;                  /* addr 0x23 */  uint8                           reserved6;                  /* addr 0x24 */#endif // HAVE_FSHRINK  MSG_ENTRY_NAME_CFG_UNION        msg_entry_name;             /* addr 0x25 */  USB_OPTIONS_CFG_UNION           usb_options;                /* addr 0x26 */  ID3_CFG_UNION                   id3_cfg;                    /* addr 0x27 */  char                            update_filename[UPDATE_IMAGE_LENGTH];  /* addr 0x28 - 0x3B */  uint8                           host_update_method;         /* addr 0x3C */  uint8                           shockproof_size;            /* addr 0x3D */  uint16                          filesystem_limit;           /* addr 0x3E - 0x3F */  uint8                           error_sectors_mp3;          /* addr 0x40 */  uint8                           error_sectors_aac;          /* addr 0x41 */  uint8                           error_sectors_wma;          /* addr 0x42 */#if (0!=IPOD_AP)    IPOD_CFG_UNION                  ipod_cfg;#endif  } MODULE_CONFIGURATION_STRUCT;/*!\brief module configuration */typedef  __packed union{  uint8   raw[sizeof(MODULE_CONFIGURATION_STRUCT)];  MODULE_CONFIGURATION_STRUCT   data;} MODULE_CONFIGURATION_UNION;#define SEEK_MAX_SPEED  30#define SEEK_MIN_SPEED  2#define SEEK_PLAY_TIME_MAX  30#define SEEK_PLAY_TIME_MIN  3#define CADDR_I2C_ADDRESS                0x00#define CADDR_AUDIO_OUTPUT_CFG           0x01#define CADDR_ROM_DATA_CFG               0x02#define CADDR_LOAD_ACTION                0x03#define CADDR_LANGUAGE_CFG_1             0x04#define CADDR_LANGUAGE_CFG_2             0x05#define CADDR_LANGUAGE_CFG_3             0x06#define CADDR_LANGUAGE_CFG_4             0x07#define CADDR_LANGUAGE_CFG_5             0x08#define CADDR_TEXT_INFO_SETTING_ITEM     0x09#define CADDR_TEXT_INFO_SETTING_CODE     0x0A#define CADDR_TEXT_INFO_SETTING_LENGTH   0x0B#define CADDR_MEDIA_INFO_SETTING         0x0C#define CADDR_LAST_FILE_REPORTING_CFG    0x0D#define CADDR_AUDIO_FORMAT               0x0E#define CADDR_FUNCTION_CFG               0x0F#define CADDR_HYBRID_DISC_CFG            0x10#define CADDR_WRAP_CFG                   0x11#define CADDR_PLAY_MODE                  0x12#define CADDR_AUTO_MODE                  0x13#define CADDR_PLAYBACK_SCOPE             0x14#define CADDR_LOADER_CFG_1               0x15#define CADDR_LOADER_CFG_2               0x16#define CADDR_FOLDER_NUMBERING_SORT      0x17#define CADDR_SEARCH_SPEED               0x18#define CADDR_SIZE_OF_SDRAM_H            0x19#define CADDR_SIZE_OF_SDRAM_L            0x1A#define CADDR_SIZE_OF_FLASH              0x1B#define CADDR_MEM_CHECK_CFG              0x1C#define CADDR_PLAYLIST_CFG               0x1D#define CADDR_SEARCH_PLAY_TIME           0x1E#define CADDR_FSHRINK_FILE_STEP          0x1F#define CADDR_FSHRINK_FILE_MAX           0x20#define CADDR_FSHRINK_FILE_MIN           0x21#define CADDR_FSHRINK_DIR_STEP           0x22#define CADDR_FSHRINK_DIR_MAX            0x23#define CADDR_FSHRINK_DIR_MIN            0x24#define CADDR_MSG_ENTRY_NAME             0x25#define CADDR_USB_OPTIONS_CFG            0x26#define CADDR_ID3_CFG                    0x27#define CADDR_HOST_UPDATE_NAME           0x28   /* occupies more bytes! length = UPDATE_IMAGE_LENGTH */ #define CADDR_HOST_UPDATE_METHOD         0x3C#define CADDR_ESP_SIZE                   0x3D#define CADDR_FILESYSTEM_LIMIT           0x3E  /* occupies 2 bytes! */#define CADDR_ERR_SECTORS_MP3            0x40#define CADDR_ERR_SECTORS_AAC            0x41#define CADDR_ERR_SECTORS_WMA            0x42#if (0!=IPOD_AP)#define CADDR_IPOD_CFG                   0x43#define MODULE_CONFIG_SIZE               (CADDR_IPOD_CFG + 1)  #else #define MODULE_CONFIG_SIZE               (CADDR_ERR_SECTORS_WMA + 1)  #endif /* IPOD_AP */#define DFLT_I2C_ADDRESS                 0xE0#define DFLT_AUDIO_OUTPUT_CFG            0x40 #define DFLT_ROM_DATA_CFG                0x00#define DFLT_LOAD_ACTION                 0x64#define DFLT_LANGUAGE_CFG_1              LNG_ENGLISH#define DFLT_LANGUAGE_CFG_2              LNG_CHINESE#define DFLT_LANGUAGE_CFG_3              LNG_ITALIAN#define DFLT_LANGUAGE_CFG_4              LNG_GERMAN#define DFLT_LANGUAGE_CFG_5              LNG_FRENCH#define DFLT_TEXT_INFO_SETTING_ITEM      0x00#define DFLT_TEXT_INFO_SETTING_CODE      0x00#define DFLT_TEXT_INFO_SETTING_LENGTH    MAX_TEXT_LENGTH#define DFLT_MEDIA_INFO_SETTING          0x10#define DFLT_LAST_FILE_REPORTING_CFG     0x00#if (HAVE_AAC != 0)#define DFLT_AUDIO_FORMAT                0x0B#else#define DFLT_AUDIO_FORMAT                0x03#endif#define DFLT_FUNCTION_CFG                0x01#define DFLT_HYBRID_DISC_CFG             0x03#define DFLT_WRAP_CFG                    0x00#define DFLT_PLAY_MODE                   0x00#define DFLT_AUTO_MODE                   0x00#define DFLT_PLAYBACK_SCOPE              0x00#define DFLT_LOADER_CFG_1                0x00   // initialization done in loader_cfg_init()#define DFLT_LOADER_CFG_2                0x00   // initialization done in loader_cfg_init()#define DFLT_FOLDER_NUMBERING_SORT       0x00#define DFLT_SEARCH_SPEED                SEEK_MIN_SPEED#define DFLT_SIZE_OF_SDRAM_H             0x00#define DFLT_SIZE_OF_SDRAM_L             0x00#define DFLT_SIZE_OF_FLASH               0x00#define DFLT_MEM_CHECK_CFG               0x00 //JS added, only guess what can be dafault value? #define DFLT_PLAYLIST_CFG                0x06#define DFLT_SEARCH_PLAY_TIME            SEEK_PLAY_TIME_MIN#if (1 == HAVE_FSHRINK) #define DFLT_FSHRINK_FILE_STEP          0x04 #define DFLT_FSHRINK_FILE_MAX           0x00 // disable first step (when name is inserted for the first time) #define DFLT_FSHRINK_FILE_MIN           0x0A #define DFLT_FSHRINK_DIR_STEP           0x04 #define DFLT_FSHRINK_DIR_MAX            0x00 // disable first step (when name is inserted for the first time) #define DFLT_FSHRINK_DIR_MIN            0x0A#else // put some 'strange' values to indicate feature is not present #define DFLT_FSHRINK_FILE_STEP          0xFF #define DFLT_FSHRINK_FILE_MAX           0xFF #define DFLT_FSHRINK_FILE_MIN           0xFF #define DFLT_FSHRINK_DIR_STEP           0xFF #define DFLT_FSHRINK_DIR_MAX            0xFF #define DFLT_FSHRINK_DIR_MIN            0xFF#endif#define DFLT_MSG_ENTRY_NAME              0x00#define DFLT_USB_OPTIONS_CFG             0x03#define DFLT_ID3_CFG                     0x03                        // 1   2   3   4   5   6   7   8   9  10   11   12   13   14   15   16   17   18   19   20#define DFLT_UPDATE_NAME  'U','P','D','A','T','E','.','B','I','N','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0'#define DFLT_HOST_UPDATE_METHOD          0x00   #define DFLT_ESP_SIZE                    0x09#define DFLT_FILESYSTEM_LIMIT            0x00,0x00#define DFLT_ERR_SECTORS_MP3             0xff#define DFLT_ERR_SECTORS_AAC             0xff#define DFLT_ERR_SECTORS_WMA             0x00#define DFLT_IPOD_CFG                    0x00/* module configuration array */extern MODULE_CONFIGURATION_UNION  module_config;/***********************//* interface functions *//**********************/void mconfig_init(void);void mconfig_update_params(uint8 addr, uint8 len);void mconfig_write_byte(uint8 addr, uint8 data);uint8 mconfig_read_byte(uint8 addr);void mconfig_write_bits(uint8 addr, uint8 mask_0, uint8 mask_1);uint8 audio_output_cfg_update(void);#endif /* __MCONFIG_H */

⌨️ 快捷键说明

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