詳細(xì)設(shè)計說明書(情景模式)_第1頁
詳細(xì)設(shè)計說明書(情景模式)_第2頁
詳細(xì)設(shè)計說明書(情景模式)_第3頁
詳細(xì)設(shè)計說明書(情景模式)_第4頁
詳細(xì)設(shè)計說明書(情景模式)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、情景模式詳細(xì)設(shè)計說明書MTK-M3項(xiàng)目組康佳通信科技開發(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各子模塊實(shí)現(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)機(jī) 鈴聲、來電鈴聲、音量、按鍵音等參數(shù)設(shè)置。這些環(huán)境參數(shù)可以分別設(shè)置,也可以集體啟動, 如下圖所示。情景模式般模式 會議模式 室外模式 室內(nèi)模式 耳機(jī)模式啟動個性化設(shè)置鈴聲設(shè)置音量設(shè)置報警音類型響鈴方式意外提示音應(yīng)答模式背光具體實(shí)現(xiàn):情景模式模塊的設(shè)計,實(shí)

4、際上就是有條件的對NVRAM的讀寫,從而改變一些參數(shù)的設(shè)置。此套代碼程序可以在模擬器上運(yùn)行,可以在硬件平臺上運(yùn)行,情景模式模塊兩種條件下的架構(gòu) 基本相同,所以這里主要介紹在硬件上的實(shí)現(xiàn)。該模塊的設(shè)計主要分為兩部分,MMI層,和L4層。MMI層:系統(tǒng)啟動時對該模塊進(jìn)行初始化,注冊此模塊中菜單高亮信息,NVRAM中讀取相關(guān)記錄。在具體的設(shè)置之中,可以對各種參數(shù)分別設(shè)置,也可以整體啟動某個情景模式。底層:接收MMI層發(fā)送過來的消息,執(zhí)行相應(yīng)操作,主要為保存已經(jīng)確認(rèn)的設(shè)置,另外, 在進(jìn)行鈴聲選擇的時候,同時播放示范音。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ù)、漸進(jìn)/各種鈴聲選擇/應(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、基本上就是圍繞這幾個變量在進(jìn)行判斷和設(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)機(jī)鈴聲開機(jī)鈴聲PHONE) | defined(_MMI_CLAMSHELL_)/翻蓋鈴聲/合蓋鈴聲/短消息鈴聲/按鍵音/鬧鈴音/無提示/響鈴/振動/振動+響鈴振動后響鈴靜音/LED

9、指示燈狀態(tài)(七彩、三色,單色等)/LCD背光時間typedef struct pBOOL coverAnswer;pBOOL anyKey;pBOOL automatic;MMI_ANSWERING_MODE;/翻蓋接聽/任意鍵接聽/自動應(yīng)答,用于耳機(jī)模式應(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)的記錄,其中一個用戶任意可以改變,再開機(jī)時自動讀取這些記 錄值來進(jìn)行設(shè)置,還有一個記錄是始終不變的,用以再恢復(fù)工廠模式的時候,讀取相 關(guān)數(shù)據(jù)。4各子模塊實(shí)現(xiàn)及主要算法說明4.1初始化初始化過程,在手機(jī)啟動時,初始化應(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主菜單進(jìn)入下級 菜單時由退出函數(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è)置里最主要需要實(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方面,同樣需要實(shí)現(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è)置在實(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開啟界面。因?yàn)榇祟惡瘮?shù)函數(shù)名比較清晰,所以這里不再一一列舉。5.2內(nèi)部函數(shù)InitProfileApp(void)/MMI_TASK中調(diào)用,在開機(jī)的時候,注冊所有的菜單高亮回調(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)前的情景模式,開機(jī)nvram初始化時調(diào)用此部分函數(shù),在進(jìn)行模式設(shè)置時,按鍵觸發(fā) 該函數(shù)執(zhí)行。此函數(shù)主要是對nvram得讀寫,和設(shè)置相關(guān)參數(shù)void ActivatefirstProfile(void);首次進(jìn)入情景模式,調(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ù)、一聲、漸進(jìn))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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論