song_task.h

来自「MP3设计源代码 使用atmel的单片机」· C头文件 代码 · 共 97 行

H
97
字号
/*H**************************************************************************
* NAME:         song_task.h
*----------------------------------------------------------------------------
* Copyright (c) 2002 Atmel.
*----------------------------------------------------------------------------
* RELEASE:      snd1c-demo-df-sd-3_0_0      
* REVISION:     1.7     
*----------------------------------------------------------------------------
* PURPOSE:
* This file contains the song task definition
*****************************************************************************/

#ifndef _SONG_TASK_H_
#define _SONG_TASK_H_

/*_____ I N C L U D E S ____________________________________________________*/


/*_____ M A C R O S ________________________________________________________*/

#ifndef PLAYER_PLAY_MODE
  #error PLAYER_PLAY_MODE must be defined in config.h
  #define PLAYER_PLAY_MODE    PLAY_DIR
#endif
#ifndef PLAYER_PLAY_START
  #error PLAYER_PLAY_START must be defined in config.h
  #define PLAYER_PLAY_START   START_STOP
#endif
#ifndef PLAYER_PLAY_LOOP
  #error PLAYER_PLAY_LOOP must be defined in config.h
  #define PLAYER_PLAY_LOOP    PLAY_NO_LOOP
#endif

/*----- Mode Values -----*/
#define PLAY_DIR              0
#define PLAY_DISK             1

/*----- Start Values -----*/
#define START_STOP            0
#define START_PLAY            1

/*------Loop Default Values -----*/
#define PLAY_LOOP             TRUE
#define PLAY_NO_LOOP          FALSE


/*----- Task states -----*/
#define SONG_START                          0
#define SONG_INSTALL                        1
#define SONG_IDLE                           2
#define SONG_INIT                           3
#define SONG_PLAY                           4
#define SONG_PLL                            5
#define SONG_PAUSE                          6
#define SONG_NEW                            7
#define SONG_STOP                           8
#define SONG_NO_SONG                        9
#define SONG_NEXT                           10
#define SONG_PLAY_A_B                       11
#define SONG_PLAY_A_B_MUTE                  12
#define SONG_DETECT_REPEAT_KEY_NEXT         13
#define SONG_DETECT_REPEAT_KEY_PREV         14
#define SONG_DETECT_REPEAT_KEY_END          15
#define SONG_PLAY_REPEAT_KEY                16
#define SONG_DELETE                         17
#define SONG_ERROR                          18

/* Time constant for repeat A/B mode */
#define SONG_A_B_MUTE_NB                                (250 / SCHEDULER_TICK)
/* Definition for repeat A/B mode */
#define SONG_PRE_SAMPLING                               (256)     /* 1024 / 256 -> 1s / 4 -> 250 ms*/
/* Fast forward and fast rewind time unit (in s) */
#define SONG_REPEAT_TIME_FFW                            2   /* 2 seconds fast forward */
#define SONG_REPEAT_TIME_FRW                            3   /* 3 seconds fast forward */
/* Total frame size for a file seek, that is x second unit */
#define SONG_SKEEP_FRAME_FFW                            SONG_REPEAT_TIME_FFW * 1024
#define SONG_SKEEP_FRAME_FRW                            SONG_REPEAT_TIME_FRW * 1024


/* Constant for repeat key behavour in ms */
#define SONG_UNMUTE_PLAY_DURATION                   (300 / SCHEDULER_TICK)
#define SONG_MUTE_DURATION                          (30  / SCHEDULER_TICK)
#define SONG_START_TIME_VOL                         (10 / SCHEDULER_TICK)


/*_____ D E F I N I T I O N ________________________________________________*/


/*_____ D E C L A R A T I O N ______________________________________________*/

void    song_task_init (void);
void    song_task (void);


#endif  /* _SONG_TASK_H_ */

⌨️ 快捷键说明

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