2017-04-18 192 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