MeshIDE for TinyOS模塊設(shè)計(jì)
發(fā)布時(shí)間:2012/4/7 19:39:53 訪問(wèn)次數(shù):1186
無(wú)線傳感器集成開發(fā)平臺(tái)MeshIDE for TinyOS插件主程序部分MP2101DQ-LF-Z實(shí)現(xiàn)了在Eclipse平臺(tái)下用插件實(shí)現(xiàn)能夠開發(fā)nesC項(xiàng)目的用戶平臺(tái),主要功能實(shí)現(xiàn)是nesC代碼編輯管理,并提供一些與項(xiàng)目相關(guān)的選項(xiàng)和make視圖部分,并能與TinyOS的編譯環(huán)境進(jìn)行信息交互。它主要由下面幾個(gè)重要模塊組成。
(1)項(xiàng)目生成向?qū)K
項(xiàng)目生成向?qū)K的功能是引導(dǎo)用戶輸入新MeshIDE for TinyOS墓本信息,并選擇開發(fā)所需要使用的節(jié)點(diǎn)環(huán)境。開發(fā)者可以選擇創(chuàng)建空白的MeshIDE for TinyOS項(xiàng)目,平臺(tái)將根據(jù)用戶定義的信息生成應(yīng)用框架,開發(fā)者在框架基礎(chǔ)上完成具體功能的實(shí)現(xiàn);也可以從已有的文件導(dǎo)入到空白的項(xiàng)目中;還可以選擇創(chuàng)建已有的開發(fā)實(shí)例( sample),MeshIDE for TinyOS平臺(tái)提供了多個(gè)完整的應(yīng)用實(shí)例,創(chuàng)建項(xiàng)目時(shí)系統(tǒng)會(huì)從TinyOS的apps提供的實(shí)例中調(diào)用相應(yīng)的文件,在MeshIDE for TinyOS平臺(tái)中編譯后用來(lái)測(cè)試節(jié)點(diǎn)。當(dāng)然,用戶也可修改原有功能,在實(shí)例的基礎(chǔ)上進(jìn)行相應(yīng)擴(kuò)展。
(2)編輯器模塊
編輯器模塊的功能是在透視圖中提供一個(gè)文本編輯區(qū)域,允許用戶在工作臺(tái)中編輯nesC代碼。同時(shí),它也可作為一般文本編輯器以普通文本的方式打開,如.proj ect或makefile之類的ASCII文件。在打開或者編輯文件時(shí),編輯器需要監(jiān)聽該文件的內(nèi)容是否已經(jīng)被改變(isdirty),并提示用戶保存已經(jīng)修改的文件。
對(duì)于nesC文件,需要進(jìn)行分區(qū)檢查,以確定哪些部分是源代碼,哪些部分是注釋。用一個(gè)定義編輯器行為的源查看器來(lái)管理諸如雙擊文本選擇范圍或是文檔自動(dòng)補(bǔ)全策略的功能。編輯器需要進(jìn)行詞法分析,用不同的顏色標(biāo)注出不同類型的單詞或符號(hào)。同時(shí),還需進(jìn)行括號(hào)配對(duì)管理,通過(guò)括號(hào)的配對(duì)過(guò)程對(duì)程序代碼分區(qū),不同區(qū)域用不同顏色間隔標(biāo)注。定制nesC編輯器的主要結(jié)構(gòu)如圖7-37所示。

在nesC編輯器中,最主要的文件是NesCEditor和ExternalEditorlnput,它們控制編輯器的主要行為和編輯內(nèi)容的輸入?yún)f(xié)議,它們相當(dāng)于IEditorlnput和EditorPart之間的關(guān)系,是編輯器的核心部分。編輯器模塊需要定制成一個(gè)nesC和其他多種文本的編輯器,它需繼承TextEditor類,規(guī)定一個(gè)標(biāo)準(zhǔn)平臺(tái)文本編輯器的行為,如文本表示和用戶修改,剪切、復(fù)制/粘貼及查找/替換等功能。
對(duì)于定制nesC編輯器的開發(fā),在創(chuàng)建基本的編輯器后還需增加以下3個(gè)重要的功能。
①創(chuàng)建文檔提供程序。文檔提供程序(IDocumentProvider)生成并管理包含編輯器榆入元素的文本表示的文檔(IDocument),決定如何執(zhí)行元素與文本表示之間轉(zhuǎn)換及多個(gè)編輯器是否應(yīng)共享文檔提供程序是非常重要的。
②創(chuàng)建文檔分區(qū)程序。文檔分區(qū)程序(IDocumentPartitioner)將文檔分成若干個(gè)不相連的區(qū)域。分區(qū)程序給每一個(gè)區(qū)域指定該分區(qū)程序預(yù)先定義的一組內(nèi)容類型中的一個(gè)。在更改每一個(gè)文檔時(shí),必須更新文檔的分區(qū)。由于nesC的語(yǔ)法結(jié)構(gòu)與Java有一定區(qū)別,所以需要自定義一個(gè)文檔分區(qū)的接口。
③提供源查看器插件。源查看器可以提供自動(dòng)縮進(jìn)策略、雙擊策略、內(nèi)容格式化程序和文本表示協(xié)調(diào)程序。
(1)項(xiàng)目生成向?qū)K
項(xiàng)目生成向?qū)K的功能是引導(dǎo)用戶輸入新MeshIDE for TinyOS墓本信息,并選擇開發(fā)所需要使用的節(jié)點(diǎn)環(huán)境。開發(fā)者可以選擇創(chuàng)建空白的MeshIDE for TinyOS項(xiàng)目,平臺(tái)將根據(jù)用戶定義的信息生成應(yīng)用框架,開發(fā)者在框架基礎(chǔ)上完成具體功能的實(shí)現(xiàn);也可以從已有的文件導(dǎo)入到空白的項(xiàng)目中;還可以選擇創(chuàng)建已有的開發(fā)實(shí)例( sample),MeshIDE for TinyOS平臺(tái)提供了多個(gè)完整的應(yīng)用實(shí)例,創(chuàng)建項(xiàng)目時(shí)系統(tǒng)會(huì)從TinyOS的apps提供的實(shí)例中調(diào)用相應(yīng)的文件,在MeshIDE for TinyOS平臺(tái)中編譯后用來(lái)測(cè)試節(jié)點(diǎn)。當(dāng)然,用戶也可修改原有功能,在實(shí)例的基礎(chǔ)上進(jìn)行相應(yīng)擴(kuò)展。
(2)編輯器模塊
編輯器模塊的功能是在透視圖中提供一個(gè)文本編輯區(qū)域,允許用戶在工作臺(tái)中編輯nesC代碼。同時(shí),它也可作為一般文本編輯器以普通文本的方式打開,如.proj ect或makefile之類的ASCII文件。在打開或者編輯文件時(shí),編輯器需要監(jiān)聽該文件的內(nèi)容是否已經(jīng)被改變(isdirty),并提示用戶保存已經(jīng)修改的文件。
對(duì)于nesC文件,需要進(jìn)行分區(qū)檢查,以確定哪些部分是源代碼,哪些部分是注釋。用一個(gè)定義編輯器行為的源查看器來(lái)管理諸如雙擊文本選擇范圍或是文檔自動(dòng)補(bǔ)全策略的功能。編輯器需要進(jìn)行詞法分析,用不同的顏色標(biāo)注出不同類型的單詞或符號(hào)。同時(shí),還需進(jìn)行括號(hào)配對(duì)管理,通過(guò)括號(hào)的配對(duì)過(guò)程對(duì)程序代碼分區(qū),不同區(qū)域用不同顏色間隔標(biāo)注。定制nesC編輯器的主要結(jié)構(gòu)如圖7-37所示。

在nesC編輯器中,最主要的文件是NesCEditor和ExternalEditorlnput,它們控制編輯器的主要行為和編輯內(nèi)容的輸入?yún)f(xié)議,它們相當(dāng)于IEditorlnput和EditorPart之間的關(guān)系,是編輯器的核心部分。編輯器模塊需要定制成一個(gè)nesC和其他多種文本的編輯器,它需繼承TextEditor類,規(guī)定一個(gè)標(biāo)準(zhǔn)平臺(tái)文本編輯器的行為,如文本表示和用戶修改,剪切、復(fù)制/粘貼及查找/替換等功能。
對(duì)于定制nesC編輯器的開發(fā),在創(chuàng)建基本的編輯器后還需增加以下3個(gè)重要的功能。
①創(chuàng)建文檔提供程序。文檔提供程序(IDocumentProvider)生成并管理包含編輯器榆入元素的文本表示的文檔(IDocument),決定如何執(zhí)行元素與文本表示之間轉(zhuǎn)換及多個(gè)編輯器是否應(yīng)共享文檔提供程序是非常重要的。
②創(chuàng)建文檔分區(qū)程序。文檔分區(qū)程序(IDocumentPartitioner)將文檔分成若干個(gè)不相連的區(qū)域。分區(qū)程序給每一個(gè)區(qū)域指定該分區(qū)程序預(yù)先定義的一組內(nèi)容類型中的一個(gè)。在更改每一個(gè)文檔時(shí),必須更新文檔的分區(qū)。由于nesC的語(yǔ)法結(jié)構(gòu)與Java有一定區(qū)別,所以需要自定義一個(gè)文檔分區(qū)的接口。
③提供源查看器插件。源查看器可以提供自動(dòng)縮進(jìn)策略、雙擊策略、內(nèi)容格式化程序和文本表示協(xié)調(diào)程序。
無(wú)線傳感器集成開發(fā)平臺(tái)MeshIDE for TinyOS插件主程序部分MP2101DQ-LF-Z實(shí)現(xiàn)了在Eclipse平臺(tái)下用插件實(shí)現(xiàn)能夠開發(fā)nesC項(xiàng)目的用戶平臺(tái),主要功能實(shí)現(xiàn)是nesC代碼編輯管理,并提供一些與項(xiàng)目相關(guān)的選項(xiàng)和make視圖部分,并能與TinyOS的編譯環(huán)境進(jìn)行信息交互。它主要由下面幾個(gè)重要模塊組成。
(1)項(xiàng)目生成向?qū)K
項(xiàng)目生成向?qū)K的功能是引導(dǎo)用戶輸入新MeshIDE for TinyOS墓本信息,并選擇開發(fā)所需要使用的節(jié)點(diǎn)環(huán)境。開發(fā)者可以選擇創(chuàng)建空白的MeshIDE for TinyOS項(xiàng)目,平臺(tái)將根據(jù)用戶定義的信息生成應(yīng)用框架,開發(fā)者在框架基礎(chǔ)上完成具體功能的實(shí)現(xiàn);也可以從已有的文件導(dǎo)入到空白的項(xiàng)目中;還可以選擇創(chuàng)建已有的開發(fā)實(shí)例( sample),MeshIDE for TinyOS平臺(tái)提供了多個(gè)完整的應(yīng)用實(shí)例,創(chuàng)建項(xiàng)目時(shí)系統(tǒng)會(huì)從TinyOS的apps提供的實(shí)例中調(diào)用相應(yīng)的文件,在MeshIDE for TinyOS平臺(tái)中編譯后用來(lái)測(cè)試節(jié)點(diǎn)。當(dāng)然,用戶也可修改原有功能,在實(shí)例的基礎(chǔ)上進(jìn)行相應(yīng)擴(kuò)展。
(2)編輯器模塊
編輯器模塊的功能是在透視圖中提供一個(gè)文本編輯區(qū)域,允許用戶在工作臺(tái)中編輯nesC代碼。同時(shí),它也可作為一般文本編輯器以普通文本的方式打開,如.proj ect或makefile之類的ASCII文件。在打開或者編輯文件時(shí),編輯器需要監(jiān)聽該文件的內(nèi)容是否已經(jīng)被改變(isdirty),并提示用戶保存已經(jīng)修改的文件。
對(duì)于nesC文件,需要進(jìn)行分區(qū)檢查,以確定哪些部分是源代碼,哪些部分是注釋。用一個(gè)定義編輯器行為的源查看器來(lái)管理諸如雙擊文本選擇范圍或是文檔自動(dòng)補(bǔ)全策略的功能。編輯器需要進(jìn)行詞法分析,用不同的顏色標(biāo)注出不同類型的單詞或符號(hào)。同時(shí),還需進(jìn)行括號(hào)配對(duì)管理,通過(guò)括號(hào)的配對(duì)過(guò)程對(duì)程序代碼分區(qū),不同區(qū)域用不同顏色間隔標(biāo)注。定制nesC編輯器的主要結(jié)構(gòu)如圖7-37所示。

在nesC編輯器中,最主要的文件是NesCEditor和ExternalEditorlnput,它們控制編輯器的主要行為和編輯內(nèi)容的輸入?yún)f(xié)議,它們相當(dāng)于IEditorlnput和EditorPart之間的關(guān)系,是編輯器的核心部分。編輯器模塊需要定制成一個(gè)nesC和其他多種文本的編輯器,它需繼承TextEditor類,規(guī)定一個(gè)標(biāo)準(zhǔn)平臺(tái)文本編輯器的行為,如文本表示和用戶修改,剪切、復(fù)制/粘貼及查找/替換等功能。
對(duì)于定制nesC編輯器的開發(fā),在創(chuàng)建基本的編輯器后還需增加以下3個(gè)重要的功能。
①創(chuàng)建文檔提供程序。文檔提供程序(IDocumentProvider)生成并管理包含編輯器榆入元素的文本表示的文檔(IDocument),決定如何執(zhí)行元素與文本表示之間轉(zhuǎn)換及多個(gè)編輯器是否應(yīng)共享文檔提供程序是非常重要的。
②創(chuàng)建文檔分區(qū)程序。文檔分區(qū)程序(IDocumentPartitioner)將文檔分成若干個(gè)不相連的區(qū)域。分區(qū)程序給每一個(gè)區(qū)域指定該分區(qū)程序預(yù)先定義的一組內(nèi)容類型中的一個(gè)。在更改每一個(gè)文檔時(shí),必須更新文檔的分區(qū)。由于nesC的語(yǔ)法結(jié)構(gòu)與Java有一定區(qū)別,所以需要自定義一個(gè)文檔分區(qū)的接口。
③提供源查看器插件。源查看器可以提供自動(dòng)縮進(jìn)策略、雙擊策略、內(nèi)容格式化程序和文本表示協(xié)調(diào)程序。
(1)項(xiàng)目生成向?qū)K
項(xiàng)目生成向?qū)K的功能是引導(dǎo)用戶輸入新MeshIDE for TinyOS墓本信息,并選擇開發(fā)所需要使用的節(jié)點(diǎn)環(huán)境。開發(fā)者可以選擇創(chuàng)建空白的MeshIDE for TinyOS項(xiàng)目,平臺(tái)將根據(jù)用戶定義的信息生成應(yīng)用框架,開發(fā)者在框架基礎(chǔ)上完成具體功能的實(shí)現(xiàn);也可以從已有的文件導(dǎo)入到空白的項(xiàng)目中;還可以選擇創(chuàng)建已有的開發(fā)實(shí)例( sample),MeshIDE for TinyOS平臺(tái)提供了多個(gè)完整的應(yīng)用實(shí)例,創(chuàng)建項(xiàng)目時(shí)系統(tǒng)會(huì)從TinyOS的apps提供的實(shí)例中調(diào)用相應(yīng)的文件,在MeshIDE for TinyOS平臺(tái)中編譯后用來(lái)測(cè)試節(jié)點(diǎn)。當(dāng)然,用戶也可修改原有功能,在實(shí)例的基礎(chǔ)上進(jìn)行相應(yīng)擴(kuò)展。
(2)編輯器模塊
編輯器模塊的功能是在透視圖中提供一個(gè)文本編輯區(qū)域,允許用戶在工作臺(tái)中編輯nesC代碼。同時(shí),它也可作為一般文本編輯器以普通文本的方式打開,如.proj ect或makefile之類的ASCII文件。在打開或者編輯文件時(shí),編輯器需要監(jiān)聽該文件的內(nèi)容是否已經(jīng)被改變(isdirty),并提示用戶保存已經(jīng)修改的文件。
對(duì)于nesC文件,需要進(jìn)行分區(qū)檢查,以確定哪些部分是源代碼,哪些部分是注釋。用一個(gè)定義編輯器行為的源查看器來(lái)管理諸如雙擊文本選擇范圍或是文檔自動(dòng)補(bǔ)全策略的功能。編輯器需要進(jìn)行詞法分析,用不同的顏色標(biāo)注出不同類型的單詞或符號(hào)。同時(shí),還需進(jìn)行括號(hào)配對(duì)管理,通過(guò)括號(hào)的配對(duì)過(guò)程對(duì)程序代碼分區(qū),不同區(qū)域用不同顏色間隔標(biāo)注。定制nesC編輯器的主要結(jié)構(gòu)如圖7-37所示。

在nesC編輯器中,最主要的文件是NesCEditor和ExternalEditorlnput,它們控制編輯器的主要行為和編輯內(nèi)容的輸入?yún)f(xié)議,它們相當(dāng)于IEditorlnput和EditorPart之間的關(guān)系,是編輯器的核心部分。編輯器模塊需要定制成一個(gè)nesC和其他多種文本的編輯器,它需繼承TextEditor類,規(guī)定一個(gè)標(biāo)準(zhǔn)平臺(tái)文本編輯器的行為,如文本表示和用戶修改,剪切、復(fù)制/粘貼及查找/替換等功能。
對(duì)于定制nesC編輯器的開發(fā),在創(chuàng)建基本的編輯器后還需增加以下3個(gè)重要的功能。
①創(chuàng)建文檔提供程序。文檔提供程序(IDocumentProvider)生成并管理包含編輯器榆入元素的文本表示的文檔(IDocument),決定如何執(zhí)行元素與文本表示之間轉(zhuǎn)換及多個(gè)編輯器是否應(yīng)共享文檔提供程序是非常重要的。
②創(chuàng)建文檔分區(qū)程序。文檔分區(qū)程序(IDocumentPartitioner)將文檔分成若干個(gè)不相連的區(qū)域。分區(qū)程序給每一個(gè)區(qū)域指定該分區(qū)程序預(yù)先定義的一組內(nèi)容類型中的一個(gè)。在更改每一個(gè)文檔時(shí),必須更新文檔的分區(qū)。由于nesC的語(yǔ)法結(jié)構(gòu)與Java有一定區(qū)別,所以需要自定義一個(gè)文檔分區(qū)的接口。
③提供源查看器插件。源查看器可以提供自動(dòng)縮進(jìn)策略、雙擊策略、內(nèi)容格式化程序和文本表示協(xié)調(diào)程序。
上一篇:項(xiàng)目生成和屬性
上一篇:透視圖模塊
熱門點(diǎn)擊
- TDMA技術(shù)
- 安全網(wǎng)絡(luò)加密協(xié)議SNEP
- 低功耗8極點(diǎn)Sallen-Key Butte
- 訪問(wèn)控制技術(shù)
- 網(wǎng)絡(luò)安全性
- 系統(tǒng)架構(gòu)
- 拓?fù)淇刂萍夹g(shù)概述
- 硬件設(shè)計(jì)特點(diǎn)與要求
- 典型的無(wú)線傳感器網(wǎng)絡(luò)覆蓋算法與協(xié)議
- 電感元件常用軟磁材料磁心
推薦技術(shù)資料
- 按鈕與燈的互動(dòng)實(shí)例
- 現(xiàn)在趕快去看看這個(gè)目錄卞有什么。FGA15N120AN... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究