Library : gebruik van function in andere library

Geachte forumleden
Mijn zeer grote arduino-programma heb ik verkleind door functions in bibliotheken te zetten. Zo heb ik vier libraries gemaakt : Platform, Brug, Wiel en Rest

Vraag : kan een function in de ene library een function uit een andere aanroepen ? Specifiek : kan een function in library Platform een function 'printExitPunt' aanroepen die in library Rest staat ?

De compiler geeft de error dat de aangeroepen function : " 'printExitPunt' was not declared in this scope", ook als ik de Rest library include in het
arduino programma en in de cpp.file en h.file van de Platform library.
En mijn eigen libraries staan alle in de standaard library van Arduino samen met de andere libraries.

ja dat kan.
bovenaan #include "Rest.h" toevoegen...

Waarom de dubbele aanhalingstekens? Zoals ik het begrijp zijn antond3's bibliotheken in de libraries sub directory van de sketchbook directory en als dat het geval is zou ik #include <Rest.h> gebruiken.

antond3, staan jouw bibliotheken inderdaad in de libraries sub directory van de sketchbook directory? Indien ja, ben je van plan die bibliotheken ook in andere programma's te gebruiken? Indien niet dan is the libraries directory eigenlijk niet de juiste plaats.

Bedankt voor de reacties. Mijn bibliotheken staan in een subdir van mijn sketchdirectory. Ik gebruik ze alleen in een (1) progamma.

Ik werk aan drie programma die elk in een eigen ‘sketch directory’ hebben. Alleen voor het grootste programma heb ik libraries aangemaakt.

Moet ik een algemene directory aanmaken voor de arduino IDE met daarin een subdir voor libraries (die je dan moet includen met haken < > )?

Beste Forumleden

Bedankt voor uw aandacht. Het probleem is inmiddels opgelost door :

in de functie uit de lib Platform een object te creeren van de lib Rest (‘Rest re;’) en de aanroep van functions uit de Rest lib te doen via dat object ‘re’;

Daarnaast een algemene dir aangemaakt voor Arduino en de arduino libs en overal alle includes voorzien van <> ipv “ “

Dan zijn het niet echt bibliotheken maar onderdeel van je sketch

sketchbook
+-- sketch1
    +-- sketch1.ino
    +-- bibliotheek1.h
    +-- bibliotheek1.cpp
    +-- bibliotheek2.h
    +-- bibliotheek2.cpp

En die moet je "includen" met dubbele aanhalingstekens; bv. #include bibliotheek1.h.

Of

sketchbook
+-- sketch1
    +-- sketch1.ino
    +-- src
        +-- bibliotheek1
            +-- bibliotheek1.h
            +-- bibliotheek1.cpp
        +-- bibliotheek1
            +-- bibliotheek2.h
            +-- bibliotheek2.cpp

De naam van de sub directory moet dan src zijn en je moet "includen" met bv #include "src/bibliotheek1/bibliotheek1.h".

Beste Sterretje

Bedankt voor je verhelderend code. Mij wordt nu duidelijk wat de sketch dir is en hoe ik daar met libs om moet gaan. Ik interpreteerde die sketch dir wat groter / hoger. Ik heb een dir MEGA met vele sketchdirs; namelijk voor mijn mega-programma, voor oude versies, voor onderdelen en voor verschillende ontwikkelstadiums. En onder dir MEGA heb ik ook een library dir. Maar mijn dir MEGA is dus niet een echte sketch dir.