2017-04-18 190 views
0

我想知道如何使用Github開發Arduino庫,以便在安裝.ZIP後直接通過Arduino Library識別庫。如何使用Github開發Arduino庫

我知道Git和我知道(有點)的Arduino和似乎他的庫文件結構是如何的Arduino使其非常難以跟蹤使用GitHub上的變化而不復制周圍所有的時間文件。

在Arduino方面,我的庫文件應該駐留在Arduino規定的以下結構中,以便Arduino IDE可以識別它。

My Documents > Arduino > libraries > Foo_lib 

如果我想使用GitHub來跟蹤這個文件夾,我需要給它一個存儲庫名稱。這樣做,並嘗試下載/克隆後回跟蹤項目,我的電腦我的一千途徑之一,像下面,

  1. 我點GitHub的軟件My Documents > Arduino > libraries >
  2. 出版社克隆。

不過,我結束了以下文件夾結構

My Documents > Arduino > libraries > +GitHub_Repository_Name+ >Foo_lib 

而現在,因爲我的Foo_lib沒有直接的libraries文件夾下,Arduino的IDE會認不出來了。

對於第三方庫我一直做下載並手動將庫複製到libraries文件夾,但是,這是我正在開發自己的庫的一項持續工作,所以我不想進行更改,然後將更改複製到跟蹤的文件夾。 (不,這是很難,但它殺死我TBH :)

在另一邊,如果我選擇了永久移動Foo_lib文件夾克隆後,現在我的README文件留在一個文件夾和Git怪胎水平那一堆文件被刪除,整個事情變得一團糟。

有沒有建議如何做到這一點從那裏,誰開發Arduino庫?

回答

0

您需要將庫放入存儲庫的根目錄。這不僅將解決您的問題,使用與Arduino的IDE存儲庫,它會提供了兩個額外的好處:

  • 讓人們在使用克隆或下載從GitHub下載資料庫>下載ZIP按鈕然後通過草圖>包含庫>添加.ZIP庫...來安裝該庫,該庫要求庫位於.zip文件的根目錄中。
  • 允許您提交您的庫以包含在Arduino庫管理器索引中,該索引也需要此文件夾結構。

請注意,這並不一定意味着您的庫的源文件必須位於存儲庫的根目錄中。如果你不關心Arduino IDE 1.0.x的向後兼容性,你可以使用「1。5庫格式」,它允許你把庫源文件在名爲src子文件夾:

https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification#source-code

所以繼續你只需要重組資源庫文件夾結構,你的克隆,提交更改,然後推。他們

這裏是如何的Arduino結構的 「1.5庫格式」 庫庫的一個例子:

https://github.com/arduino-libraries/Ethernet

如您所見,該庫位於存儲庫的根目錄中。

+0

downvoter會照顧這個答案給我一些建設性的批評嗎?我在GitHub上託管了多個Arduino庫,本地克隆位於'{sketchbook文件夾} /庫'文件夾中,如果您擁有正確的資源庫文件夾結構,則它工作良好。 – per1234

+0

我猜一些穿越者心情不好。我會嘗試你的建議並回復你,但是從最初的閱讀中我猜你建議將我的Repo命名爲'Foo_lib',然後將lib'cpp'和'.h'文件放在根音上合理。 – Mehrad

+1

我不在乎名譽點,如果可以的話,我只想提高我的答案。如果不想將源文件放在根目錄中,請注意我關於src子文件夾的部分答案。我把它們放到了我的倉庫的根目錄中,因爲仍然有人在使用Arduino IDE 1.0.x,並且我喜歡支持向後兼容性,但我認爲它們變得不那麼重要,因爲它們中的更多轉換到更新的IDE版本。 – per1234