#include "Sound_Alarm_handle.h" #include "Sound_Alarm_User.h" #include "Buzzer_Play_User.h" /********************************************************************************************/ const Buzzer_Attribute_st_t stSoundSourceAttribute [ SOUND_SOURCE_MAX ] = { {975U, 500U, 50U, 0U, 500U}, {2074U, 500U, 50U, 0U, 500U}, {846U, 500U, 50U, 0U, 500U}, {520U, 500U, 50U, 0U, 500U}, /************************************************************/ {846U, 500U, 50U, 0U, 250U}, {2074U, 500U, 0U, 0xFFFFU, 0U}, {2074U, 500U, 500U, 500U, 0U}, {2074U, 500U, 250U, 250U, 0U}, {2074U, 500U, 125U, 125U, 0U}, {2074U, 500U, 63U, 63U, 0U}, {656U, 500U, 50U, 0U, 4U}, {625U, 500U, 50U, 0U, 4U}, {854U, 500U, 50U, 0U, 200U}, {2032U, 500U, 50U, 0U, 500U}, }; /********************************************************************************************/ const Sound_Variety_Attribute_st_t stSoundVarietyAttribute [ SOUND_VARIETY_MAX ] = { {SOUND_SOURCE_0, 600U, 400U, SOUND_SOURCE_PLAY_TYPE_ONCE, 0U, 0U, 1U}, {SOUND_SOURCE_1, 600U, 400U, SOUND_SOURCE_PLAY_TYPE_ONCE, 0U, 0U, 1U}, {SOUND_SOURCE_2, 600U, 400U, SOUND_SOURCE_PLAY_TYPE_ONCE, 0U, 0U, 1U}, {SOUND_SOURCE_3, 600U, 400U, SOUND_SOURCE_PLAY_TYPE_ONCE, 0U, 0U, 1U}, {SOUND_SOURCE_4, 300U, 200U, SOUND_SOURCE_PLAY_TYPE_ONCE, 0U, 0U, 1U}, {SOUND_SOURCE_RADAR_0, 0XFFFFFFFFUL, 0U, SOUND_SOURCE_PLAY_TYPE_LOOP, 0U, 0U, 1U}, {SOUND_SOURCE_RADAR_1, 1000U, 0U, SOUND_SOURCE_PLAY_TYPE_ONCE, 0U, 0U, 1U}, {SOUND_SOURCE_RADAR_2, 500U, 0U, SOUND_SOURCE_PLAY_TYPE_ONCE, 0U, 0U, 1U}, {SOUND_SOURCE_RADAR_4, 250U, 0U, SOUND_SOURCE_PLAY_TYPE_ONCE, 0U, 0U, 1U}, {SOUND_SOURCE_RADAR_8, 126U, 0U, SOUND_SOURCE_PLAY_TYPE_ONCE, 0U, 0U, 1U}, {SOUND_SOURCE_TICK, 60U, 0U, SOUND_SOURCE_PLAY_TYPE_ONCE, 0U, 0U, 1U}, {SOUND_SOURCE_TOCK, 60U, 0U, SOUND_SOURCE_PLAY_TYPE_ONCE, 0U, 0U, 1U}, {SOUND_SOURCE_5, 250U, 0U, SOUND_SOURCE_PLAY_TYPE_ONCE, 0U, 0U, 1U}, {SOUND_SOURCE_6, 600U, 400U, SOUND_SOURCE_PLAY_TYPE_ONCE, 0U, 0U, 1U}, {SOUND_SOURCE_MAX, 100U, 0U, SOUND_SOURCE_PLAY_TYPE_ONCE, 0U, 0U, 1U}, }; const Sound_Alarm_Attribute_st_t stSoundAlarmAttribute [ SOUND_ALARM_MAX ] = { /*SOUND_ALARM_VOLUME*/ {SOUND_VARIETY_5, 1U, SOUND_ALARM_TRIGGER_MULTI, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_DPF*/ {SOUND_VARIETY_1, 1U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_DOOR*/ {SOUND_VARIETY_2, 0xFFU, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_RECOVER_CONTINUE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_R_Gear*/ {SOUND_VARIETY_2, 1U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_RADAR_LOOP*/ {SOUND_VARIETY_RADAR_0, 0xFFU, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_RECOVER_CONTINUE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_RADAR_8*/ {SOUND_VARIETY_RADAR_8, 0xFFU, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_RECOVER_CONTINUE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_RADAR_4*/ {SOUND_VARIETY_RADAR_4, 0xFFU, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_RECOVER_CONTINUE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_RADAR_2*/ {SOUND_VARIETY_RADAR_2, 0xFFU, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_RECOVER_CONTINUE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_RADAR_1*/ {SOUND_VARIETY_RADAR_1, 0xFFU, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_RECOVER_CONTINUE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_RADAR_0*/ {SOUND_VARIETY_NO, 0xFFU, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_RECOVER_CONTINUE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_GEAR_P*/ {SOUND_VARIETY_RADAR_0, 0XFFU, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_RECOVER_CONTINUE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_START_IN_P*/ {SOUND_VARIETY_RADAR_0, 0XFFU, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_RECOVER_CONTINUE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_PARK_IN_P*/ {SOUND_VARIETY_RADAR_0, 0XFFU, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_RECOVER_CONTINUE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_P_INVALID*/ {SOUND_VARIETY_RADAR_0, 0XFFU, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_RECOVER_CONTINUE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_GEARBOX_HIGH_TEMP*/ {SOUND_VARIETY_RADAR_0, 0XFFU, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_RECOVER_CONTINUE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_GEARBOX_FAILURE*/ {SOUND_VARIETY_RADAR_0, 0XFFU, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_RECOVER_CONTINUE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_TEMP*/ {SOUND_VARIETY_2, 0XFFU, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_RECOVER_CONTINUE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_ENGINE_LUBRICATE*/ {SOUND_VARIETY_2, 0XFFU, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_RECOVER_CONTINUE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_PAR_FULL_MANUAL_RESET*/ {SOUND_VARIETY_1, 1U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_PAR_FULL_SERVICE_RESET*/ {SOUND_VARIETY_1, 1U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_SPEED_LIMIT*/ {SOUND_VARIETY_2, 0XFFU, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_RECOVER_CONTINUE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_UREA*/ {SOUND_VARIETY_3, 3U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_UREA_2*/ {SOUND_VARIETY_3, 3U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_UREA_3*/ {SOUND_VARIETY_3, 3U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_UREA_4*/ {SOUND_VARIETY_3, 3U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_UREA_5*/ {SOUND_VARIETY_3, 3U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_UREA_6*/ {SOUND_VARIETY_3, 3U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_UREA_7*/ {SOUND_VARIETY_3, 3U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_UREA_8*/ {SOUND_VARIETY_3, 3U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_UREA_9*/ {SOUND_VARIETY_3, 3U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_UREA_10*/ {SOUND_VARIETY_3, 3U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_UREA_11*/ {SOUND_VARIETY_3, 3U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_UREA_12*/ {SOUND_VARIETY_3, 3U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_UREA_13*/ {SOUND_VARIETY_3, 3U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_UREA_14*/ {SOUND_VARIETY_3, 3U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_UREA_15*/ {SOUND_VARIETY_3, 3U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_TPMS*/ {SOUND_VARIETY_3, 3U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_TPMS_CONFIG_ERROR*/ {SOUND_VARIETY_3, 3U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_SAFE_BELT*/ {SOUND_VARIETY_2, 0XFFU, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_RECOVER_CONTINUE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_FUEL_SEN_FAIL*/ {SOUND_VARIETY_1, 1U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_START_IN_P_ONCE*/ {SOUND_VARIETY_1, 1U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_BRAKE_TO_SHIFT*/ {SOUND_VARIETY_1, 1U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_GEARBOX_CAUTION*/ {SOUND_VARIETY_1, 1U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_TBOX*/ {SOUND_VARIETY_1, 1U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_ESC_FAILURE*/ {SOUND_VARIETY_1, 1U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_ESC_ATCIVE*/ {SOUND_VARIETY_1, 1U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_ESC_CLOSE*/ {SOUND_VARIETY_1, 1U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_HILL_HOLD_MALF*/ {SOUND_VARIETY_1, 1U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_UNPLUGGED_KEY*/ {SOUND_VARIETY_2, 0XFFU, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_RECOVER_CONTINUE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_LIGHT_LEFT_ON*/ {SOUND_VARIETY_2, 0XFFU, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_RECOVER_CONTINUE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_TICK*/ {SOUND_VARIETY_TICK, 1U, SOUND_ALARM_TRIGGER_MULTI, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_TOCK*/ {SOUND_VARIETY_TOCK, 1U, SOUND_ALARM_TRIGGER_MULTI, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_LDWS*/ {SOUND_VARIETY_4, 0xFFU, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_RECOVER_CONTINUE, SOUND_ALARM_NUM_FINISH_RESET}, /*SOUND_ALARM_LOW_OIL_PRESSURE*/ {SOUND_VARIETY_3, 3U, SOUND_ALARM_TRIGGER_NORMAL, SOUND_ALARM_BREAK_NONE, SOUND_ALARM_NUM_FINISH_RESET}, }; /****************************************************************************************************/ Sound_Operate_Type_en_t Sound_Operate_Process_PlayOnce(Sound_Source_en_t enSoundSourceIndex) { Sound_Operate_Type_en_t enSoundOperateResult = SOUND_OPERATE_SUCCESS; if ( Buzzer_Get_Status( ) == 0 ) { if ( enSoundSourceIndex < SOUND_SOURCE_MAX ) { enSoundOperateResult = Buzzer_Start_Play(&stSoundSourceAttribute [ enSoundSourceIndex ]); } } else { enSoundOperateResult = SOUND_OPERATE_FAIL; } return enSoundOperateResult; } Sound_Operate_Type_en_t Sound_Operate_Process_PlayLoop(Sound_Source_en_t enSoundSourceIndex) { Sound_Operate_Type_en_t enSoundOperateResult = SOUND_OPERATE_SUCCESS; if ( Buzzer_Get_Status( ) == 0 ) { if ( enSoundSourceIndex < SOUND_SOURCE_MAX ) { enSoundOperateResult = Buzzer_Start_Play(&stSoundSourceAttribute [ enSoundSourceIndex ]); } } else { enSoundOperateResult = SOUND_OPERATE_FAIL; } return enSoundOperateResult; } Sound_Operate_Type_en_t Sound_Operate_Process_StopOnce(Sound_Source_en_t enSoundSourceIndex) { Sound_Operate_Type_en_t enSoundOperateResult = SOUND_OPERATE_SUCCESS; enSoundOperateResult = Buzzer_Stop_Play( ); return enSoundOperateResult; } Sound_Operate_Type_en_t Sound_Operate_Process_StopLoop(Sound_Source_en_t enSoundSourceIndex) { Sound_Operate_Type_en_t enSoundOperateResult = SOUND_OPERATE_SUCCESS; enSoundOperateResult = Buzzer_Stop_Play( ); return enSoundOperateResult; } Sound_Operate_Type_en_t Sound_Operate_Set_Volume_Handle(Sound_Source_en_t enSoundSourceIndex, Sound_uint8_t u8SoundVolume) { Sound_Operate_Type_en_t enSoundOperateResult = SOUND_OPERATE_SUCCESS; return enSoundOperateResult; } Sound_Source_Play_Status_en_t Sound_Get_Status_Handle(void) { Sound_Source_Play_Status_en_t enSoundSourceStatus; if(Buzzer_Get_Status( )) { enSoundSourceStatus = 1; } else { enSoundSourceStatus = 0; } return enSoundSourceStatus; } /***************************************************************************************************/ Sound_uint8_t u8SoundRAM [ SOUND_RAM_DATA_LEN ]; void Sound_Alarm_Init_Example(void) { Sound_Alarm_Init_st_t stSoundAlarmInit; stSoundAlarmInit.enSoundVarietyLen = SOUND_VARIETY_MAX; stSoundAlarmInit.enSoundAlarmLen = SOUND_ALARM_MAX; stSoundAlarmInit.enSoundAlarmSortord = SOUND_ALARM_SORTORD_AFTER; stSoundAlarmInit.u8SoundDiffPrioNum = SOUND_DIFF_PRIO_NUM; stSoundAlarmInit.u8SoundSamePrioNum = SOUND_SAME_PRIO_NUM; stSoundAlarmInit.u8SoundReserved1 = 0; stSoundAlarmInit.u8SoundReserved2 = 0; stSoundAlarmInit.pfnSoundOperatePlayOnce = Sound_Operate_Process_PlayOnce; stSoundAlarmInit.pfnSoundOperatePlayLoop = Sound_Operate_Process_PlayLoop; stSoundAlarmInit.pfnSoundOperateStopOnce = Sound_Operate_Process_StopOnce; stSoundAlarmInit.pfnSoundOperateStopLoop = Sound_Operate_Process_StopLoop; stSoundAlarmInit.pfnSoundOperateSetVolume = Sound_Operate_Set_Volume_Handle; stSoundAlarmInit.pfnSoundGetStatus = Sound_Get_Status_Handle; Sound_Alarm_Init(u8SoundRAM, stSoundAlarmAttribute, stSoundVarietyAttribute, &stSoundAlarmInit); u32SoundEnableSuspend = 1; }