The python program for tscc card reader is ported to terminal environment in C.
Now there is a script command, say 'tscc', could be used to interact with the card reader.
btw, complete a few script subroutines for script coder's reference.
Now, I can close this task, and do the SIP program again.
2007年7月18日 星期三
2007年7月17日 星期二
Display engine
思考如何完成新版 車機 畫面的模擬程式. 主要是希望可以透過 web 來完成. 這樣就可以利用現有的 tool 了.
把 display engine 的功能, 分割一下, 分為 core, wrapper, remote ui.
core: 處理核心, 包含: event handler, command dispatcher, window description interpreter.
wrapper: 包含兩個 link 的處理程式
把 display engine 的功能, 分割一下, 分為 core, wrapper, remote ui.
core: 處理核心, 包含: event handler, command dispatcher, window description interpreter.
wrapper: 包含兩個 link 的處理程式
- ui wrapper: 提供畫面控制的 function, 轉換成 內部的 UI message, 必透過 UI link 送給 remote UI; 或將 remote UI 送來的 按鍵 message, 轉換成 event handler 可以處理的型式.
- msg wrapper: 讓遠端的 message 可以加入 event handler 的 queue, 或將 core 產生的 message 透過 msg link 送出.
- 透過 UI link 連接到 wrapper, 處理 remote message. 或將 按鍵 動作, 轉換成 UI message 送到 wrapper
- 提供 UI, 以便輸入 event,
- 將 msg link 收到的資料, 顯示在 UI 的 log area.
2007年3月24日 星期六
2007年3月7日 星期三
download over air for terminal feature
今天又跟 Jason 通了電話, 看樣子 download 還是得做. spiparm.dat/parm.dat 也逃不了.
parm.dat/spiparm.dat 是還好啦. download 的話就有蠻多問題的.
雖然可以將部份連續的 sectors 保留下來做這個用途, 但總是有問題.
我大概的想法是
留下兩個 cluster 是用於索引的. (我還是不確定這兩個 blocks 是否有可能會被同一個 erase/write cycle 所影響到,.... 沒有資料啊.....)
下載時, 就同步更新這兩個索引. 如果 資料寫到一半故障, 索引是舊的, 就不會有問題.
如果更新第一份索引時故障, 第二份(還是舊的) 就可以用. 如果是第二份故障, 那就算了.
這樣就可以 tracking 可能的寫入位置.
但在 copy 到 drive C 時, 還是可能出問題......
這時就要讓 drive A 的程式可以 format drive C 才行. (怎麼知道 drive C 故障了 ?)
一堆問題.... 還是得想....
parm.dat/spiparm.dat 是還好啦. download 的話就有蠻多問題的.
雖然可以將部份連續的 sectors 保留下來做這個用途, 但總是有問題.
我大概的想法是
留下兩個 cluster 是用於索引的. (我還是不確定這兩個 blocks 是否有可能會被同一個 erase/write cycle 所影響到,.... 沒有資料啊.....)
下載時, 就同步更新這兩個索引. 如果 資料寫到一半故障, 索引是舊的, 就不會有問題.
如果更新第一份索引時故障, 第二份(還是舊的) 就可以用. 如果是第二份故障, 那就算了.
這樣就可以 tracking 可能的寫入位置.
但在 copy 到 drive C 時, 還是可能出問題......
這時就要讓 drive A 的程式可以 format drive C 才行. (怎麼知道 drive C 故障了 ?)
一堆問題.... 還是得想....
2007年3月6日 星期二
2007年3月5日 星期一
checksum for selected files on flash disk
今天將 checksum feature 加入 terminal 以下功能中
usrvar.dat(usrvar.mir), msg-*.dat (msg-*.mir), pws.cfg(pws.mir), trip.dat(trip.mir)
比較特別的是 msg-*.dat(msg-*.mir) 似乎有點奇怪. 從 disk image 讀出來的一致的, 但透過 xdos 讀到的內容卻是不一致. 透過 debug 模式, 觀察到確實有將相同的資料寫入, 就先不找了.
接下來就是交給工程人員測試.
usrvar.dat(usrvar.mir), msg-*.dat (msg-*.mir), pws.cfg(pws.mir), trip.dat(trip.mir)
比較特別的是 msg-*.dat(msg-*.mir) 似乎有點奇怪. 從 disk image 讀出來的一致的, 但透過 xdos 讀到的內容卻是不一致. 透過 debug 模式, 觀察到確實有將相同的資料寫入, 就先不找了.
接下來就是交給工程人員測試.
2007年3月3日 星期六
2007年2月28日 星期三
2007年2月26日 星期一
biosdisk() cannot read too many sectors
今天試著將之前分析 floppy disk 的程式, 擴展成可以處理 FAT16 的硬碟分區.
發現 biosdisk(_DISK_READ,,,) 竟然無法一次讀取 122 個 sectors. (沒超過 64KB)
真不知道發生了什麼倒楣事, 只好改成一次讀一個 sector.
幸好只有這個問題, 下班前就可以完成這個部分.
下一個動作就是讀檔, 更新.
- 2007/02/27 00:57, 總算完成讀檔的部份, 但還缺檔名分析的部份
- 2007/02/27 15:00 左右, 完成檔名分析的部份.
接下來就是改寫 gps.exe 中相關的檔案操作部分.
發現 biosdisk(_DISK_READ,,,) 竟然無法一次讀取 122 個 sectors. (沒超過 64KB)
真不知道發生了什麼倒楣事, 只好改成一次讀一個 sector.
幸好只有這個問題, 下班前就可以完成這個部分.
下一個動作就是讀檔, 更新.
- 2007/02/27 00:57, 總算完成讀檔的部份, 但還缺檔名分析的部份
- 2007/02/27 15:00 左右, 完成檔名分析的部份.
接下來就是改寫 gps.exe 中相關的檔案操作部分.
訂閱:
文章 (Atom)