Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
3-5. 客 戶 端 顯 示 的 相 關 資 訊<br />
在 這 個 專 題 中 以 PXA255 開 發 版 作 為 客 戶 端 , 來 貼 近 一 個 合 併 購 物 車 的 行 動 裝 置 。<br />
透 過 PXA255 的 螢 幕 可 以 顯 示 出 環 境 的 地 圖 以 及 目 前 所 在 的 位 置 , 為 了 要 讓 PXA255<br />
可 以 顯 示 出 這 些 資 訊 或 是 接 收 使 用 者 的 輸 入 , 必 須 使 用 一 些 圖 形 函 式 庫 來 達 成 。<br />
華 亨 科 技 的 PXA255 開 發 版 所 使 用 的 圖 形 介 面 函 式 庫 為 GTK+ 1.2 , 而 GTK+ 有<br />
一 項 關 聯 的 產 物 Glade ,Glade 是 一 項 透 過 圖 形 介 面 來 產 生 圖 形 介 面 的 程 式 。 透 過<br />
Glade 可 以 快 速 的 產 生 程 式 介 面 的 雛 型 以 及 自 動 引 用 GTK+ 圖 形 介 面 函 式 庫 , 使 得 在<br />
編 寫 圖 形 程 式 只 要 專 注 於 程 式 的 邏 輯 , 以 及 回 應 圖 形 介 面 的 事 件 。<br />
以 客 戶 端 的 程 式 來 說 ; 程 式 的 邏 輯 就 是 接 收 來 自 伺 服 端 的 定 位 資 訊 , 顯 示 出 目<br />
前 所 在 的 位 置 , 以 及 更 新 最 短 路 徑 的 狀 態 ; 而 來 自 使 用 者 的 請 求 則 是 透 過 圖 形 介 面<br />
的 按 鈕 觸 發 事 件 , 更 改 程 式 的 狀 態 。 程 式 的 邏 輯 以 一 個 refresh( ) 的 函 式 完 成 , 經 由<br />
GTK+ 的 gtk_idle_add( ) 由 gtk_main( ) 在 圖 形 介 面 閒 置 時 不 斷 呼 叫 , 使 程 式 具 有 類 似<br />
多 工 的 功 能 來 更 新 資 訊 。<br />
當 以 Glade 完 成 介 面 的 設 計 時 會 產 生 幾 份 C 程 式 碼 檔 案 , 分 別 是 callbacks.c/.h 、<br />
interface.c/.h、support.c/.h、main.c , 以 及 autogen.sh 。 透 過 修 改 這 些 文 件 就 可 以 回 應 事 件<br />
觸 發 的 行 為 , 以 及 指 定 makefile 所 產 出 的 執 行 檔 平 台 。<br />
3-6. 確 認 圖 形 介 面 的 運 作 正 常<br />
當 程 式 完 成 時 必 須 透 過 開 發 板 的 bootloader 以 及 開 發 環 境 的 tftp server 進 行 燒 錄 的<br />
動 作 , 如 果 圖 形 介 面 不 如 預 期 所 運 作 就 必 須 修 改 並 重 新 燒 錄 , 這 樣 的 動 作 十 分 瑣 碎<br />
而 且 一 燒 就 是 二 十 分 鐘 。 事 實 上 透 過 Linux 搭 配 GTK+ 套 件 就 可 以 在 開 發 環 境 中 呈 獻<br />
出 圖 形 介 面 運 作 的 樣 子 , 在 開 發 環 境 中 測 試 完 成 才 透 過 cross-compiler 產 生 開 發 板 所<br />
使 用 的 程 式 。<br />
以 目 前 的 Linux 發 行 板 來 說 , 幾 乎 沒 有 提 供 GTK+ 1.2 以 及 Glade 0.6 的 套 件 讓 使<br />
10