




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、情景模式詳細設(shè)計說明書MTK-M3項目組康佳通信科技開發(fā)中心軟件所2005年4月25日目錄 TOC o 1-5 h z 修改歷史3 HYPERLINK l bookmark7 o Current Document 1整體結(jié)構(gòu)及功能描述4 HYPERLINK l bookmark10 o Current Document 2關(guān)鍵數(shù)據(jù)結(jié)構(gòu)說明4 HYPERLINK l bookmark13 o Current Document 3主要存儲分配6 HYPERLINK l bookmark16 o Current Document 4各子模塊實現(xiàn)及主要算法說明64.1初始化6 HYPERLINK l
2、bookmark22 o Current Document 4.2開啟7 HYPERLINK l bookmark25 o Current Document 4.3個人設(shè)置74.3.2音量設(shè)置74.3.3其余設(shè)置7 HYPERLINK l bookmark28 o Current Document 5內(nèi)部調(diào)用的主要函數(shù)說明8 HYPERLINK l bookmark31 o Current Document 5.1入口函數(shù)8 HYPERLINK l bookmark48 o Current Document 5.2內(nèi)部函數(shù)86模塊提供的外部接口函數(shù)說明9 HYPERLINK l bookmar
3、k111 o Current Document 7主要信號說明11 HYPERLINK l bookmark120 o Current Document 8相關(guān)文檔文件11修改歷史時間修改人版本修改內(nèi)容2005-4-25朱丹丹1.0創(chuàng)建初始版本1整體結(jié)構(gòu)及功能描述功能描述:此部分功能,簡而言之,就是按照用戶特定的需求,設(shè)置環(huán)境參數(shù),包括了開關(guān)機 鈴聲、來電鈴聲、音量、按鍵音等參數(shù)設(shè)置。這些環(huán)境參數(shù)可以分別設(shè)置,也可以集體啟動, 如下圖所示。情景模式般模式 會議模式 室外模式 室內(nèi)模式 耳機模式啟動個性化設(shè)置鈴聲設(shè)置音量設(shè)置報警音類型響鈴方式意外提示音應(yīng)答模式背光具體實現(xiàn):情景模式模塊的設(shè)計,實
4、際上就是有條件的對NVRAM的讀寫,從而改變一些參數(shù)的設(shè)置。此套代碼程序可以在模擬器上運行,可以在硬件平臺上運行,情景模式模塊兩種條件下的架構(gòu) 基本相同,所以這里主要介紹在硬件上的實現(xiàn)。該模塊的設(shè)計主要分為兩部分,MMI層,和L4層。MMI層:系統(tǒng)啟動時對該模塊進行初始化,注冊此模塊中菜單高亮信息,NVRAM中讀取相關(guān)記錄。在具體的設(shè)置之中,可以對各種參數(shù)分別設(shè)置,也可以整體啟動某個情景模式。底層:接收MMI層發(fā)送過來的消息,執(zhí)行相應(yīng)操作,主要為保存已經(jīng)確認(rèn)的設(shè)置,另外, 在進行鈴聲選擇的時候,同時播放示范音。2關(guān)鍵數(shù)據(jù)結(jié)構(gòu)說明typedef structMMI_VOLUME_LEVEL_EN
5、UMMMI_VOLUME_LEVEL_ENUMMMI_VOLUME_LEVEL_ENUMringVolumeLevel;/鈴聲音量keypadVolumeLevel;/按鍵音量loudSpeakerVolumeLevel; /免提音量MMI_ALERT_TYPE mtCallAlertTypeEnum;來電提示方式包括響鈴、振 動、LEDLIGHT light;MMI_RING_TYPE_ENUM ringTypeEnum;TONE_SETUP toneSetup;MMI_ANSWERING_MODE answeringMode;MMI_FONT_SIZE_ENUM fontSizeEnum;
6、/LCD、LED背光響鈴方式分單次、連續(xù)、漸進/各種鈴聲選擇/應(yīng)答模式/字體選擇MMI_INTELLIGENT_CALL_ALERT_TYPE intelligentCallAlert; /不確定EXTRA_TONE extraTone;/各種提示音 PROFILE;PROFILE gcurrentprofile;/當(dāng)前設(shè)置的情景模式變量PROFILE gprofilesMAX_ELEMENTS; /存放N種情景模式變量U8 gprofileId = 0, /當(dāng)前操作的情景模式IDU8 gactivatedprofile = 0;/當(dāng)前處于激活狀態(tài)的情景模式ID以上為此部分比較關(guān)鍵的全局變量,
7、基本上就是圍繞這幾個變量在進行判斷和設(shè)置typedef struct kal_uint16 ringTone; kal_int16 powerOffTone; kal_int16 powerOnTone;/Changed By Alok */#if !defined(MMI_LOW_MEMORY kal_int16 coverOpenTone; kal_int16 coverCloseTone;#endifkal_int16 messageTone; kal_uint8 keypadTone;kal_uint16 alarmTone; TONE_SETUP;typedef enum MMI_A
8、LERT_NONE,MMI_RING, MMI_VIBRATION_ONLY, MMI_VIBRATION_AND_RING, MMI_VIBRATION_THEN_RING, MMI_SILENT MMI_ALERT_TYPEtypedef struct MMI_LEDLIGHT_STATUS_ENUM status;pBOOL lcdBacklight;SET_TIMER timer;LIGHT;/來電鈴聲/關(guān)機鈴聲開機鈴聲PHONE) | defined(_MMI_CLAMSHELL_)/翻蓋鈴聲/合蓋鈴聲/短消息鈴聲/按鍵音/鬧鈴音/無提示/響鈴/振動/振動+響鈴振動后響鈴靜音/LED
9、指示燈狀態(tài)(七彩、三色,單色等)/LCD背光時間typedef struct pBOOL coverAnswer;pBOOL anyKey;pBOOL automatic;MMI_ANSWERING_MODE;/翻蓋接聽/任意鍵接聽/自動應(yīng)答,用于耳機模式應(yīng)答模式 typedef structpBOOL errorTone; /錯誤音pBOOL connectTone; /連接提示pBOOL campOnTone; /pBOOL warningTone; /警告音 EXTRA_TONE;3主要存儲分配NVRAM file Id : NVRAM_PROFILES_LIDStructure use
10、d for default values : NVRAM_PROFILES_DEFAULTNumber of records : 2Record Size : 308 bytes.NVRAM中有兩個相關(guān)的記錄,其中一個用戶任意可以改變,再開機時自動讀取這些記 錄值來進行設(shè)置,還有一個記錄是始終不變的,用以再恢復(fù)工廠模式的時候,讀取相 關(guān)數(shù)據(jù)。4各子模塊實現(xiàn)及主要算法說明4.1初始化初始化過程,在手機啟動時,初始化應(yīng)用情景模式應(yīng)用程序(InitProfileApp),如果 gprofilenvram值為0,則各種模式的初始值不從nvram中讀取,程序中直接賦值。Gcurrntprofile 賦值
11、。注冊整個過程中會用到的各級高亮函數(shù)。初始化nvram,,讀取當(dāng)前激活的模式編號,和上一次激活的模式編號,分別記錄在變量 gactivatedprofile,和glastactivatedprofile中。判斷gactivatedprofile (當(dāng)前情景模式)的值,若為0 xff,則設(shè)置為0, gcurrentproflie賦值,緊接著按照gcurrentproflie中各參數(shù)得值設(shè)置當(dāng)前各種鈴 聲音量,并發(fā)消息到底層。最后設(shè)置顯示的ICON和字體。4.2開啟初始化過程中注冊啟動高亮函數(shù)HighlightProfileActivateOptions,當(dāng)用戶選擇開啟當(dāng)前情景模式 時,回調(diào)此高亮
12、函數(shù),讀出profile的id號碼gprofileId (此變量在退出profile主菜單進入下級 菜單時由退出函數(shù)賦值),設(shè)置為當(dāng)前激活的情景模式gactivatedprofile,將此值寫入nvram相 應(yīng)的 id NVRAM_PROFILES_ACTIVATED 中,最后調(diào)用函數(shù) ActivateProfile,設(shè)置 gcurrentprofile 得值,同時讀取按鍵音等數(shù)值,新的設(shè)置生效。4.3個人設(shè)置4.3.1鈴聲設(shè)置鈴聲設(shè)置里最主要需要實現(xiàn)的就是獲取光標(biāo)高亮顯示的鈴聲ID,獲取了當(dāng)前高亮菜單的鈴聲ID (通過判斷是否支持自編鈴聲、wap、EMS等來獲得最終的ID號),然后調(diào)用聲音播
13、放函數(shù)來 播放相應(yīng)的示范音,若有確認(rèn)按鍵按下,則將此鈴聲id記為當(dāng)前激活的鈴聲id。在GUI方面,同樣需要實現(xiàn)的也是獲取高亮顯示的鈴聲ID,同時獲取鈴聲總數(shù)目(算法同以上 設(shè)置里所描述),得到id后,將子菜單串裝入數(shù)組subMenuDataPtrs中,將提示(hint)字串裝 入 hintDataPtrs 數(shù)組中。4.3.2音量設(shè)置 首先,判斷是鈴聲音量還是按鍵音量,然后注冊一系列的回調(diào)函數(shù),當(dāng)監(jiān)測到按鍵改變音量大 小時,顯示和示范音同時發(fā)生改變,左軟鍵確認(rèn),將音量值寫入變量gprofilesgactivatedprofile 的對應(yīng)記錄中。4.3.3其余設(shè)置其余的設(shè)置在實現(xiàn)上大體相同,先獲取
14、當(dāng)前高亮的菜單id,若檢測到確定鍵,則將當(dāng)前高亮的菜 單id,寫入gprofilesgprofileId的對應(yīng)記錄中去,若設(shè)置的為目前正激活的模式,則將gprofilesgprofileId的值再賦給 gcurrentprofile。注:情景模式的許多設(shè)置,在確定成功后都會彈出時鐘控制的對話框自動返回上一級,所以在 這種情況下,隨后都要執(zhí)行DeleteScreenIfPresent函數(shù),修改歷史紀(jì)錄。5內(nèi)部調(diào)用的主要函數(shù)說明5.1入口函數(shù)本節(jié)中提到的均為情景模式中各級菜單的函數(shù),在初始化的時候,會注冊一系列的高亮函數(shù), 高亮函數(shù)里注冊響應(yīng)的GUI函數(shù)作為按鍵響應(yīng)函數(shù)。由全局變量傳入?yún)?shù)。Ent
15、ryScrProfiles ()ExitScrProfiles ()顯示所有的情景模式菜單EntryScrProfilesOptions ()ExitScrProfilesOptions ()顯示每個情景模式下開啟、個人設(shè)置EntryScrProfilesActivate開啟界面。因為此類函數(shù)函數(shù)名比較清晰,所以這里不再一一列舉。5.2內(nèi)部函數(shù)InitProfileApp(void)/MMI_TASK中調(diào)用,在開機的時候,注冊所有的菜單高亮回調(diào)函數(shù)。initnvramprofapp(void)/初始化profile相關(guān)的nvram,讀出nvram中NVRAM_PROFILES_ACTIVATE
16、D所對應(yīng)的記錄值, 寫入gactivatedprofile中,得到當(dāng)前激活的模式id,同時激活相關(guān)設(shè)置。initializeProfiles (void)/首次啟動時,在InitProfileApp(void)中調(diào)用該函數(shù),設(shè)置各模式的初 值。void ActivateProfile(void)/激活當(dāng)前的情景模式,開機nvram初始化時調(diào)用此部分函數(shù),在進行模式設(shè)置時,按鍵觸發(fā) 該函數(shù)執(zhí)行。此函數(shù)主要是對nvram得讀寫,和設(shè)置相關(guān)參數(shù)void ActivatefirstProfile(void);首次進入情景模式,調(diào)用此函數(shù),取gprofiles0為默認(rèn)S16 SetRingVolumeL
17、evel(MMI_VOLUME_LEVEL_ENUM volumelevel )參數(shù)為需要改變的音量,按鍵觸發(fā)此函數(shù),函數(shù)中將鈴聲音量設(shè)置為volumelevel,同時發(fā) 消息到底層,按給定的type和volumelevel設(shè)置鈴聲。S16 SetKeypadVolumeLevel(MMI_VOLUME_LEVEL_ENUM volumelevel)同6S16 SetMtCallAlertTypeEnum( MMI_ALERT_TYPE callalerttype)設(shè)置來電提示方式,按鍵觸發(fā),入口參數(shù)為需要設(shè)定的提示方式S16 SetRingToneID(U16 ringtoneid)設(shè)置鈴聲
18、,按鍵觸發(fā),入口參數(shù)為需要選定的鈴聲idS16 SetLightStatus(MMI_LEDLIGHT_STATUS_ENUM backlightstatus)設(shè)置來電燈狀態(tài),按鍵觸發(fā),入口參數(shù)為待設(shè)定的來電燈狀態(tài)S16 SetRingTypeEnum(MMI_RING_TYPE_ENUM ringtype)/設(shè)置響鈴類型,按鍵觸發(fā),入口參數(shù)為需要設(shè)定的響鈴類型(持續(xù)、一聲、漸進)S16 SetAnsweringMode(MMI_ANSWERING_MODE answeringmode)/設(shè)置應(yīng)答模式,按鍵觸發(fā),入口參數(shù)為要設(shè)定的應(yīng)答模式S16 SetFontSizeEnum(MMI_FONT
19、_SIZE_ENUM fontsize)字體設(shè)定,按鍵觸發(fā),入口參數(shù)為要設(shè)定的字體S16 SetPowerOnToneType(TONE_SETUP tone)S16 SetPowerOffToneType(TONE_SETUP tone)S16 SetCoverOpenToneType(TONE_SETUP tone)S16 SetCoverCloseToneType(TONE_SETUP tone)S16 SetKeypadToneType(KEYPAD_TONE_ENUM keypadtone)S16 SetMessageToneType(TONE_SETUP tone)S16 SetA
20、larmToneID(U16 id)以上均同9U8 set_lcdbacklighttimer(void)設(shè)定lcd背光開啟時間,按鍵觸發(fā),全局變量gSec將需要設(shè)定的時間傳入。6模塊提供的外部接口函數(shù)說明S16 SetActivatedRingVolumeLevel(MMI_VOLUME_LEVEL_ENUM volumelevel )/at command設(shè)置情景模式(不確定)S16 SetActivatedKeypadVolumeLevel(MMI_VOLUME_LEVEL_ENUM volumelevel)/at command設(shè)置情景模式(不確定)pBOOL SetProfileDe
21、fault(void)為恢復(fù)出廠模式提供接口函數(shù),返回值表示nvram是否寫成功void playRequestedTone(ALL_TONE_ENUM playtone)/所有應(yīng)用程序,短信,camera等做程序接口,播放鈴聲void stopRequestedTone(ALL_TONE_ENUM playtone)/所有應(yīng)用程序,停止相應(yīng)的鈴聲播放MMI_VOLUME_LEVEL_ENUM GetRingVolumeLevel(void)/返回值為MMI_VOLUME_LEVEL_ENUM型變量,為其他函數(shù)提供當(dāng)前的鈴聲音量MMI_VOLUME_LEVEL_ENUM GetKeypadVolumeLevel(void)同6MMI_ALERT_TYPE GetMtCallAlertTypeEnum(void)/返回值為MMI_ALERT_TYPE,返回來電提示方式,為來電鈴聲,短消息提示等提供接口函數(shù)MMI_LEDLIGHT_STATUS_ENUM GetLightStatus(void)/為來電提示提供接口函數(shù),返
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度隧道工程施工進度合同
- 2025年度民事起訴狀合同糾紛在線調(diào)解平臺使用合同
- 二零二五年度歐派定制衣柜售后服務(wù)及客戶關(guān)系管理合同
- 高中信息技術(shù)選修3教學(xué)設(shè)計-2.2 IP地址-浙教版
- 田園風(fēng)格家居裝修的藝術(shù)魅力
- 實訓(xùn)合同范本
- 小學(xué)財務(wù)年終工作總結(jié)
- 2025至2030年中國獼猴桃糕數(shù)據(jù)監(jiān)測研究報告
- 書店招標(biāo)合同范本
- 中小學(xué)校體育工作等級評估指標(biāo)體系
- 人教版小學(xué)二年級體育下冊全冊教案
- 農(nóng)業(yè)政策學(xué)PPT完整全套教學(xué)課件
- 國家電網(wǎng)招聘之其他工學(xué)類復(fù)習(xí)資料大全
- 天山天池景區(qū)介紹-天山天池景點PPT(經(jīng)典版)
- 電動機潤滑檔案
- 房地產(chǎn) -中建一局成本復(fù)盤案例匯編
- 回延安部編語文名師公開課一等獎教學(xué)設(shè)計課件2
- 正常分娩 第三產(chǎn)程的臨床經(jīng)過及護理
- 《當(dāng)前中國海疆形勢》課件
- 最新數(shù)字媒體藝術(shù)概論課件
- 教師培訓(xùn)校園安全工作課件校園安全管理培訓(xùn)課程教學(xué)
評論
0/150
提交評論