Are there any onlinetools that help making a library Arduino-library-manager-compliant?

Hi everybody,

today I answered to a thread about using rotary-encoders.
One opinion is that the state-table-approach is the best approach for debouncing.
user gfvalvo has written a library (NewEncoder) that uses state-tables but is limited to interrupt-capable IO-pins.

So I was looking for a library that uses a timer-interrupt for "backround-polling" to become independant of IO-pin-interrupts and using the state-table-method.

I did find the source-code that user gfvalvo linked to

which has tow examples interrupts and polling.

Now I'm thinking about taking this library as a base and write a version that uses a timer-interrupt.

And best thing would be to create a library that is compliant with the actual library-manager.
I looked up "library-manager managed" lib to see what files and folder-structure such a lib has.
Hm... medium complex
image

Me personal I'm not a nerd that loves most to write a lot of textbased files
with json-structure etc. and then create a GiPo.

I was asking myself are there any onlinetools or downloadeable tools available that help creating the folder-structure and the additional files.

If not I will just create a personal library for personal use that compiles and that's it.
I will not do a research for hours to collect all the specification information from what do I know how many different places.

best regards Stefan

it's all in one place

OK. I see.
Now my main question is

does there exist a tool with inputfields where I type just the values
for each of these data

name=WebServer
version=1.0.0
author=Cristian Maglie c.maglie@example.com, Pippo Pluto pippo@example.com
maintainer=Cristian Maglie c.maglie@example.com
sentence=A library that makes coding a Webserver a breeze.
paragraph=Supports HTTP1.1 and you can do GET and POST.
category=Communication
url=http://example.com/

and that has a drop-downmenu for architectures
I do not know how different architecture are named here and how multiple architectures are added
architectures=avr

you don't need library.properties if it is a simple library just for you.
you can use the pre-1.5 library structure. just files in the folder

For backward compatibility with Arduino IDE 1.0.x, the library author may opt to place source code into the root folder, instead of the folder called src. In this case the 1.0 library format is applied and the source code is searched from the library root folder and the utility folder,

I'm not aware of any tool

Hi @StefanL38

Not that I know of. However, Arduino provides a command line (not online) tool named Arduino Lint for validating the metadata and structure of libraries (as well as sketches, boards platforms, and package indexes) after you create it:

https://arduino.github.io/arduino-lint/

This is the same tool used to validate submissions to the Arduino Library Manager registry as well as new releases of the registered libraries.

Architecture names can be defined arbitrarily by each boards platform author and there is a large and ever growing ecosystem of 3rd party boards platforms. So it would not be feasible to maintain a comprehensive list of all possible architectures. Arduino Lint does do some basic checking on the contents of the architectures field.

if you are on unix, go to your library folder and run in a terminal

grep architecture */library.properties| awk -F"=" '{print (NF>1)? $NF : ""}' | awk -F',' '{ for( i=1; i<=NF; i++ ) print $i }' <<<"$INPUT" | awk '{$1=$1};1' | sort | uniq -c | sort -f

and you'll see a list of the common ones you have in your libraries

I get

   1 apollo3
   1 arc32
   1 arm
   1 DS3231
   1 mbed_giga
   1 mbed_nicla
   1 PCF8523
   1 PCF8563 on multiple architectures
   1 renesas
   1 renesas_portenta
   1 renesas_uno
   1 stm32
   1 stm32f4
   1 Works with DS1307
   2 atmelsam
   2 mbed_rp2040
   3 mbed_portenta
   3 rp2040
   3 STM32F1
   4 mbed
   4 mbed_nano
   4 nrf52
   4 teensy
   5 *
   5 sam
   8 megaavr
  10 esp8266
  18 avr
  24 esp32
  31 samd
 109 *

so * seems the most chosen one :slight_smile:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.