Arduino Library downloader

Will you release the source-code of your modified codeblocks?
And what is about the PHP-Backend to manage the libraries?

It is always good to have some choices but i think there is already a official IDE in development using Qt.

Up to now, all custom features I added is by writing wizard scripts, and pre-configuring some IDE settings, so it's naturally open-source and all can be found in my distribution.
It's a wonderful idea to have a backend that allows many contributors, including users and vendors, to maintain the libraries online.

beo6:
I looked at how to develop a codeblocks plugin. But i can not even compile the hello world plugin. Possible because i use wxWidgets from the SVN trunk and codeblocks is not easy to compile with wxWidgets 2.9.
Or do you want to integrate the tool differently?
I could look further in plugin-development for codeblocks.

I started a new post disucssing about the possbilities and ways to integrate Ardulibrary into CodeBlocks. So let's continue there.

Great project.

@Paul great work with your site. How about adding an xml file to your web root that describes each library in the same or similar way to @beo6 xml system. Then we would simply need a config file to determine what sites can be used for xml configs, this will allow multiple sites to host different sets of libraries.

We just need something like this to be downloaded from a single repository point?

The links above are examples

I could probably write a script to generate xml.

Is Ardulibrary still in development?

Hi.
It is not as active as i would like.
But when we get together a nice repository i would really like to change it so it can be used easily in Ardulibrary.

My biggest problem was always to get a good and up to date repository of libraries.

So making it like Visual Micro suggested is a good idea.

It always was possible to change the url of the xml in ardulibrary by hand. But i think a dropdown with a list would be a better option for users.

the next step would be a integration into CodeBlocks Arduino Edition. :slight_smile:

Thanks that my small project is not forgotten.

Indeed, maintaining a good list of Arduino libraries is a challenge. My goal isn't a comprehensive list, but only the most important and most useful ones. One of my main interests is learning of new libraries as early as possible, rather than random chance (either I see it online, or someone asks me for help using it with Teensy).

I could generate an xml file for the libraries I've tested and plan to test.

There are several details in the sample xml I don't quite understand. Each "lib" has an id number, starting at 19. How are they assigned? Do I just make up numbers? Likewise, there's a "category" tag, with id=1. What that about?

In the xml, links to the zip file are in a "versions" section. What should be done for libraries which don't have a clearly published version number?

There's also an "authors" section. All in the example are "sascha". What does that mean?

The XML doesn't provide any means to embed one or more URLs where documentation about the library is maintained. At least that doesn't seem to be in the example.

hi.

uhh. i just noticed a php notice in the xml. not good. Must have changed something of my hosting :slight_smile:

yes. the numbers are an auto_increment in the database. so they just count up.

the category tag was planned for a category selection in the application. Currently it is only possible to select the category on the webversion code-i.de.
For the ardulibrary application it is not used at the moment.

Now. the authors are not used in the application either. But they should show the author of the library.
"sascha" is my name.
But i am not the author of the libraries. i just added them in my application.

now. You are right about the missing link for a documentation. I did it the way that it opens a url with the id of the library. So if you double-click on a library it opens for example code-i.de

mh. as you tell it. I fear i hardcoded that link. Need to change this for sure.

if you need some change to the xml it should not be a problem and i will implement it.

Hope i could help.

//Edit: yes. i had this version problem too because many library developers use some odd way of versioning or do not write any version at all. So i think the best way is to numerate them?

I agree with Paul, the xml does need a bit more work and thought :slight_smile:

Most recent file date time of each lib source folder might suffice as a version?

I'm going to build this into the Visual Studio plugin.

I think it's a great idea and would like to see a comon frame work.

If there is an xml I'll create a wizard for eclipse as well
Best regards
Jantje

@Paul great work with your site. How about adding an xml file to your web root that describes each library in the same or similar way to @beo6 xml system.

Ok, I did it, more or less. Here's the XML:

http://www.pjrc.com/teensy/td_libs.xml

I took a few liberties with the format, like adding a documentation tag for links to web pages that document the library. I also put text in the category, since the id numbers don't mean anything to me. I probably made mistakes. Even the xml may not be perfect. Let me know what you think?

I might add an option for a link to an image, for those libraries where I have an image of the hardware. Would anyone use that?

Not every library has a zip file. I add those after I test the library with Teensy. Hopefully this list will be useful anyway? As I continue my effort to test all substantial Arduino libraries, this list will fill in with more files and better info.

I've added an image tag in my XML, for the libraries where I have a photo of the hardware or screenshot of the library example actually running. The intention is to allow Ardulibrary or any other library browsing tool to give the user nice visual impressions of the libraries, especially what hardware they actually use, which often can't be communicated well in short descriptions.

Here's the XML again:

http://www.pjrc.com/teensy/td_libs.xml

I've pretty much just made up a few tags... feedback is most welcome. If you need me to adapt my XML for Adulibrary, just let me know what you need and I'll try to incorporate it. Or if anyone else wants to use the XML and needs the format altered, just let me know and I'll do what I can.

Hi Paul,

sorry that i was silent for so long again.
I learned much new in the meantime for programming.
And i would like to do some stuff a bit different in this project now as i learned.

I don´t know if arduino already has some sort of library management already.

I updated the tool to allow multiple repositories. I have added your xml and my xml to the list.
Pauls list is the default.
There can easily added more to the list with the repositories.txt file.

The new Version is here:
http://ardulibrary.code-i.de/_media/dl/ardulibrary0.1.6.zip
I am not sure why the download got smaller. But i hope it still works for everyone.

I'm really interested in this, but at the moment I'm far too busy with Teensy 3.0.

Over the next 2 months, I'll be review and porting every major library to Teensy 3.0 (which is a 32 bit ARM-based board). You'll definitely be hearing from me as I look at all the libraries again.....

@be06


bonjour,
j'ai essayé de compiler votre application à partir des dernières sources svn avec C::B 12.11 et wxWidgets 2.8.12
et j'obtiens de nombreuses erreurs ...
Avez vous essayé de compiler avec ces conditions ??
Bien cordialement.


hello,
I tried to compile your application using the latest svn sources with C::B 12.11 and wxWidgets 2.8.12
and I get many errors ...
Have you tried to compile with these conditions??
Cordially.

beo6:
Hi Paul,

sorry that i was silent for so long again.
I learned much new in the meantime for programming.
And i would like to do some stuff a bit different in this project now as i learned.

I don´t know if arduino already has some sort of library management already.

I updated the tool to allow multiple repositories. I have added your xml and my xml to the list.
Pauls list is the default.
There can easily added more to the list with the repositories.txt file.

The new Version is here:
code-i.de
I am not sure why the download got smaller. But i hope it still works for everyone.

Cool downloader, maybe I can add this to my mod. Who keeps updated the collection? Maybe some user portal is necessary so they can upload their libraries?

I have an "Add" button that actually unzips a library or copies a folder with library files (.cpp) but it will be nice if there is a third option to "use a library from a repository"

@LETARTARE: it is compiled with wxWidgets 2.9.3. There might be problems when it is compiled with a different Version.

@eried: i made a quick webpage for uploading of libraries some time ago here: code-i.de
But it was never really used.
And i would really like to redo the webpage completely when it would be used, as i learned much new since then.

Pauls repository is only managed by himself i believe.

looks like a nice library manager @eried. Where can i get it?

//Edit: oh sorry. just seen that it is a modified arduino editor. looks nice.

If you want i could make the webmanagement side to add a user-repository to the mod.
that would be nice. :slight_smile:

beo6:
Pauls repository is only managed by himself i believe.

Yes, I built that list the very hard way... by reviewing the code for each library, and for most of them I actually build the hardware and throughly test the library on Teensy 2.0 and Teensy++ 2.0 boards.

Lately I haven't been keeping up, while developing Teensy 3.0. But I've got a bookmarks folder of a couple dozen libraries I intend to test soon. I've already purchased components to test them all. The only thing missing is incredible amounts of time.....

beo6:
@LETARTARE: it is compiled with wxWidgets 2.9.3. There might be problems when it is compiled with a different Version.

@eried: i made a quick webpage for uploading of libraries some time ago here: code-i.de
But it was never really used.
And i would really like to redo the webpage completely when it would be used, as i learned much new since then.

Pauls repository is only managed by himself i believe.

looks like a nice library manager @eried. Where can i get it?

//Edit: oh sorry. just seen that it is a modified arduino editor. looks nice.

If you want i could make the webmanagement side to add a user-repository to the mod.
that would be nice. :slight_smile:

That repository thing will be very nice, you can even add a link into your application. My library manager is monitoring the library folder while is opened so there is no really necessity to integrate anything, only I will like to call it with the preferences file as an argument, since I am not using the same from the original IDE.

Besides time you need to get also a seller for latin America :stuck_out_tongue: I checked your teensy 3.0 and it is a very sexy/cheap board but more than half of the price goes to the shipment :frowning: probably another 25% for eventual customs charges.

eried:
That repository thing will be very nice, you can even add a link into your application.

i am not sure if i have understood you correctly. (my english is not perfect)
But my application already uses my repository from a exported xml file.
Pauls repository is in the list too.

Oh, I was talking about
"If you want i could make the webmanagement side to add a user-repository to the mod."

That you call with a link in your downloader, like "Upload a library". So the users can manage their libraries, contribute, etc