2017/3/25

【Focus】五千公里保養工單

由於車子比較少使用里程累積速度較慢,滿半年也不過多了五千公里的里程,不然根據手冊每一萬公里再回廠保養即可。
這次回廠一樣就讓接待直接帶出保養套餐,很好說話的我還是沒能成功ㄠ到折扣優惠,最後得到一瓶全效機油添加劑,看在接待跟技師都很熱心幫忙處理車子就不計較那點折扣了,這次仍是指定吳振毅技師幫忙,沒什麼考量想法,第一次找他是因為論壇車友鼎力推薦,這次還回去找他就是第一次過程覺得還不錯就繼續讓他服務囉,畢竟固定技師保養以後車有什麼怪毛病應該可以得到比較多的用心吧...!?

2017/3/23

【Focus】一千公里保養工單

在FSC & Mobile論壇上翻了一堆技師推薦文,最後決定回到台中九和復興廠找吳振毅技師幫忙保養,第一次進廠保養全程跟著一起看底盤與所有的保養工序,也問了很多關於開車與養車觀念,吳技師滿建談的,稍微問個開頭就可以一路一直聊下去,比較麻煩的是指定吳振毅技師太熱門了,至少需要提早兩個星期預約比較不會撲空!

2016/4/22

【LeetCode 231】Power of Two

LeetCode 231: Power of Two
Question: Given an integer, write a function to determine if it is a power of two.

1
2
3
bool isPowerOfTwo(int n) {

}

Solution

1
2
3
bool isPowerOfTwo(int n) {
    return n > 0 && (n & (n - 1)) == 0;
}

解析
在二進位中,只有出現一次1即為2的冪次方
0001 => 1
0010 => 2
0100 => 4
1000 => 8
因此可用bit operator判斷完成題目要求
(n & (n -1)) == 0
描述式採用進位特性,來消除最低位的1,執行一次後若數值為0則表示只有一個1,因此可以判斷為2的冪次
考量題目框架帶入的參數值是帶有正負號的int型別,所以要多判斷數值是否大於0

2016/2/25

【RaspberryPi】開機自動登入UART終端機

新版的Raspbian Jessie系統除了將Kernel升級到4.1也採用了systemd,因此若要設定自動登入必須改變方法
  1. 把設定檔放到/etc/systemd/system目錄下
    sudo cp /lib/systemd/system/serial-getty@.service /etc/systemd/system/serial-getty@ttyAMA0.service
    
  2. 編輯設定檔內容
    sudo vi /etc/systemd/system/serial-getty@ttyAMA0.service
    
  3. 找到下面這行
    ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM
    
  4. 加入--autologin pi即可
    ExecStart=-/sbin/agetty --autologin pi --keep-baud 115200,38400,9600 %I $TERM
    
  5. 若要自動登入為root則改成--autologin root
    ExecStart=-/sbin/agetty --autologin root --keep-baud 115200,38400,9600 %I $TERM
    
Keyword:樹莓派、RPi、Auto Login

2016/1/12

Cross Compile For netperf


  1. 下載source code (官網: http://www.netperf.org/)
    $ wget ftp://ftp.netperf.org/netperf/netperf-2.7.0.tar.gz
    
  2. 解壓縮套件
    $ tar zxvf netperf-2.7.0.tar.gz
    
  3. 進入source code目錄執行configure配置編譯選項
    $ ./configure CC=/opt/ti-am335x-linux-devkit-08.00.00.00/bin/arm-linux-gnueabihf-gcc --host arm --config-cache
    
  4. 若有出現下列錯誤,則執行執行步驟5,否則直接執行步驟6進行編譯即可
    checking for sys/socket.h... (cached) yes
    checking types of arguments for select... int,fd_set *,struct timeval *
    checking whether setpgrp takes no argument... configure: error: cannot check setpgrp when cross compiling
    
  5. 修正setpgrp錯誤
    $ echo "ac_cv_func_setpgrp_void=yes" > config.cache
    
  6. 執行編譯
    $ make
    
  7. 編譯成功後可在src目錄下看到netperf與netserver,即可傳到目標機台上進行驗證

2016/1/5

Segmentation fault:FTP傳輸型態在搞鬼

首先看下面這段簡單的Hello World程式碼,按理說編譯完直接丟到目標機台上執行應該不會有什麼問題才對。
但卻一直發生Segmentation fault的錯誤提示
後來發現是因為使用FileZilla傳輸造成的,FileZilla有個設定值:傳輸型態,預設為自動,將這設定值改為二進位檔案即可解決此問題。

2015/9/7

iw指令連線操作記錄

以下範例假定無線網卡裝置名稱為wlan0(通常會是這名字),若不知道可以透過ifconfig -a指令查詢無線網卡裝置名稱。

確認無線裝置連線狀態
# iw wlan0 link
Not connected.
如果沒有任何連線,則會顯示Not connected,否則會顯示連線的相關資訊

掃描鄰近的wifi廣播訊號
# iw wlan0 scan

連線到WPA/WPA2加密的無線網路
# wpa_passphrase APPLE >> /tmp/wifi.conf
1234509876
APPLE是無線網路的SSID資訊,輸入上述指令會停住等待使用者輸入連線密碼,1234509876即為設定的密碼,輸入完後按下Enter即會自動產生連線相關文件
# reading passphrase from stdin
network={
 ssid="APPLE"
 #psk="1234509876"
 psk=a36065d029db325508281a51a19f8fff1c389c11129a74b6c6d3a25200cae713
}
連線指令
# wpa_supplicant -B -i wlan0 -c /tmp/wifi.conf
若沒跳出任何錯誤訊息應該就完成連線了
這時可以查詢連線狀態
# iw wlan0 link
Connected to 36:a3:95:d7:a7:55 (on wlan0)
 SSID: APPLE
 freq: 2437
 RX: 59639 bytes (440 packets)
 TX: 12188 bytes (76 packets)
 signal: -58 dBm
 tx bitrate: 65.0 MBit/s MCS 7

 bss flags: short-preamble short-slot-time
 dtim period: 3
 beacon int: 100

要求DHCP伺服器配發動態IP
# dhclient wlan0