3.31.2007

PNA with building DR

內建DR的PNA ?

這一篇 看到的
SONY Position Plus 感應器,短暫失去GPS信號,也能持續導航。
所以是內建DR Sensor囉 ?

產品資訊在這裡,有關 SONY Position Plus 的說明
Unique Sony Position Plus technology ensures accurate, uninterrupted routing even when GPS signals are temporarily compromised. This can happen when a vehicle is travelling beneath a tunnel or bridge, between tall buildings or under trees with dense foliage that can obscure satellite signals. An acceleration sensor and pressure sensor interpret vehicle motion to assure more stable, reliable positioning information. Position Plus thus reduces the risk of incorrect position and route information being displayed – a major cause of driver frustration that can compromise road safety.
所以真的是內建加速計和壓力計(高度?)。

Google blog 的adsense 廣告


我不是要說明最近很紅的adsense,而是今天在po的時候,發現多了一個block...


怎麼? 是每個blogger都有 ?

3.24.2007

bitbake - "Make" of openembedded

openembedded 使用的 build tool 是bitbake.

bitbake 就好像是Make 一樣,他的Makefile 是 *.bb 。
Make 後面接的是target,bitbake 後面接的則是 package。
和Make樣,bitbake command 後面不接package name,就會以同目錄下 的 .bb 檔案作target。
package 就是以 bb 結尾的檔案,裡面用bitbake語法描述這個package 需要的動作。

Bitbake 第一個configuration file,也就是bitbake 自己的config file 是
/stuff/org.openembedded.dev/conf/bitbake.conf
在這裡大概可以看一些bitbake 的動作 ( command )。

用 bbread 可以列出目前bitbake 的config 實際內容 (也就是變數列出來)。
bbread 現在已經被 " bitbake -e " 取代。

bbread ( bitbake -e ) 後面如果沒有argument,目前目錄也沒有 .bb file,bbread 就會parse bitbake.conf的內容。

這樣,就可以直接知道 bitbake.conf中那些奇怪符號最後解譯出什麼內容。

就像Makefile 間有dependency,各個package (.bb) 間也可以有dependency。
bitbake 的 "-g" command可以列出某package的depends package。

這裡 這一篇,有說明以上內容。

3.23.2007

IBM Thinkpad

上次搞得一肚子火的IBM Thinkpad 客服經驗,今天...




又斷了...

現在 所有側板開口的轉折處都斷過了...

右側HD 側版轉折處:


左側IR側版轉折處:



我用過NB: Mitac 722, PowerMac(Wallstreet), IBM 570, IBM R40e...都OK喔。這些機器現在也都很好。只有Mitac 722 不能開機了,但是case 也都很好。

只有這個 IBM .. 天哪!真是懷疑他的case是餅乾做的。都是...不知怎樣,也沒摔到,敲到。
..有一天猛然一看...竟然斷了! (第一個裂痕在使用4個月後),現在這個斷裂在使用6個月後。


然後花錢買的IBM三年保固也是在買罪受..
工程師 : 這個是人力因素喔,要 NT 6000. 不然你call 客服.

客服 : 你要幫我們工程師想想,他跟你無冤無仇,沒必要可以免費的,卻跟你說要收
錢吧,所以你還是要付錢。

我 : 可以我都是正常使用呀,用過這麼多NB,沒聽說機殼會斷掉的,我又不是當業務
跑來跑去,就只有在家裏,公司用,上下班也都開車呀,為甚麼會斷。
而且這一款在討論區中是有名的會斷裂。

工程師 : 並不是網路說會斷就免費,反正這個就是要付錢。你要不要修?

我 : ...當然不修啦,正常使用都會莫名奇妙斷裂的殼,花6000塊換,還不是會再
斷,這根本是機構設計不良,寄回來吧,我上班要用。

結果送回後,,, 另一端裂開了...這下可不是我弄的,

客服 : 那,請你拍張照片mail 過來好嗎 ?

工程師 : 可不可以請你先拍照給我看看..

我 : .....天哪!!!

工程師 : 我都有事先檢查,其他地方沒有斷裂..

我 : 這下你也知道我的苦衷了吧,你們家產品真的就是" 小心翼翼使用都會斷裂"..

工程師 : .... 無言....

接下來還有一大段後續,,,就算了...一肚子氣。

花了1個月才修好,機器來回了三次....最後沒收錢,倒是電話來回N次,和撥那個難接通的電話,花了我很多時間。

工作用的機器一個月沒得用也就算了,通了無數次的電話的時間,和被稿得超差的心情,遠遠超過那6000塊錢。

而且那些客服和工程師的態度真是讓人一肚子火。


現在,又斷了。
果然我當初的猜測試正確的,沒有花錢去換這個 "難保不會再斷裂" 的機殼。

算是IBM客服厲害啦,這次就不再送修了,就算是免錢,心情也稿得很差..

就拿個膠帶貼著好了。


開會時有人問起,也有個故事好說,就把這段IBM Thinkpa客服的經驗和 Thinkpad 的品質當作是笑話來說吧!

或許我也該反省一下,畢竟IBM不是以前的IBM了,素以強壯著稱的Thinkpad 也大不如前,應該要貼上 "易碎物品,小心使用"。

REMOVE_THIS_LINE: - openembedded

Openembedded 很有趣(?),為了確保你看完config的每一行,在 local.conf 的最後一行加了一個guard:

# EDIT THIS FILE and then remove the line below before using!
REMOVE_THIS_LINE:="${@bb.fatal('Read the comments in your conf/local.conf')}"

要是你沒有將這個(最後一行comment掉),下 bitbake command後,就會出現那一行,error :p

讓我想到以前的一個故事..
有一位研究生論文寫了厚厚一本,口試當天,他帶了一瓶洋酒到試場....

3.15.2007

Project Planing

軟體要配合hardware 的schedule :
  • 每個stage hardware sample 取得的時間
  • 下個stage schematics 送 layout 的時間
A Stage 在確認hardware 電路,
所以在A Stage 到 B Stage 中送layout 之前,Software Focus在 "寫code verify hardware":
  • DM Code - plain C program to test hardware - ATP 中的每個test item
  • OS test program - 需要 OS支援的 component就要在OS中寫測試程式。
B Stage 已經要作"試產"的動作,所以工廠測試程式(DM Code, SMT) 要在B Stage 打件,過爐後Ready。


Software 部份也區分為3類
  • DM Tools
  • OS
  • Application
  • Manufacturing Tools
每一類內容也可以配合harware 區分為A, B , C 三個stage。
  1. 先依照 hardware schedule 的 Sample 取得時間,和下一個stage 送layout,QE 測試前。將每個stage 的起始,結束時間決定好 (Project 的"前置任務" 欄位,可以填入"卡住"的item name )。
  2. 依照各stage 的特性,寫出各類項目在該stage 要完成的項目 (不需要在該stage 完成的可以先不寫)。
  3. 因為 在"1"中,起始與結束時間已經決定,所以工作天也就決定了,依照這個安排細項需要得時間。

細節:
A Stage 中 :

Function Test and software sample 是 取得sample 的時間。
接著一連串的測試項目,software要準備好對應的item。

B Stage 中:

B Stage Start,hardware 送layout,在此之後,不可以再修改電路。
SMT, assembly and delivery 時,ATP 要ready。


Sales 面:
A Stage

Sales 可以要送樣,所以可能要有一些demo 的 prototype AP。



喔,其實,是寫出software developement 的細項。
  1. 寫出所有要作的事 - item。
  2. 依照item 的dependency,標出"前置項目"。
  3. 安排人員,同時依照人員將item 再加入"前置項目"。這樣需要的時間就計算出來了。
  4. check一下時間有沒有meet hardware 各milestone的時間。
    如果沒有..... 就"fine tune"一下 工時,或是將dependency 改一下,讓時間可以meet.....
    ( 所以 是 寫好玩的 ? )

3.14.2007

install XXX.deb , auto upgrade

Debian 真是一個方便的系統...

Etch 中 Openembedded-essential 附的 Monotone 是 3.1 版,
但是 Openembedded 網站的Document 都是3.2 版,
而且剛好3.2 版的command 都不一樣了。

所以要 升級 monotone到3.2,
Monotone網站有提供 3.2 的 Sarge deb,download下來安裝就可以。

本以為要先 uninstall 3.1 的,用 aptitude purge monotone,卻發現這樣會把整個 openembedded-essential 都uninstall。

所以只好直接裝 3.2 sarge deb..
dpkg -i XXXX.deb
然後... 就顯示 .. 升級到 3.3 !
Lucky.
但是monotone 的版本差異還真大,openembedded 附的 database 是0.32版的,所以用0.33版的monotone會出現要migrate 的message。

所以要去download 0.32 版的monotone deb 安裝。

CE Mass Storage 的奇怪現象 ..

使用 Nandflash 的partition (2G)作 USB mass storage。

第一次copy 1.2 G : 10 min.
delete, 再 copy 一次 : 30 min.
delete, 再 copy 一次 : 1 hour !!
delete, 再 copy 一次 : 90 min.
.... 90 min.

Format 後 再copy : 一樣 90 min.
斷電再開 : 一樣 90min.

只有將nandflash 作 "Low level format : 把spare area data 都write 成 0xffff 後,第一次copy,才會有第一次的速度。

本以為是 nandflash driver的問題,所以在 CE explorer 中,用SD Card copy 試試,卻完全沒有這樣的情況,每次都很快。

所以 ? 是 usb mdd 的問題 ? 還是 fal 的問題 ?
mdd 還有source code,fal 就是有名的"沒有source code"的部份了...

喔,這是 CE 5.0

3.13.2007

nandflash readid

因為由nandflash boot的關係,所以nand flash io 的control pin 在boot後都是configur在nandflash ok 的狀態。

第一件事: read chip id. follow datasheet, Command Sets. ReadID 是 1 cycle command, command code = 0x90.

rNFCONT &= ~(1 << 1); // FCE low : enable
rNFCMD = 0x90; // cmd : readid
rNFADDR = 0x00; // address,
while(!(rNFSTAT & (1 <<2))); // wait chip ok.
ID_byte1 = *(volatile unsigned char*)0x4E000010; //Maker Code
lD_byte2 = *(volatile unsigned char*)0x4E000010; //Device Code
ID_byte3 = *(volatile unsigned char*)0x4E000010; // 3rd data
ID_byte4 = *(volatile unsigned char*)0x4E000010; // 4th data
ID_byte5 = *(volatile unsigned char*)0x4E000010; // 5th data
rNFCONT |= 1 << 1;
根據 data sheet,第一個id 是maker code,samsung 的maker code = 0xEC;
第二個是device code,每個chip 不一樣。
3.4.5 可以用來得知該nandflash 的各項property (sector size, block size, chip number,, mlc, slc,,, etc)。

以K9WAG08U1A來看,各ID byte依序是..
  1. EC
  2. D3
  3. 51
  4. 95
  5. 58
在datasheet p 37 (寫在wave diagream 裡.. @_@.. 未甚麼不寫在的一頁 ?)

由id data取得chip property:

InternalChipNumber = 1 << ( iddata[2] & 0x03);
PageSize = 1 << ( iddata[3] & 0x03); // unit : K
BlockSize = 64 * ( 1 << ((iddata[3]>>4) & 0x03)); // unit : K

3.10.2007

taiwan etch mirror

這個sources.list 挺好用的,記一下..

deb http://ftp.tw.debian.org/debian/ etch main contrib non-free
deb-src http://ftp.tw.debian.org/debian/ etch main contrib non-free

deb http://security.debian.org/ etch/updates main contrib non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free

3.09.2007

Some..

天下雜誌:
...造船受景氣波動影響甚巨,依據過去三十年全球航運發展的趨勢,貨櫃船受景氣波動的影響,遠較散裝貨輪為低。

而中船收入七、八成以上來自造船,若能經由集中精力建造貨櫃船,因為學習曲線的縮短以及生產流程的成本降低,對於營收的改善效果最為顯著。...
就因為貨櫃輪受景氣波動較小?
可能還是要考慮一下貨櫃船與其他船的是市場大小...

3.08.2007

Memo : TidyWiki 的Code area

要用

//{{{
... codes here
//}}}
包起來..

3.05.2007

New TomTom Go 715 with SIM slot

新的TomTomGo : 715 有SIM Card Slot. 操作手冊上也有GSM的相關說明.
這部份的功能很奇怪 -- 可以收到Office 的"Orders",user可以從TomTomGo上列出所有的"Order",選一個來 ?
Start Navigation from a "Order"
可以send message back to office.

看起來很像是計程車分派系統...

但是這個要配合middleware和backend server吧?

企業市場 ?

3.04.2007

症狀紀錄

每次天氣變化 (冷變熱,熱變冷..)就會來一次..
  1. 鼻子有點怪怪的...
  2. 頭開始痛 (眉心)
  3. 眼睛內部開始痛
  4. 頭痛加深..感覺是鼻子的根部,眼睛的根部那個地方有點腫..
  5. 頭痛..有時會痛到嘔吐
  6. 有時會發冷 -- 配合鼻子根部不舒服的動作。
  7. 拉肚子。
1 - 8 的步驟約兩天後結束。
結束後就像沒事一樣。
  1. 熱敷眼睛
  2. 食鹽水通鼻子
  3. 福茂熱飲
  4. 洗澡
可以減輕症狀。

大概是對氣壓變化過敏吧...