📄 uem_utility.c
字号:
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2005
*
* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
*
* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/
/*****************************************************************************
*
* Filename:
* ---------
* UEM_UTILITY.C
*
* Project:
* --------
* MAUI
*
* Description:
* ------------
* This file is intends for UEM utility.
*
* Author:
* -------
* -------
*
*============================================================================
* HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*------------------------------------------------------------------------------
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*============================================================================
****************************************************************************/
/*****************************************************************************
* Include
*****************************************************************************/
#include "kal_release.h"
#include "stack_common.h"
#include "stack_msgs.h"
#include "app_ltlcom.h"
#include "app_buff_alloc.h"
#include "stdarg.h"
#include "syscomp_config.h"
#include "task_config.h"
#include "stacklib.h"
#include "stack_timer.h"
#include "event_shed.h"
#include "kal_trace.h"
#include "uem_trc.h"
#include "l1audio.h"
#include "rtc_sw.h"
#include "device.h"
#include "drvsignals.h"
#include "keypad_sw.h"
#include "em_struct.h"
#include "ps2sat_struct.h"
#include "aud_defs.h"
#include "med_struct.h"
#include "usb_msdisk.h"
#ifdef __MULTI_BOOT__
#include "multiboot_config.h"
#endif
#ifdef __USB_ENABLE__
#include "usb_comm.h"
#endif
#include "nvram_data_items.h"
#include "nvram.h"
#include "nvram_user_defs.h"
#include "nvram_editor_data_item.h"
#include "nvram_interface.h"
#include "custom_nvram_editor_data_item.h"
#include "custom_equipment.h"
#include "l4c2uem_struct.h"
#include "l4c_rspfmttr.h"
#include "l4c_common_enum.h"
#include "l3_inc_struct.h"
#include "l4c_utility.h"
#include "uem_context.h"
#include "uem_main.h"
#include "uem_utility.h"
#include "uem_msg_hdlr.h"
#include "uem_proc_cmd.h"
/*****************************************************************************
* Extern Functions
*****************************************************************************/
extern kal_uint32 custom_cfg_vbat_percentage_convert(kal_uint32 vbat);
/*****************************************************************************
* Define the audio device mute status
*****************************************************************************/
#define AUDIO_MUTE_SPEAKER 0x01
#define AUDIO_MUTE_MICROPHONE 0x02
#define AUDIO_MUTE_SPEAKER2 0x04
#define AUDIO_MUTE_LOUDSPEAKER 0x08
/*****************************************************************************
* Local Variables Declaration
*****************************************************************************/
static const kal_uint8 undef_equip_str[MAX_ME_ID_LEN] = "undefined message";
/*****************************************************************************
* Global Variables Declaration
*****************************************************************************/
UEM_TIMER_EVENTS uem_timer_table[MAX_UEM_EVENT_TIMER];
stack_timer_struct uem_base_timer;
event_scheduler *event_scheduler_uem_ptr;
#ifdef __USB_IN_NORMAL_MODE__
#if defined(APPMEM_SUPPORT)
kal_uint8 *uem_normal_ms_buffer = NULL;
#else
kal_uint8 uem_normal_ms_buffer[USBMS_MAX_BUFFERSIZE];
#endif
#endif /* __USB_IN_NORMAL_MODE__ */
/*****************************************************************************
******************************************************************************
* External Funcations
******************************************************************************
******************************************************************************/
/*****************************************************************************
* Function
* uem_rtc_alarm_format_convert
* DESCRIPTION
* Rtc alarm format convert
* PARAMETERS
*
* RETURNS
* kal_uint8
* GLOBALS AFFECTED
*****************************************************************************/
/*****************************************************************************
* FUNCTION
* uem_rtc_alarm_format_convert
* DESCRIPTION
*
* PARAMETERS
* rtc_alarm_id [IN]
* RETURNS
*
*****************************************************************************/
kal_uint8 uem_rtc_alarm_format_convert(rtc_alarm_format_enum rtc_alarm_id)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_uint8 alarm_format;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
switch (rtc_alarm_id)
{
case DEVICE_AL_EN_None:
alarm_format = AL_EN_None;
break;
case DEVICE_AL_EN_ChkS:
alarm_format = AL_EN_ChkS;
break;
case DEVICE_AL_EN_ChkMS:
alarm_format = AL_EN_ChkMS;
break;
case DEVICE_AL_EN_ChkHMS:
alarm_format = AL_EN_ChkHMS;
break;
case DEVICE_AL_EN_ChkDHMS:
alarm_format = AL_EN_ChkDHMS;
break;
case DEVICE_AL_EN_ChkWHMS:
alarm_format = AL_EN_ChkWHMS;
break;
case DEVICE_AL_EN_ChkMDHMS:
alarm_format = AL_EN_ChkMDHMS;
break;
case DEVICE_AL_EN_ChkYMDHMS:
alarm_format = AL_EN_ChkYMDHMS;
break;
case DEVICE_AL_EN_NoChange:
alarm_format = AL_EN_NoChange;
break;
default:
alarm_format = AL_EN_None;
break;
}
return alarm_format;
}
/*****************************************************************************
* Function
* uem_rtc_clock_format_convert
* DESCRIPTION
* Rtc clock format convert
* PARAMETERS
*
* RETURNS
* kal_uint8
* GLOBALS AFFECTED
*****************************************************************************/
/*****************************************************************************
* FUNCTION
* uem_rtc_clock_format_convert
* DESCRIPTION
*
* PARAMETERS
* rtc_clock_id [IN]
* RETURNS
*
*****************************************************************************/
kal_uint8 uem_rtc_clock_format_convert(rtc_clock_format_enum rtc_clock_id)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_uint8 clock_format;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
switch (rtc_clock_id)
{
case DEVICE_TC_EN_None:
clock_format = TC_EN_None;
break;
case DEVICE_TC_EN_ChkS:
clock_format = TC_EN_ChkS;
break;
case DEVICE_TC_EN_ChkM:
clock_format = TC_EN_ChkM;
break;
case DEVICE_TC_EN_ChkH:
clock_format = TC_EN_ChkH;
break;
case DEVICE_TC_EN_ChkD:
clock_format = TC_EN_ChkD;
break;
case DEVICE_TC_EN_ChkW:
clock_format = TC_EN_ChkW;
break;
case DEVICE_TC_EN_ChkMon:
clock_format = TC_EN_ChkMon;
break;
case DEVICE_TC_EN_ChkY:
clock_format = TC_EN_ChkY;
break;
case DEVICE_TC_EN_NoChange:
clock_format = TC_EN_NoChange;
break;
default:
clock_format = TC_EN_None;
break;
}
return clock_format;
}
/*****************************************************************************
* Function
* uem_battery_status_convert
* DESCRIPTION
* uem battery status convert
* PARAMETERS
* vm_status IN
* RETURNS
* dev_status_enum
* GLOBALS AFFECTED
*****************************************************************************/
/*****************************************************************************
* FUNCTION
* uem_battery_status_convert
* DESCRIPTION
*
* PARAMETERS
* status_type [IN]
* RETURNS
*
*****************************************************************************/
battery_status_enum uem_battery_status_convert(kal_uint8 status_type)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
battery_status_enum bs;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
switch (status_type)
{
/* Charger plug in */
case BMT_CHARGER_IN:
bs = PMIC_CHARGER_IN;
break;
/* Charger plug out */
case BMT_CHARGER_OUT:
bs = PMIC_CHARGER_OUT;
break;
/* The voltage of battery is too high. */
case BMT_OVERVOLPROTECT:
bs = PMIC_OVERVOLPROTECT;
break;
/* The temperature of battery is too high. */
case BMT_OVERBATTEMP:
bs = PMIC_OVERBATTEMP;
break;
/* The temperature of battery is too low. */
case BMT_LOWBATTEMP:
bs = PMIC_LOWBATTEMP;
break;
/* Charge current is too large. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -