Sound_Source.h 7.44 KB
Newer Older
崔立宝's avatar
崔立宝 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117


#ifndef _SOUND_SOURCE_H_
#define _SOUND_SOURCE_H_

#include "stdint.h"

/******************************************************************************
音源名称列表

注意:音源名称所指代的序号应与该声音位于声音属性表中的序号一一对应
******************************************************************************/
#define        SND_HI_COOLANT_TEMP_SPEED1           0x00  //气压报警声音
#define        SND_HI_PRESSURE_SPEED1               0x01  //水温报警声音  
#define        SND_CAN_ERROR_SPEED1                 0x02  //can报警声音  
#define        SND_LOW_ADBLUE_SPEED1                0x03  //尿素液位低报警声音  
#define        SND_ADBLUE_ERROR1                    0x04  //尿素质量报警声音
#define        SND_SRC_RADAR_1Hz                    0x05  //雷达报警声音  
#define        SND_SRC_RADAR_2Hz                    0x06  //倒车雷达报警音_2Hz  
#define        SND_SRC_RADAR_4Hz                    0x07  //倒车雷达报警音_4Hz  
#define        SND_SRC_RADAR_CONTINUOUS             0x08  //倒车雷达报警音_持续  
#define        SND_RADAR_SENSOR_FAILURE             0x09  //雷达故障  
#define        SND_YOUTIPIAN_ERROR1                 0x0A  //蹄片磨损
#define        SND_LF_HOOVES_ERROR1                 0x0B  //蹄片磨损
#define        SND_RF_HOOVES_ERROR1                 0x0C  //蹄片磨损
#define        SND_LR_HOOVES_ERROR1                 0x0D  //蹄片磨损
#define        SND_RR_HOOVES_ERROR1                 0x0E  //蹄片磨损  
#define        SND_LOW_OIL_SPEED1                   0x0F  //机油压力低
#define        SND_LOW_FUEL_SPEED1                  0x10  //燃油低
#define        SND_SRC_TICK                         0x11  //转向报警
#define        SND_SRC_TOCK                         0x12  //转向报警
#define        SND_SEATBELT_SPEED1                  0x13  //安全带报警
#define        SND_LOW_PBRAKE_SPEED1                0x14  //制动液位低报警
#define        SND_PPARK_SPEED1                     0x15  //驻车制动           
#define        SND_DOOR_OPENED1                     0x16  //门开
#define        SND_PTO1                             0x17  //
#define        SND_noKeyInCar1                      0x18  //
#define        SND_POffWithoutN1                    0x19  //
#define        SND_LockWithKeyInCar1                0x1A  //
#define        SND_BreakPressure1                   0x1B  //
#define        SND_OVER_SPEED1                      0x1C  //
#define        SND_SRC_AEB                          0x1D  //转向报警
#define        SND_SRC_Break_down                   0x1E  //
/******************************************************************************
伪音源名称列表
******************************************************************************/
#define   SND_SRC_NONE                      0xFF    //没有声音
#define   SND_SRC_CURRENT                   0xFE    //当前播放的声音

/******************************************************************************
音源循环次数
******************************************************************************/
#define   SND_CYCLE_NONSTOP                 0xFF    //不停播放

/******************************************************************************
音源播放模式
******************************************************************************/
#define   SND_MODE_SINGLE                   0x00    //使用ISD_Play_Vp方法播放
#define   SND_MODE_LOOP                     0x01    //使用ISD_Play_Vp_Loop方法播放

/******************************************************************************
声音属性结构
******************************************************************************/
typedef struct
{
  uint8_t  Index;
  uint8_t   Priority;
  uint8_t   Cycle;
  uint8_t   Mode;
  uint16_t  Period;
} SndAttributeStruct;

/******************************************************************************
音源属性表
******************************************************************************/
static const SndAttributeStruct SndAttributeTable[] =
{
  /*================================================================================================
                音源名称            | 音源序号 | 优先级 |     循环次数     |    播放模式    | 周期(ms)
  ------------------------------------------------------------------------------------------------*/
  {/* SND_HI_COOLANT_TEMP_SPEED1  */   0x01,      0, SND_CYCLE_NONSTOP,  SND_MODE_SINGLE  ,    1000,},
  {/* SND_HI_PRESSURE_SPEED    2  */   0x01,      0, SND_CYCLE_NONSTOP,  SND_MODE_SINGLE  ,    1000,},
  {/* SND_CAN_ERROR_SPEED      3  */   0x01,      0,                 1,  SND_MODE_SINGLE  ,     500,},
  {/* SND_LOW_ADBLUE_SPEED     4  */   0x01,      0,                 1,  SND_MODE_SINGLE  ,     500,},
  {/* SND_ADBLUE_ERROR         5  */   0x01,      0,                 1,  SND_MODE_SINGLE  ,     500,},
  {/* SND_RADAR_1Hz            6  */   0x02,      0, SND_CYCLE_NONSTOP,  SND_MODE_SINGLE  ,    1000,},
  {/* SND_RADAR_2Hz            7  */   0x02,      0, SND_CYCLE_NONSTOP,  SND_MODE_SINGLE  ,     500,},
  {/* SND_RADAR_4Hz            8  */   0x02,      0, SND_CYCLE_NONSTOP,  SND_MODE_SINGLE  ,     250,},
  {/* SND_RADAR_CONTINUOUS     9  */   0x02,      0, SND_CYCLE_NONSTOP,  SND_MODE_LOOP    ,       0,},
  {/* SND_RADAR_SENSOR_FAILURE 10 */   0x01,      0,                 1,  SND_MODE_SINGLE  ,     500,},
  {/* SND_YOUTIPIAN_ERROR      11 */   0x01,      0,                 1,  SND_MODE_SINGLE  ,     500,},
  {/* SND_LF_HOOVES_ERROR      12 */   0x01,      0,                 1,  SND_MODE_SINGLE  ,     500,},
  {/* SND_RF_HOOVES_ERROR      13 */   0x01,      0,                 1,  SND_MODE_SINGLE  ,     500,},
  {/* SND_LR_HOOVES_ERROR      14 */   0x01,      0,                 1,  SND_MODE_SINGLE  ,     500,},
  {/* SND_RR_HOOVES_ERROR      15 */   0x01,      0,                 1,  SND_MODE_SINGLE  ,     500,},
  {/* SND_LOW_OIL_SPEED        16 */   0x01,      0,                 1,  SND_MODE_SINGLE  ,     500,},
  {/* SND_LOW_FUEL_SPEED       17 */   0x01,      0,                 1,  SND_MODE_SINGLE  ,    1000,},
  {/* SND_SRC_TICK                */   0x05,      0,                1,  SND_MODE_SINGLE  ,     100,},
  {/* SND_SRC_TOCK                */   0x06,      0,                1,  SND_MODE_SINGLE  ,     100,},
  {/* SND_SEATBELT_SPEED       20 */   0x01,      0,                60,  SND_MODE_SINGLE  ,    1000,},
  {/* SND_LOW_PBRAKE_SPEED     21 */   0x01,      0, SND_CYCLE_NONSTOP,  SND_MODE_SINGLE  ,    1000,},
  {/* SND_PPARK_SPEED          22 */   0x01,      0, SND_CYCLE_NONSTOP,  SND_MODE_SINGLE  ,    1000,},
  {/* SND_DOOR_OPENED          23 */   0x01,      0, SND_CYCLE_NONSTOP,  SND_MODE_SINGLE  ,    1000,},
  {/* SND_PTO                  24 */   0x01,      0, SND_CYCLE_NONSTOP,   SND_MODE_SINGLE  ,   1000,},
  {/* SND_noKeyInCar           25 */   0x01,      0, SND_CYCLE_NONSTOP,   SND_MODE_SINGLE  ,   1000,},
  {/* SND_POffWithoutN         26 */   0x01,      0, SND_CYCLE_NONSTOP,   SND_MODE_SINGLE  ,   1000,},
  {/* SND_LockWithKeyInCar     27 */   0x01,      0, SND_CYCLE_NONSTOP,   SND_MODE_SINGLE  ,   1000,},
  {/* SND_BreakPressure        28 */   0x01,      0,                90,   SND_MODE_SINGLE  ,   1000,},
  {/* SND_BreakPressure        29 */   0x01,      0,                3,    SND_MODE_SINGLE  ,   1000,},
  {/* SND_BreakPressure        30 */   0x01,      0,                30,    SND_MODE_SINGLE  ,  1000,},
  {/* SND_BreakPressure        31 */   0x01,      0, SND_CYCLE_NONSTOP,    SND_MODE_SINGLE  ,  1000,},
  /*==============================================================================================*/
};

#define   SND_TOTAL_NUM                     (sizeof(SndAttributeTable) / sizeof(SndAttributeStruct))

#endif