發表文章

目前顯示的是 2017的文章

什麼patch?要怎麼用?

今天收到一個*.patch的檔案, 因為之前廠商有一個範例程式有些問題。 他們做了一些修正。 我本以為他們會把整包改好的程式丟過來, 沒想到是用patch! 如果是Linux/Unix的環境, 本來就是常用patch來做程式的異動, 但他們的環境一直都是在Windows上面的。 這下子真不知如何做了, 找了一下, 發現: https://stackoverflow.com/questions/517257/how-do-i-apply-a-diff-patch-on-windows 有人介紹在Windows可以用Python工具來做: pip install patch python -m patch 於是照做: 先把*.patch檔copy到原先的程式, projects目錄的上一層. 因為我在.patch檔看到如下的內容: diff --git a/projects/target_apps/ble_examples/ble_app_barebone/src/user_barebone.c 想來是用相對目錄, 就如此做了, 也不知有沒有必要如此? 然後下如下指令: G:\DA14585_SDK\6.0.4.326>python -m patch 20171120_0_ancs.patch 沒有出現任何成功或失敗的訊息! 用人工去檢查, 結果是成功的做好了!

Myth about ADXL345 breakout

圖片
  This is my experience about buying AD's ADXL345 accelerometer breakout board.   There are so many breakout boards of ADXL345 sold in the market (or shopping store). Some are very cheap and some are very expensive. Price ranges from NT$ 65 to NT$799. Which one should you buy? What's the difference between the cheap one and expensive one?   I choose to take adventure and buy the cheaper breakout, one for NT$ 65 and one for NT$ 85. And the result, the NT$ 65 one can't work! But the NT$ 85 one work perfectly.   As the picture shows, this ADXL345 breakout board work! The acceleration reading values can be read out. At first I use ST's Nucleo-F401RE development board to connect this NT$ 85 ADXL345 breakout board via SPI interface. And in the MBED online compile web site, I import the ADXL345_HelloWorld sample program to read out acceleration readings.   The first time I run that program, nothing can be readout. Strange! Check the schematic (show below), I fou

升級到MacOS High Sierra? ftp會不見哦!

今天忍不住了,還是升級到MacOS High Sierra 果然沒事找事,一升級就會出問題! 居然終端機裡的ftp不見了,當下心想,又是Apple自己改的! 找了一下,果然如此: https://discussions.apple.com/thread/8093031?start=0&tstart=0 那怎麼辦呢? 上面討論串的最後,有朋友提了一個方法,就是安裝LFTP來頂著用: $ brew install inetutils will install inetutils from GNU that includes /usr/local/bin/ftp $ which ftp /usr/local/bin/ftp $ ftp --version ftp (GNU inetutils) 1.9.4 Copyright (C) 2015 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later < http://gnu.org/licenses/gpl.html >. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by many authors. 要先安裝brew: https://brew.sh/ $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 順利裝好。 然後下 $ brew install inetutils 結果: Error: Your Xcode (8.2) is too outdated. Please update to Xcode 9.1 (or delete it). Xcode can be updated from th

關於ADXL345兩三事

圖片
  之前想找顆G-Sensor玩, 不知怎麼地就找到ADXL345,也許看到網路上很多人在玩ADXL345吧!不過,這顆的封裝對手藝不好的人來說,要自己焊接腳位出來有點困難!還是去找找breakout, 沒錯吧!果然很多廠商都有在賣做好的breakout, 省了我們很多時間!   接下來是現實考量,價錢如何?以這個網站來說,買一顆晶片要價台幣80塊錢。我想那breakout不就更貴了嗎?其實不然,只看單純只有分接ADXL345晶片的板子,最便宜的只要台幣65塊,再貴一點的,也只要台幣85塊。當然,貴的也有,那些國外名廠DFROBOT 500塊,Adafruit 750塊,SparkFun 799元。那到底要選那個呢?   我沒什麼錢,所以選了便宜的,可是又怕有問題,就買了65塊和85塊的各一個。果然,一分錢一分貨!那個65元的,我怎麼試,到現在還是不能用!至於,85塊的,還不錯用哦!   看圖,可以正常的讀取加速度值。ADXL345可以使用I2C或者SPI界面來與MCU溝通,我先用STM32F401這張意法半導體做的ARM Cortex M4的板子來連接,在MBED的平台上,已經有一個很完整的ADXL345_HelloWorld範例程式(使用SPI界面),可以直接由online compiler滙入,或者到此網址:    ADXL345-Accelerometer/ 但是這張板子剛開始接上時,也不會動,這很奇特,沒辦法,便宜的板子,說明文件就是比較差了一些! 如果買那些貴的板子,特別是SparkFun的,可以看到他們的網站有很詳細的文件,如何接線,如何寫程式,全都清清楚楚。不過,這樣好像也少了一些樂趣!   還好這板子也附上了電路圖: 85元便宜ADXL345板子電路圖 唉,仔細看了一下,SDO(pin 12)居然已經接地了,難怪訊號都不對了,還好只要把下拉電阻R4移除就可以解決了。心一橫,拿起焊槍,給他燙下去,再試一下,果然就ok了! 這個時候,在網路上找資料時,看到有人提到說: 這種便宜的板子只能接I2C,不像SparkFun的板子可以接SPI又可以接I2C。我有點被困惑了?明明我現在就在用SPI和這張板子連呀,怎麼會說不行呢?   最近得空,想想人家也許是用Arduino的板子,而不是用ARM Cortex系列

加大VirtualBox的虛硬擬碟 + Gparted Live CD

圖片
前幾天用VirtualBox裝了一台Ubuntu虛擬機來做實驗, 安裝的時候也不知要用多大硬碟空間, 就隨便給了10G的大小。 也沒選擇LVM, 後來發現其中4G被分給Page使用, 實際上, 可用的只有6G, 很快就不够了。 當然可以重裝啦! 但如果可以把虛硬擬碟加大, 那就更好啦! VirtualBox可以這樣做: https://forums.virtualbox.org/viewtopic.php?f=35&t=50661 1. 用VBoxManager modifyhd --resize 註: VBoxManager執行檔可能要自己找一下目錄位置 2. download Gparted live CD的ISO檔, ( http://gparted.sourceforge.net/download.php/ ) 掛到虛擬機的CD去, 重開機 會看到這個可愛的工具, 然後就可以用滑鼠去把磁區拉大就好了, 嘔! 可能要先把其他磁區移到後面位置, 不過, 這就是小事啦! 我試用後, 成功的把虛硬擬碟空間加大了! 真是好用的工具!