MTK note

来源:互联网 发布:手机wifi分享软件 编辑:程序博客网 时间:2024/05/22 06:06
 

LCD 移植

static const s_lcd_probe gLcdProbe[] = {

...

    {"ILI9328", LCD_IsILI9328, &LCD_func_ILI9328}, 

    {"LP4948", NULL, &LCD_func_LP4948},

}

 

原来{"LP4948", NULL, &LCD_func_LP4948}, 放在{"ILI9328", LCD_IsILI9328, &LCD_func_ILI9328} ,前面导致开机白屏,原因是

 

void LCD_FunConfigNew(void)

{

#if 1

    kal_uint32 i;

 

    for (i = 0; i < LCD_PROBE_NUM; i ++) {

        if ((gLcdProbe[i].lcd_probe == NULL) || (KAL_TRUE == (gLcdProbe[i].lcd_probe)())) {

            break;

        }

    }

 

    gLcdSeq = i;

    MainLCD = gLcdProbe[gLcdSeq].lcd_func;

#endif

 

//    MainLCD = &LCD_func_ILI9225;

}

当走到"LP4948" 项时,由于其对应的lcd_probe"NULL", 导致退出循环,使得LCD 相应的功能函数都指向"LP4948" 对应的函数。

 

双卡改单卡。    SINGLE_SIM_MMI_ONLY

某个菜单项STR_ID 不显示。 原来是其子菜单个数与实际个数不相符。

键盘定义  

Custom/drv/Drv_tool/DrvGen.exe

Custom/drv/misc_drv/MT6225_08A_GEMMI_BB/Codegen/codegen.dws

分布式编译某个模块出问题了。

 

May.20

 

1. 移植中间件

 

2. 改信号图标

双卡

I:/GP_DM2577/X4_20100121/plutommi/Customer/Images/PLUTO240X320/MainLCD/IdleScreen/Statusicons/DualSIM/Master

单卡

I:/GP_DM2577/X4_20100121/plutommi/Customer/Images/PLUTO240X320/MainLCD/IdleScreen/Statusicons/signal

 

May.24

拨号盘背景图片

MainLCD////DialingScreen////DualSIM////DUALMODE_TH_DIALING_SCREEN.GIF

 

gui_inputs.c

dialing_key_image[] 数组为键盘IMG_ID 数组。

gui_dialing_key_select() 处理判断获得的是哪个键,获得其image_id 并将其显示出来。各键的坐标信息则由全局变量 dialing_keypad 获得。

gui_dialing_screen_translate_pen_position() 获得item_index ,即判断是哪个键。

gui_dialing_screen_translate_pen_event() 触屏按键响应

gui_show_dialer_input_box_ext() 显示按的数字

 

wgui_categories_CM.c

ShowCategory16Screen()

DrawCate16CategoryControlArea()

DrawCate16CategoryControlArea_touch() 显示拨号盘背景

Cate16CategoryControlAreaPenDownHandler() 注册的触屏响应函数

setup_dialing_keypad() 设置拨号盘位置摆布参数

 

wgui.h 拨号盘位置参数设置

MMI_DIALING_KEYPAD_FUNC_Y  // 这个参数为从拨号键盘处开始算

// 实际功能键坐标等于 MMI_DIALING_KEYPAD_LAYER_Y+ MMI_DIALING_KEYPAD_FUNC_Y

 

如宏MMI_DIALING_KEYPAD_COLOMNS

 

IdleApp.c    设置拨号盘功能键对应功能

IdleScreenDigitHandler()  进入拨号界面

SetDialingKeypadPhonebookHandler()

mmi_idle_set_dual_sim_dialing_keypad_call_handler()

 

wgui.c

dialer_inputbox_handle_key_down()

redraw_dialer_inputbox()

 

wgui_inputs.c

MMI_dialer_inputbox 参数 存储有关拨号盘中已按下的号码,文字显示方式等参数

 

ThemeRes.c 有关手机更菜单下采用的方格设置

Themecomponents.h

dialer_inputbox_background_filler_defaultTheme  拨号盘显示区填充风格

 

gui_inputs.c

gui_show_dialer_input_box_ext()

 

wgui_setup_dialer_inputbox() line 4518

ShowCategory16Screen() line 2607 + 60 bytes

IdleScreenDigitHandler() line 6825 + 30 bytes

HandleIdleScreenDigitEntry() line 7024

 

 

dialer_input_box_change_callback()  按下的按键变化时调用

register_dialer_inputbox_keys()

register_dialer_inputbox_dialer_keys()

 

redraw_dialer_inputbox() line 7470

dialer_inputbox_direct_input(unsigned short 56) line 7731

dialer_inputbox_handle_key_down(int 8) line 3811 + 12 bytes

 

May.25

custimgdatahw.h

好像所有图片数据都能在这找到

gif 图片为

其中的图片数组头,

0x03, 0x01, 0x8C, 0x07, 0x00, 0x27, 0x00, 0x05,

其他就是图片的二进制数据。

bmp 图片的数据则肉眼看不出与文件的二进制数据的联系,好像经过处理

 

EntryPhnsetWallpaperSys()   系统墙纸列表

EntryPhnsetWallpaperSysView () 查看墙纸

IMG_ID_DISPCHAR_THEME_WALLPAPER

ShowCategory130Screen ()

 

img_main_menu_bkg_filler_defaultTheme 主菜单背景样式

main_menu_bkg_filler_defaultTheme

sub_menu_bkg_filler_defaultTheme

idle_bkg_filler_defaultTheme

 

__MMI_FMGR_MULTI_SELECT_SUPPORT__ 文件多选宏

 

img_list_selected_defaultTheme LIST 菜单选中条样式

 

scrollbar_background_filler_defaultTheme 滚动条背景

scrollbar_indicator_filler_defaultTheme 滚动条选中区

 

gui_draw_filled_area(S32 x1, S32 y1, S32 x2, S32 y2, UI_filled_area * f)

 

May.26

gui_scrollbar_draw_button() 画滚动条

current_vertical_progress_indicator_theme

gui_themes.c

 

MMI_features.h

CFG_MMI_UI_SCROLLBAR_DEFAULT_STYLE

 

gui_config.h

定义滚动条显示样式

 

current_MMI_theme

 

gui_config.h  UI_SCROLLBAR_STYLE_1 UI_SCROLLBAR_STYLE_2 ...

一共好像有6 种风格,但改成35 模拟器跑到有滚动条的地方就卡住,

 

gui_scrollbars_post_oem.h

 

gui_scrollbar_draw_button(int 1,) line 760

gui_show_vertical_scrollbar_style_6() line 6894 + 14 bytes

gui_show_fixed_list_menu() line 1948 + 15 bytes

show_fixed_list() line 876 + 10 bytes

dm_setup_and_draw_fixed_list() line 2902

 

MMI_fixed_list_menu

create_fixed_list ()创建list, 初始化MMI_fixed_list_menu 参数

gui_create_vertical_scrollbar() 创建vertical_scrollbar初始化滚动条参数

gui_show_vertical_scrollbar = gui_show_vertical_scrollbar_style_6;

 

current_fixed_list_menu_theme ->vbar_width 决定vbar 宽度

 

gui_themes.c

gui_initialize_default_themes ()

current_fixed_list_menu_theme = &MMI_fixed_list_menu_theme ;

 

scroll_button

 

current_vertical_scrollbar_theme

 

void set_MMI_theme(MMI_theme *t)

current_vertical_scrollbar_theme = current_UI_theme->vertical_scrollbar_theme;

 

void gui_initialize_default_themes(void)

current_vertical_scrollbar_theme = &MMI_vertical_scrollbar_theme;

void wgui_init(void) 中,调用的情况如下:

set_MMI_theme((MMI_theme*) MMI_themes[0]);

gui_initialize_default_themes();

 

MMI_scrollbar_normal_filler

gui_scrollbar_draw_button(GUI_SCROLLBAR_BUTTON_VERTICAL_SCROLL , &v->scroll_button); 画中间的矩形块

 

gui_create_vertical_scrollbar() line 393

gui_create_fixed_list_menu() line 455 + 57 bytes

create_fixed_list() line 610 + 36 bytes

wgui_init() line 1601

initialize_UI_demo() line 1809

InitializeAll() line 3781

mmi_frm_power_on_init_procedure() line 1829

 

list_background_filler_defaultTheme

 

set_MMI_fixed_list_menu_theme()

set_MMI_list_main_menu_theme()

set_MMI_list_sub_menu_theme()

MMI_apply_current_theme()

 

StandaloneRes.c

void InitializeResourceVariables(void)

ThemeRes.c

const MMI_theme theme_defaultTheme={

 

/*scrollbar_size*/

UI_SCROLLBAR_WIDTH,

 

gui_config.h

#define UI_SCROLLBAR_WIDTH CFG_UI_SCROLLBAR_WIDTH

 

gui_switch.h

CFG_UI_SCROLLBAR_WIDTH 为滚动条中 中间方块的宽度

 

gui_fixed_menuitems.c

gui_show_fixed_icontext_menuitem()  显示宫格菜单文字

gui_show_fixed_icontext_list_menuitem()  line:5649

gui_show_fixed_twostate_menuitem()

 

gui_shortcut_show() //image viewer. line 501

wgui_cat213_fmgr_draw_menuitem()//  line 5025

将显示的菜单项的文字加上黑边。  

 

gui_set_line_height(sh);      //kevin_ma modify  090218

#ifdef __NOKIA_SEA_THEME_STYLE__

gui_set_text_border_color();

gui_print_bordered_text(_sub_text); // 原来为gui_print_text(_sub_text)

#else

 

#endif

line:3405  line:3250  line:2428 二级菜单打印文字

 

May.27

wgui_categories_idlescreen.c

setup_tab_idle_screen_shortcuts()

ShowCategory33Screen_ext() 中调用初始化TAB ICON 的函数

#ifndef MMI_TAB_IDLE_ICON_SHORTCUTS 此宏成立时

touch_tab_idle_shortcuts 全局变量 用来存储位置参数

gui_tab_idle_touch_screen_display_pressed_shorcut_item ()显示被按下的ICON

touch_tab_idle_screen_highlighted_shortcut 全局变量

display_touch_tab_no_idle_screen_shortcuts ()

 

gui_tab_idle_touch_screen_display_shorcut_item() line 1335

display_touch_tab_no_idle_screen_shortcuts() line 1411 + 9 bytes// 第一次跑这个

 

idle_screen_show_card2_network_name(int 0) line 435 // 显示SIM 卡信息

idle_screen_show_network_details() line 3652 + 50 bytes

 

wgui_cat033_redraw() line 6068   6037

dm_category_33_controlled_area() line 6123

dm_setup_and_draw_category_controlled_area() line 3738 + 12 bytes

dm_redraw_category_screen() line 7466 + 9 bytes

ShowCategory33Screen() line 6692

mmi_idle_entry_idle_screen() line 3280 + 30 bytes

EntryIdleScreen() line 5286

 

待机界面SIM 卡信息位置参数

MMI_IDLE_NETWORK_NAME_Y

MMI_IDLE_NETWORK_NAME_ICON_GAP

MMI_IDLE_TEXT_ALIGN_TYPE  IDLE_TEXT_CENTER_ALIGN

wgui_categories_idlescreen.c   Line:3091(text)  3139(icon1)

MMI_IDLE_SIM2_NETWORK_NAME_Y

 

set_arrow_key_hanler_function () line 1608  // 设置方向键响应

ShowCategory33Screen_ext() line 6335

ShowCategory33Screen() line 6675 + 29 bytes

mmi_idle_entry_idle_screen() line 3280 + 30 bytes

EntryIdleScreen() line 5286

mmi_bootup_entry_idle_screen() line 1953

mmi_bootup_exit_network_searching() line 1930

 

set_arrow_key_hanler_function()

wgui_cat033_display_shortcut_item() 显示桌面图标

WGUI_CAT033_MAX_SHORTCUTS_NUM 桌面底部快捷图标个数

CFG_MMI_TOUCH_IDLESCREEN_SHORTCUTS 宏 将其关闭后,桌面不再显示两个快捷图标

 

gui_idle_menu_unselected_draw  绘制音乐播放器及FM 图标

 

桌面时钟

#ifndef  INIDLE_SCREEN_MOVE_CLOCK 此条件下才能显示钟

#ifndef  __MOVE_CLOCK__

#ifdef __MMI_UI_TECHNO_IDLESCREEN_BAR__

__MMI_DIGITAL_CLOCK_IMAGE_NUMBER__

__MMI_UI_TECHNO_IDLESCREEN_BAR__ 把这个关了

Plutommi/Customer/CustResource/MMI_features_switchPLUTO.h

Plutommi/mmi/inc/MMI_features_switch.h // 模拟器中好像改了这个才有反应

 

2577 项目3.0V 类型的SIM 卡读不了

Pmic_custom.c

Pmic_customization_init() 中添加

Pmic_vsim_sel(vsim_3)

 

打开中文

项目.mak

CHINESE_VERSION = TRUE

 

MMI_features_switch.h

#ifdef __CHINESE_VERSION__

#define CFG_MMI_LANG_ENGLISH    (__ON__)

#define CFG_MMI_LANG_SM_CHINESE (__ON__)

#define CFG_MMI_LANG_THAI   (__ON__)

#define CFG_MMI_LANG_HINDI  (__ON__)

#elif defined(__HINDI_VERSION__)

 

Camera

SENSOR_TYPE 其不为NONE 时,CMOS SENSOR 不能为NONE

CMOS_SENSOR  NONE

LENS_MODULE  CMOS_SENSOR NONE 时,其必须为NONE

WEBCAM_SUPPORT  CMOS_SENSOR NONE 时,其必须为NONE

ISP_SUPPORT CMOS_SENSOR NONE 时,其必须为FALSE

MJPG_SUPPORT ISP_SUPPORT NONE ,其必须为FALSE

__MMI_VIDEO_PLAYER__  MJPG_SUPPORT 对其进行控制

 

蓝牙

BT_SEQ_SUPPORT

BT_HFG_PROFILE

BT_FTS_PROFILE

BT_FTC_PROFILE

BT_OPP_PROFILE

BT_DUN_PROFILE

 

BT_SPP_SERVER

BT_SPP_CLIENT

# If BLUETOOTH_SUPPORT is not BTMTK_MT6601, its value must be NONE

 

BT_A2DP_PROFILE

 

BLUETOOTH_SUPPORT

BLUETOOTH_VERSION

 

MERCURY_SLAVE_BT_SUPPORT BLUETOOTH_SUPPORT NONE 时,其必须为FALSE

 

FM

FM_RADIO_CHIP

 

编到最后出了很多link 错误,把 __MMI_DSM_NEW__ 宏关掉

 

IDLE 桌面

gui_idle_menu_unselected_draw

 

改了驱动后做以下动作就行

emiclean

emigen

c,r custom drv init l1audio

 

MTK-M100 滚动条问题

1. /M100 sico/plutommi/Customer/Images/PLUTO240X320/MainLCD/UIElement/Scrollbar 这个目录下,插入三个图片:v_bar_bottom.bmpv_bar_middle.bmpv_bar_top.bmp ,这三个图片是作为滚动条背景用的。

 

2. 改变Gui_scrollbars.c(plutommi/mmi/gui/gui_src) 中改变一下几处:

 

1). static void gui_scrollbar_precache_image_size(void) 函数中改

 

g_mmi_gui_scrollbar_width = iw; g_mmi_gui_scrollbar_width = iw-5;

 

2). static void gui_scrollbar_draw_region(gui_scrollbar_region_enum type, S32 x, S32 y, S32 width, S32 height) 函数中改:

 

           y1 = y + g_mmi_gui_scrollbar_bar_size1;

 

           y2 = y + height - g_mmi_gui_scrollbar_bar_size3 - 1;

 

May.28

wingui.c

setup_UI_wrappers()

gui_print_text = UI_print_text;

 

KeyBrd.c

ExecuteCurrKeyHandler

 

May.29

换宫格图片后,进入宫格界面卡死,原来是宫格图片大小与原来的不一样。

gui_switch.h

调整宫格大小参数

 

 

CFG_UI_MAIN_MENU_HIGHLIGHTED_IMAGE_WIDTH

 

Calculator.h

计算器布局

setup_calculator_keypad ()

 

播放器

mmi_audply_app_pre_entry ()入口函数

mmi_audply_redraw_main_buttons ()

audply_main_buttons 全局变量

mmi_audply_init_main_screen_images ()初始化图片ID ,位置等参数

resource_audply_skins.c

位置参数文件

gui_redraw_scrolling_text ()//s->flags & UI_SCROLLING_TEXT_BORDERED_TEXT  此参数决定是否显示带边框的滚动文字。

 

待机界面显示播放器信息

gui_create_scrolling_text() line 875

wgui_cat033_show_extra_information() line 3540 + 83 bytes

idle_screen_show_network_details() line 3701

wgui_cat033_redraw() line 6067

dm_category_33_controlled_area(dm_coordinates * 0x0651fca8) line 6156

dm_setup_and_draw_category_controlled_area() line 3738 + 12 bytes

dm_redraw_category_screen() line 7466 + 9 bytes

ShowCategory33Screen() line 6726

mmi_idle_entry_idle_screen() line 3280 + 30 bytes

EntryIdleScreen() line 5286

 

wgui_cat033_get_extra_text(); 获得(当前在播放的音乐名称)

y = MMI_IDLE_EXTRA_Y+55;  IDLE 界面音乐信息位置参数

 

二级菜单图标是否全用数字

__MMI_SLIM_LISTMENU_NUMBER__  此宏打开,则全为数字

 

May.31

屏闪(开机屏闪/ 通话屏闪)射频需降低功率/ 导。C 文件

 

开关机

Active/Poweronoff

FUNANDGAME 游戏

SubMenu//FunANDGame//SB_FGGAME.PBM

Theme//SB_FTH.PBM  Motion Application

WAP

WAP//SB_WAP.PBM

数据帐户

submenu//services//DataAccount//SB_DATA.PBM

 

工具箱

日历

Calendar/SB_OCDAR.pbm

ClndrPreEntryApp ()

EntryClndrScreen ()

GetDateTime(&currentTime);

ToDoList/SB_OLIST.PBM (Tasks)

Alarm/SB_OAM.pbm(Alarm)

Worldclock/SB_WORLD.pbm (World Clock)

g_clndr_cntx->info_box_text[1]  日历下方的第二栏文字

附加功能

Calculator/SB_OCACU.pbm 

通话记录   2 个)

Call//CallCenter//CC_callhistory.pbm

电话本

Phonebook

短信

SMS

通话中心

Call/CallCenter

设置

Submenu/Settings

多媒体

Video//VideoRecorder//SB_VR.pbm

 

June.1

开关机铃声

 

tools/AudioResGen

sound.txt 写上待转换的文件路径。将所有txt 文件清空后,运行AudioResGen.exe 将生成三个文件。将resource_audio.c 中的数组复制到resource_audio.c 。修改引用到的地方的类型说明。示例如下:

// 其中的类型,mp35 ,其他为17

const audio_resource_struct mtk_resource_message_sounds[]={ 

resource_audio.c  开关机铃声等

const device_tones_struct *mtk_resource_tones[]=

__align(2) static const unsigned char cs07_mid[] = {

custpack_audio.c   来电铃声

nvram_common_config.c

查看默认的音频设置

typedef struct

{

    kal_uint8 ringVolumeLevel;

    kal_uint8 keypadVolumeLevel;

    kal_uint8 loudSpeakerVolumeLevel;

    MMI_ALERT_TYPE mtCallAlertTypeEnum;

    LIGHT light;

    kal_uint8 impsStatus;

    kal_uint8 ringTypeEnum;

     TONE_SETUP toneSetup;

    MMI_ANSWERING_MODE answeringMode;

    kal_uint8 fontSizeEnum;

    MMI_INTELLIGENT_CALL_ALERT_TYPE intelligentCallAlert;

    EXTRA_TONE extraTone;

} PROFILE;

typedef struct

{

    kal_uint16 ringTone; //1

    kal_uint16 videoCallTone;

    kal_uint16 IMPSContactOnlineTone;

    kal_uint16 IMPSNewMessageTone;

    kal_uint16 IMPSNewInvitationTone; //5

    kal_uint16 IMPSChatroomNotificationTone;   

    kal_int16 powerOffTone; //7

    kal_int16 powerOnTone; //8

    kal_int16 coverOpenTone;

    kal_int16 coverCloseTone;

    kal_int16 messageTone;

    kal_int16 mmsTone;

    kal_int16 smsTone;

    kal_int16 emailTone;

    kal_int16 voiceTone;   

    kal_uint8 keypadTone;

    kal_uint16 alarmTone;

    kal_uint16 card2_ringTone;

    kal_int16 card2_messageTone;

} TONE_SETUP;

static PROFILE const NVRAM_PROFILES_DEFAULT [MAX_ELEMENTS] =

 

wingui.c

gui_print_bordered_text

UI_print_bordered_text

IDLE 显示日期

MENU_SETTING_SHOW_DT_TIME   // Setting/Phone setup/show date and time 菜单

g_phnset_cntx_p->curShowDtStatus   是否显示的数据

 

June.2

1 ,卡2 反了

custom_drv_init.c

void custom_drv_init(void)

{…

sim_switchPhysicalSlotMapping(KAL_TRUE) ;

}

 

May.3

桌面显示快捷方式(KEYPAD,PHONEBOOK,MAINMENU

__MMI_TOUCH_IDLESCREEN_SHORTCUTS__   控制桌面是否显示快捷方式

wgui_cat033_display_shortcut ()

wgui_cat033_display_shortcut_item ()

MMI_features_switch.h

MMI_features_switchPLUTO.h

wingui.c

设置下面软键高度参数

Wingui.c

MMI_button_bar_height = MMI_BUTTON_BAR_HEIGHT; 

gui_switch.h

CFG_UI_BUTTON_BAR_HEIGHT         

 

dm_setup_and_draw_matrix_menu() 设置宫格参数

 

gui_show_fixed_icontext_menuitem() line 2629

gui_show_fixed_matrix_menu() line 5036 + 45 bytes

show_fixed_matrix() line 2177 + 10 bytes

dm_setup_and_draw_matrix_menu() line 3130

dm_redraw_category_screen() line 7495 + 9 bytes

ShowCategory14Screen() line 2833 + 5 bytes

goto_main_menu() line 1815 + 65 bytes

EntryMainMenuFromIdleScreen() line 1338        

void gui_setup_default_layout(void)  初始化布局

#define MMI_CONTENT_Y                               (MMI_TITLE_HEIGHT) 

gui_switch.h

#define CFG_UI_THIN_TITLE_HEIGHT                       (46) 标题栏高度

 

wgui_draw_manager.c

dm_setup_and_draw_matrix_menu ()

#ifdef __KAIXIN_FARM_THEME__

        resize_fixed_matrix(240, 254);  // 设置主菜单宽度,高度

#else 

 

void EnableCenterSoftkey(U16 s, U16 i) //IDLE 中间按键响应是否打开

 

wgui_fixed_menus.c

create_fixed_list ()

MMI_fixed_list_menu

 

May.7

resgen 时,还没怎么开始就报错,make: *** [ckmake] Error 255

原来是plutommi /Customer 下的bat 文件也许由于病毒的原由,文件大小变成0, 从正常的地方copy 过来即可。

 

改射频

l1d_custom_rf.h 

#define GSM850_GSM900_SWAP   1 //0 //wxx

#define DCS1800_PCS1900_SWAP  1 //0 //wxx

原创粉丝点击