W!o+ 的《小伶鼬工坊演義》︰ 一窺全豹之系統設計《決斷》

來知德‧《周易集註》

䷀ 乾下乾上

乾,元亨利貞。

乾,卦名。元亨利貞者,文王所繫之辭,以斷一卦之吉凶,所謂彖辭也。乾者健也,陽主於動,動而有常,其動不息,非至健不能。奇者陽之數,天者陽之體,健者陽之性,如火性熱水性寒也。六畫皆奇,則純陽而至健矣,故不言天而言乾也。元大,亨通,利宜,貞正而固也。元亨者,天道之本然,數也。利貞者,人事之當然,理也。易經理數不相離,因乾道陽明純粹,無纖毫陰柔之私,惟天與聖人足以當之,所以斷其必大亨也。故數當大亨而必以貞處之,方與乾道相合。若其不貞,少有人欲之私,則人事之當然者廢,又安能元亨乎。故文王言,筮得此卦者大亨而宜於正固,此則聖人作易,開物成務,冒天下之道,教人以反身修省之切要也。學者能於此四字潛心焉,傳心之要不外是矣。此文王占卜所繫之辭,不可即指為四德。至孔子文言,純以義理論,方指為四德也。蓋占卜,不論天子,不論庶人,皆宜於貞,若即以為四德,失文王立教之意矣 。

……

九四,或躍在淵,无咎。

或者欲進未定之辭,非猶豫狐疑也。或躍在淵者,欲躍猶在淵也。九為陽,陽動故言躍。四為陰,陰虛故象淵。此爻變巽為進退,為不果。又四多懼,故或躍在淵。

九四以陽居陰,陽則志于進,陰則不果于進,居上之下,當改革之際,欲進未定之時也,故有或躍在淵之象。占者能隨時進退,斯无咎矣。

───

 

雖然

KuoE0-s-Dots/2013-11-24-arduino-error-about-robot-control-when-use-ino-to-compile.md

文本的說法︰

發現當使用 Ino 進行編譯時都會出現以下的編譯錯誤訊息:

……

其實不太確定是什麼問題,目前也沒使用到該函式庫,我猜 Ino 可能會莫名跑去編譯沒用到的函式庫,然後 Arduino 官方提供的 Robot_Control 這個函式庫可能也有問題。

一個暫時的解決方法是,直接把該函式庫刪除即可!

───

 

令人憂虞。若考之於其後之

Arduino Software Release Notes

ARDUINO 1.0.6 – 2014.09.16

……

[libraries]
* Robot_Control: removed duplicated SPI and Wire (Xun Yang)
* Robot_Control: fixed issue on motors being opposite (Xun Yang)
* Robot_Control: updated turning algorithm (Xun Yang)
* Esplora: added reading form Tinkerkit inputs
* SoftwareSerial: Fix idle level when initializing with inverted logic (Jens-Christian Skibakk)
* fixed a bunch of examples

───

 

當可不必太過慮的耶!!因此敢在知道『 Arduino IDE 』與『 ino 』及『 GrovePi/Firmware/ 』上『編譯』之『結果』比較並不『全同 』時,竟作此『決斷』,一躍而進乎??

# GrovePi 韌體預設的 I2C Slave 地址是 0x04
pi@raspberrypi ~ cd GrovePi-Test/  # 將 I2C Slave 地址改為 0x05 pi@raspberrypi ~/GrovePi-Test cd src/
pi@raspberrypi ~/GrovePi-Test/src nano grove_pi_v1_2_5.ino  pi@raspberrypi ~/GrovePi-Test/src cd ..

# 已刪除 Robot_Control 程式庫。編譯成功。
pi@raspberrypi ~/GrovePi-Test ino build Searching for Board description file (boards.txt) ... /usr/share/arduino/hardware/arduino/boards.txt Searching for Arduino lib version file (version.txt) ... /usr/share/arduino/lib/version.txt Detecting Arduino software version ...  1.0.5 (2:1.0.5+dfsg2-4) Searching for Arduino core library ... /usr/share/arduino/hardware/arduino/cores/arduino Searching for Arduino standard libraries ... /usr/share/arduino/libraries Searching for Arduino variants directory ... /usr/share/arduino/hardware/arduino/variants Searching for make ... /usr/share/arduino/hardware/tools/avr/bin/make Searching for avr-gcc ... /usr/share/arduino/hardware/tools/avr/bin/avr-gcc Searching for avr-g++ ... /usr/share/arduino/hardware/tools/avr/bin/avr-g++ Searching for avr-ar ... /usr/share/arduino/hardware/tools/avr/bin/avr-ar Searching for avr-objcopy ... /usr/share/arduino/hardware/tools/avr/bin/avr-objcopy src/grove_pi_v1_2_5.ino Searching for Arduino lib version file (version.txt) ... /usr/share/arduino/lib/version.txt Detecting Arduino software version ...  1.0.5 (2:1.0.5+dfsg2-4) Scanning dependencies of src Scanning dependencies of arduino Scanning dependencies of Wire src/DHT.cpp src/DS1307.cpp src/Grove_LED_Bar.cpp src/TimerOne.cpp src/ChainableLED.cpp src/TM1637.cpp src/Encoder.cpp src/IRSendRev.cpp src/MMA7660.cpp src/grove_pi_v1_2_5.cpp Wire/utility/twi.c Wire/Wire.cpp Linking libWire.a arduino/avr-libc/malloc.c arduino/avr-libc/realloc.c arduino/WInterrupts.c arduino/wiring_pulse.c arduino/wiring.c arduino/wiring_analog.c arduino/wiring_shift.c arduino/wiring_digital.c arduino/HardwareSerial.cpp arduino/HID.cpp arduino/WMath.cpp arduino/WString.cpp arduino/new.cpp arduino/Stream.cpp arduino/USBCore.cpp arduino/main.cpp arduino/Print.cpp arduino/Tone.cpp arduino/CDC.cpp arduino/IPAddress.cpp Linking libarduino.a Linking firmware.elf Converting to firmware.hex  # 依韌體上傳文件,燒錄。 pi@raspberrypi ~/GrovePi-Test avrdude -c gpio -p m328p -U flash:w:.build/uno/firmware.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file ".build/uno/firmware.hex"
avrdude: input file .build/uno/firmware.hex auto detected as Intel Hex
avrdude: writing flash (16122 bytes):

Writing | ################################################## | 100% 8.84s

avrdude: 16122 bytes of flash written
avrdude: verifying flash memory against .build/uno/firmware.hex:
avrdude: load data flash data from input file .build/uno/firmware.hex:
avrdude: input file .build/uno/firmware.hex auto detected as Intel Hex
avrdude: input file .build/uno/firmware.hex contains 16122 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 8.16s

avrdude: verifying ...
avrdude: 16122 bytes of flash verified

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

pi@raspberrypi ~/GrovePi-Test cd   # 驗證韌體。 pi@raspberrypi ~ i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          03 -- 05 -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- 3e -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- 62 -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
pi@raspberrypi ~ $ 

 

但恐來者以為作者『暴虎馮河』,特假借

《列子》‧說符篇

……

楊子之鄰人亡羊,既率其黨,又請楊子之豎追之。楊子曰:「嘻!亡一羊,何追者之衆?」鄰人曰:「多歧路。」既反,問:「獲羊乎?」曰:「亡之矣。」曰:「奚亡之?」曰:「歧路之中又有歧焉,吾不知所之,所以反也。」楊子戚然變容,不言者移時,不笑者竟日。門人怪之,請曰:「羊,賤畜;又非夫子之有,而損言笑者,何哉?」楊子不答。門人不獲所命。弟子孟孫陽出,以告心都子。心都子他日與孟孫陽偕入,而問曰:「昔有昆弟三人,游齊魯之間,同師而學,進仁義之道而歸。其父曰:『仁義之道若何?』伯曰:『仁義使我愛身而後名。』仲曰:『仁義使我殺身以成名。』叔曰:『仁義使我身名並全。』彼三術相反,而同出於儒。孰是孰非邪?」楊子曰:「人有濱河而居者,習於水,勇於泅,操舟鬻渡,利供百口。裹糧就學者成徒,而溺死者幾半。本學泅,不學溺,而利害如此。若以為孰是孰非?」心都子嘿然而出。孟孫陽讓之曰:「何吾子問之迂,夫子答之僻?吾惑愈甚。」心都子曰:「大道以多歧亡羊,學者以多方喪生。學非本不同,非本不一,而末異若是。唯歸同反一,為亡得喪。子長先生之門,習先生之道,而不達先生之況也,哀哉!」

───

 

之『歧路亡羊』作為分辨。

終究『除錯』!!『試誤』??正是『學習者』必經的『道路』。