MTK常用函数快速查找

#ifdef __cplusplus                //20070613 add for simulator
extern "C" {
#endif
NVRAM_EF_PHB_COMPARE_DIGIT_DEFAULT                电话本比较的位数

MTK平台的UA内置方法:
custom_wap_config.h文件里头的
#define WAP_CUSTOM_CFG_DEFAULT_UA_HEADER  "MAUI WAP Browser"
#define WAP_CUSTOM_CFG_DEFAULT_MMS_UA_HEADER "MAUI MMS User Agent"
这两项引号中的红体字部分内容替换为我们提供的有效UA!
"LCT_D800B_01/1.0 Nucleus/1.13.21 MTK6225/07A Release/5.1.2008 Browser/TelecaQ03C1 Profile/MIDP-2.0 Configuration/CLDC-1.1"

电池显示六格的问题:
  3520000, 3570000, 3680000, 3780000,
  3890000, 3950000, 4000000, 4090000,                        9999999,
#define NVRAM_EF_CUST_HW_LEVEL_TBL_SIZE     444
#define BATTERY_MAX_LEVEL 11

gui_fixed_menuitems.c
        (pixtel_UI_show_fixed_fullscreen_page_menuitem())
gui_fixed_menus.c        (g_MainMenu_Item_Poistion 数组存放9宫格的坐标值)
        show_fixed_list调用下面函数
        (pixtel_UI_show_fixed_list_menu()调用DrawMainMenuBgImageContext()画选中位置的图片)
      
CustMenuRes.c         const CUSTOM_MENU                nCustMenus[]所有屏幕画面的参数 菜单ID 父菜单ID 子菜单个数 等等,结构描述如下:
//The Below is the structure of the MenuItem which can be transfered to any screen.
typedef struct Custom_MenuItem
{
        U16 nMenuItemId; //Unique Id for each MenuItem.
        U16 nParentId;  //ItemId of the parent if 0(zero) then no parent.
        U16 nNumofMenuItem; //Number of Children it has.
        U16 nHideFlag; //This is a flag to mask/hide.(not sure currently)
        U16 nMovable; //This is a flag for moving like 0-NotMovable Anywhere,
                                                                //1-Movable within the same parent..etc

        U16 nDispAttribute; //This is a display attribute flag like 1-list,2-Circular,3-Tab..etc.
        U16 nStrId; //Unique StringId of the MenuItem.
        U16 nImageId; //Unique Image of the MenuItem.
        U16 *nOrderMenuItemId; //ItemId of the children in Sequence
}CUSTOM_MENU;

 

 

 

目录结构:        plutommi
Alarm                 闹钟
AsyncEvents        异步事件和硬件协议事件的处理
Audio                声音管理
Calendar        日历
CallManagement        电话呼叫
Calls                辅助服务
CommonScreens        所有应用的公用屏幕
Data Time        日期和时间的实现
Debug                包含.obj文件并且是正在工作的文件夹
DebugLevel        管理debug日志的MACROS
Demo                一个demo应用
Framework        管理应用消息,流程控制和操作系统封装
                EventHandling              
                FileSystem
                History
                NVRAMManager
                Osl
                Tasks
FunandGames        FunandGames的应用
GPIO                处理不同的外部设备例如:背光,震动,led
GUI                管理UI的相关函数
IdleDemo        待机应用和事例
Inc                所有应用的共享文件
MiscFramework        Pixtel MMI平台管理字体unicode的支持。
Organizer      
PhoneBook        电话簿
Profiles      
SAT                sim卡应用的工具箱
Settings        设置应用
Shortcuts        快捷应用
ToDoList      

pixtelmmi.cpp
MtkWinMainStart()函数开始application--------(TaskInit.c)InitApplication()
                                                                                                                             create/init trace机制,task队列,信号,线程等
(MMITask.c)MMI_task()
 while(1)
 读消息从循环队列中读消息,成功的情况下读task队列,根据队列id号生成一个task.同时调用该task.
        POWER_ON_KEYPAD:
        InitializeAll()(初始framework):(InitUnicodeSupport()
                                                                                                                                  gdi_init()
InitMMIUsbContext()(如果支持usb)                                      
mmi_irda_init_cntx()        //如果支持红外的话                                                                                    mmi_irda_set_recv_files_cnt()                                                //                                               InitProtocolEvents()                                                                                                          initFramework()                                                      
InitHardwareEvents()
InitTime()                                                //                                                                      InitMMI_App()
PopulateResData()                                //通用资源数据
InitNvramData()                                        //初始化的数据

EntryCalibrationSettingScr
mmi_bootup_exit_disk_check
mmi_pwron_entry_animation_screen()                //开机动画                                                                 FlightModeCheckBeforeAnimation //开机显示动画  
                                   
Res_MainMenu.c                PopulateMainMenuRes()  增加主菜单!
PopulateRes.c                PopulateMainMenuRes()
RegisterHighlightHandler()        注册高亮显示

mainmenu.c
        goto_main_menu()
                RegisterHighlightHandler(main_menu_custom_highlight_handler);//判断是否播放声音
                ShowCategory14Screen()        //显示主菜单(wgui_categories_MM.c)
                        case PAGE_MENU:
                                register_fixed_list_highlight_handler(category14_main_menu_list_highlight_handler);
                (category14_main_menu_list_highlight_handler)
                        DrawMainMenuBgImageContext()画选中位置的图片
                      
        LCD_CLAM_OPEN_HALFLITE_TO_OFF_TIME 背光半黯时间


pixtel_UI_measure_image()        //获取被给图象的宽高!
/mmi/setting/风格设置保存在nvram中,initphonesetupcntx()时读取.

gui_fixed_menus.c
        定义mainmenu_item_position

GlobalConstants.h 定义

///
mmitask 的while循环内接收消息ProcessPCKeyEvent()----Osl/KeyBrd.c
        处理ProcessKeyEvent(),发送按键事件到mmitask
                调用ExecuteCurrKeyHandler() 根据消息找到对应的按键-----Events/Events.c
        left_softkey_up()----执行当前按键对应的处理函数--left_softkey_functions[KEY_EVENT_UP]()
                (通过SetLeftSoftkeyFunction()设置的按键和函数对应关系)找到需要处理的对应函数
-----wgui_softkey.c
get_softkey_function   //取得按键函数

custom_nvram_editor_data_item.h                私有标识
CustResDefYJG_M100_01.h                        快捷键

custom
        audio
                项目目录
                        resource_audio.h(声音资源定义)
                        resource_audio.c(声音资源内容)

编译过程:
/MCU/make.bat 调用/tools/下的make.exe -f gsm2.mak
gsm2.mak 执行操作,并且执行comp.mak 连接组件库
$(CUSTOMER)_$(PROJECT).mak (Monza_GPRS.mak) //客户工程的私有配置,包括预处理,include路径,模块
Option.mak        工程的通用选项,宏定义。
Verno_Monza.mak        版本号
GSM2.mak        (主build脚本)
Monza_GPRS.mak        (客户工程build脚本)
Comp.mak        (组件模块build脚本)

模块的option文件
        *.lis        (模块的源代码列表)
        *.def        (模块的私有便宜预定义)
        *.pth        (模块的源代码目录路径)
        *.inc        (模块的头文件目录路径)
~buildinfo.tmp        ---------Gsm2.mak        Option.mak
~compbld.tmp        ---------组件模块需要的编译信息
...............................................................................................
Setting
说明:系统初始化时初始化sethighlitehandler函数,使菜单id和对应highlite函数相绑定,相对应。
        当进入该菜单时,例如Setting菜单: EntryScrSettingMenu() 注册对应的执行highlight的函数。
然后刷新屏幕
        从MainMenu.c(hightlight_mainmenu_settings())进入。
        hightlight_mainmenu_settings是从initalize_main_menu_application函数SetHiliteHandler

EntryPhnsetScrSvr
        EntryPhnsetScrSvrSettings
                EntryPhnsetScrSvrSystem
                        EntryPhnsetScrSvrSysView
        EntryPhnsetScrSvrSelect
                EntryPhnsetScrSvrDwnl
                        EntryPhnsetScrSvrDwnlView

initialize_gui
        set_MMI_theme((MMI_theme *)MMI_themes[0]);        //初始化theme

wgui_EMS_input_information_background()----wgui_ems_categories.c
                                -------UI_fill_rectangle()        ----wingui.c

gui_themes.c  set_mmi_theme(t)-----current_mmi_theme=t    设置整体风格

wgui.c  initialize_gui()  初始化设置整体风格

void custom_drv_init(void)
{
。。。
//add for sim_change
        {        //sim卡互换代码
                extern void sim_switchPhysicalSlotMapping(kal_bool);    //添加部分
                sim_switchPhysicalSlotMapping(KAL_TRUE);                       //添加部分
        }
}
各Feature 定义规则:
平台项目:原则上定义为:SLT_MMI
平台系列项目:原则上定义为:SLT_<系列项目名称>_MMI

模块名称                        缩写                        格式                                                                                备注
短消息                                SMS                        __SLT_MMI_SMS_XXX__      
彩信                                        MMS                        __SLT_MMI_MMS_XXX__      
WAP                                        WAP                        __SLT_MMI_WAP_XXX__      
聊天                                        CHAT                __SLT_MMI_CHAT_XXX__      
语音信箱                        VM                        __SLT_MMI_VM_XXX__      
小区广播                        CB                        __SLT_MMI_CB_XXX__      
呼叫记录                        CH                        __SLT_MMI_CH_XXX__      
通话                                        CC                        __SLT_MMI_CC_XXX__      
通话计费                        AOC                        __SLT_MMI_AOC_XXX__      
情景模式                        PRF                        __SLT_MMI_PRF_XXX__      
设置                                        ST                        __SLT_MMI_ST_XXX__      
附加业务                        SS                        __SLT_MMI_SS_XXX__      
Camera                        CAM                        __SLT_MMI_CAM_XXX__      
Audio                                AUD                        __SLT_MMI_AUD_XXX__                包括mp3,铃声相关
Video                                VID                        __SLT_MMI_VID_XXX__      
Sound Record        SR                __SLT_MMI_SR_XXX__      
Alarm                                ALM                        __SLT_MMI_ALM_XXX__      
日历                                        CLN                        __SLT_MMI_CLN_XXX__      
其他应用                        OTH                        __SLT_MMI_OTH_XXX__      
GAME                                GAME                __SLT_MMI_GAME_XXX__      
我的资料                        FMGR                __SLT_MMI_FMGR_XXX__      
STK                                        STK                        __SLT_MMI_STK_XXX__      
电话本                                PHB                        __SLT_MMI_PHB_XXX__      
##连接符号
#双引号
例:
#define paster( n ) printf( "token" #n " = %d", token##n )

If a macro is called with a numeric argument like
paster( 9 );

the macro yields
printf( "token" "9" " = %d", token9 );

which becomes
printf( "token9 = %d", token9 );

音频格式
mp3 :5
mid: 17

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值