古人智慧

Just Do it!
上士聞道,勤而行之;中士聞道,若存若亡;下士聞道,大笑之。不笑,不足以爲道。
~ 道德經 41

「實現夢想不是追逐成功,而是在於賦予生命意義,人生中的每個決定與聲音都有其重要含義。」"The key to realizing a dream is to focus not on success but on significance — and then even the small steps and little victories along your path will take on greater meaning."
電視名人-歐普拉·溫芙蕾(OPRAH WINFREY)

搜尋此網誌

Translation

2018年5月13日 星期日

[母親節] 西瓜盆花~~

2018母親節這天,老大一早人不見蛋,應該會女友了。。。
晚上抱回這一盆西瓜裝一堆花,只有他老媽才會開心吧~~~

看看成果

2018年5月6日 星期日

[Altera Cyclone IV] 開發板 Quartus II & ModelSim installation

這幾天整理工作室,將工具、零件、Arduino、ESP8266等分類與歸位。
在角落發現這片FPGA開發板,估計應該是3年多前買的。。。
上網找相關資料,現在AI領域已經不再以GPU爲重點。FPGAASIC將引領風潮~~~
嗯,看來要再把這片開發板拿來深入學習。。。。
在網上查到資料,Intel在2015將Altera併購,而且開發軟件工具QuartusII已經升級到17.1. 立馬下載Linux的版本並安裝到我Ubuntu16.04 LTS 64bit系統。這套開發軟件包約7GB,我花了將近2小時下載,安裝過程算是順利。
當QuartusII在我Ubuntu跑起來,真是感動阿。。。馬上把點亮LED的範例輸入並compile成功!正當陶醉時,準備把code下載到Cyclone IV卻發現認不到USB的下載器!!!
還好網上神人多,Google就可以找到方法,記錄如下:

lsusb

cd /etc/udev/rules.d

sudo nano 51-usbblaster.rules
把這行輸入並存檔

ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="666"
然後下指令建立這USB下載器的node

sudo udevadm control --reload-rules
再來觀察log確定USB下載器是否正確被load

dmesg | tail
因爲沒及時將訊息存下,無法分享。
當一切都OK,準備學習更多Verilog!
但是,過程發現一個很好用的工具ModelSim竟然無法被啓動,終於花了2天找到解決方案,這問題是發生在這套ModelSim是用32bits環境,但是我Ubuntu是64bits,缺了一些32bits的library,只要裝好一切OK,太帥了!!!
ModelSim需要的32bits安裝

sudo apt-get install libc6:i386 libX11.so.6:i386 libxext6:i386 libxft2:i386 lib32ncurses5 libstdc++6:i386
如果發生source code的字型很小,那就要用這個方式解決,因爲在menu bar找不到設定。
Modelsim screenshot
I ran into this too in Ubuntu 16.04 LTS with modelsim 10.5 ASE. I fixed it as follows:

Open ~/.modelsim (use "nano ~/.modelsim" in terminal)
Find: PrefDefault = ... textFontV2 {Verdana 12} (the name of the font may differ)
Change 12 to -12, so it will looks like this: textFontV2 {Verdana -12}
Save ~/.modelsim (Ctrl+O and then Enter)
Reopen modelsim

2018年5月2日 星期三

[iRobot] Roomba 860 UART connect test

2年前家裡買這台掃地機iRobot Roomba 860

開始使用時覺得新鮮,但是總覺得他跑的路徑都怪怪的,不是很有效率與邏輯。However,這幾年就過了沒想這麼多。今天,女主人反映860的邊刷斷了,就是這個

《800系列的邊刷》
看來只能買新的,我就在想這台機器是否有機會升級韌體。Google很多資訊似乎需要買一台Firmware 升級器 OSMO,仔細看了一下,這版號是2012-08-22-1754!!! 似乎很舊了~~
但是,我這台860到底Firmware版號是多少? 如何check?
好問題,開始動手解決問題。。。

資料搜集

1.iRobot有無特殊接口?
2.如果有,要如何讀取?
資料顯示,iRobot在面板上有個隱藏的接口,在把手下面,有個橡皮蓋打開就出現。

《翻開把手》

《翻開橡皮蓋》

《細部觀察接口》

工具與設備

1.PC
2.Uart轉USB
3.單芯線

《Uart轉USB》

實驗過程

找到接口定義後分析,這接口應該是UART(串口),就依定義把先接好,如下圖。
因為找不到這種特殊接頭,雖然可以用PS/2接頭改造,但是我手上還是沒這種接頭,只好用克難式用單芯線來取代。

《用單芯線來接》

《插入接頭剛好》
當線接好之後,把Uart-USB插入PC,打開Uart terminal設定
Baudrate: 115200
Data bits: 8
Parity: None
Stop bits: 1
Flow control: None
然後連上Uart port,按下iRobot中間的啟動鍵,可以從Terminal看到開機訊息如下:

看來,我這台Firmware版本是比較新,應該不需要升級。

後續

其實開可以下命令給iRobot,我查到資料是有一份iRobot® Roomba 500 Open Interface (OI) Specification,有寫Python code透過USB下command,這部分下次有空再分享。