Go Down

Topic: Contributing Boards and Libraries in 1.6.2 (Read 701 times) previous topic - next topic

modulo

The new board and library managers look pretty cool. Is there documentation somewhere on how to contribute boards and libraries using them?

If not, I have a few questions that maybe someone can help me with? Does Arduino curate the list of boards and libraries, or is it more like PyPI where people can add packages and release new versions themselves as needed?

Also I see that libraries can be installed from a zip. Is there any way to install a board support package through the UI in a similar way? I'm working on a new arduino compatible board and would like to make as easy as possible for people.

Thanks in advance,
Erin

doggenj

#1
Mar 30, 2015, 10:54 am Last Edit: Mar 30, 2015, 11:25 am by doggenj Reason: added links
I was wondering about that too.
After some searching (and reading the source of the Arduino IDE), I came up with the following:
This file contains the library list.

I think it would be recommended to use semantic versioning 2.0 for your own libraries if you want them in that list:

This code was only added to the Arduino IDE a couple of days ago. (I suppose some info on contributing libraries will be added in a couple of days/weeks)

I will send the author of the library manager a e-mail to ask him what the plans for the near future are.



doggenj

#2
Mar 30, 2015, 11:07 am Last Edit: Mar 30, 2015, 11:07 am by doggenj
Mail to author:
Hello Federico,
To get started, nice work on the library manager!
I have seen on GitHub that you have been working on the Arduino library manager recently.
Could you answer the questions on the following thread please?

I think that it would be a good idea to write some info/guidelines about adding contributed libraries to the library manager.
I am not really sure what the best option would be at this time.
You probably have been thinking about this, but my suggestions would be: (in order of preference)

Best regards,
Jeroen

rogerClark

Guys


I've also just noticed the new Boards Manager feature

Actually what they have done is moved where the compilors are stored on disk, which will break any Third party boards, which rely on the compilors in the traditional location.


I took a look at the package file (JSON) that the Boards Manager uses, and I attempted to manually update the file to get it to download and install my hardware files set for the STM32 boards, (which I manage on GitHub)

But the Boards manager, actively downloads the file every time you open the Boards Manager window

So its not possible to add your own entries, and looking at the code, it only looks for one file to contain all the data

What we need is a way to add an external source to the list of sources it downloads the boards data package from

I've forked the IDE to my github account and I'm now downloading my clone to my local machine

and I'm going to look at options about how this could be achieved

e.g. a bit like adding an untrusted source to a unix package manager


Is anyone else working on this ??
Freelance developer and IT consultant
www.rogerclark.net

pYro_65

e.g. a bit like adding an untrusted source to a unix package manager
This would be a good addition I think, then people like me with lots of libraries could provide a single file, even hosted online for regularly updated libs.

Hopefully dependencies are downloaded too, haven't had a good look yet. It would be very handy especially once nested includes are supported [#2792].

Probably worth starting a post in the mailing list if you are really keen to do this. They might possibly be working on something similar already.

https://groups.google.com/a/arduino.cc/forum/?fromgroups#!forum/developers

rogerClark

@pYro_65

I Just posted to the developers mailing list (I was already subscribed) and I also posted an issue about the Boards manager



I'm involved with 2 different projects that both use 3rd party libraries

So if Arduino.lcc won't make this change I suggest we just use a copy of Arduino from another source

At the moment the guys at github.com/esp8266/arduino are the most likely to be able to make the change required as they also need it and have already done a custom build to install the XTensia compilor that they need

Hence the Boards manager change would fix a lot of things for them as well

I hope this doesnt lead to a breakup of Arduino.cc's hold on the IDE just because of internal battles
Freelance developer and IT consultant
www.rogerclark.net

Federico Fissore

Trying not to repeat the same answer, here is a first comment git pull https://groups.google.com/a/arduino.cc/d/msg/developers/E9ifjXwV2w0/WFkYnNto8qwJ

long story short: we would like to but we need to make up our minds
Have you upgraded the Yún? If you've just got it, then ***it needs to be upgraded!*** Check out the tutorial at http://is.gd/1jUPNF

rogerClark

@Federico Fissore

Thanks for all your replies to the various places this has been mentioned

Hopefully 1.6.3 or 1.6.4 can fully resolve this issue.

Cheers

Roger
Freelance developer and IT consultant
www.rogerclark.net

rogerClark

Update.

If anyone wants to play with adding their own board in 1.6.3

On widows, you edit the file C:\Program Files (x86)\Arduino\arduino.l4j.ini and add in an extra line which specifies the address of the package_index.json file


https://github.com/rogerclarkmelbourne/Arduino_STM32/issues/39

e.g

So the ini file could look like this

Code: [Select]
-Xms128M
-Xmx512M
-DPACKAGE_INDEX_URL=http://www.rogerclark.net/downloads/package_index.json


Note. For testing all, I did was change the name "Arduino" to "Super-Arduino" just to confirm it works

Next step would be to build a PHP page to read and decode the original file from arduino.cc and add in additional packages data, before re-encoding to json
Freelance developer and IT consultant
www.rogerclark.net

doggenj

Federice wrote a faq here: https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ

How it works:
  • Add your library to a list
  • A script auto adds the library to Arduino
  • Updates to libraries are also automatically processed

ghlawrence2000

Hi all,

Didn't see the point opening a new thread when this one is perfectly relevant.

I wonder if someone would mind holding my hand while we have a walk through how to get a library into library manager please?

I have created my 'library.properties' file and placed it in the root of the library folder.

The first line of my properties file is name=UTFT_SdRaw but when I go for Manage Libraries... I get the error
Quote
Invalid library found in F:\Arduino\libraries\UTFT_SdRaw: Missing 'name' from library
I am using IDE version 1.6.4.

Any ideas please?

Regards,

Graham
UTFT_SdRaw now included in library manager!! ;)

pYro_65

If its a UTF-8 document, make sure it does not include the byte order mark (BOM)

Underscores work fine in the latest build (don't have 1.6.4 to test) however you could try replacing the underscore with a space (not the lib or folder, just in the library.properties).

ghlawrence2000

Thanks pYro_65, that was the problem, converted to UTF-8 without BOM, now works fine.

Regards,

Graham

UTFT_SdRaw now included in library manager!! ;)

Go Up