Nuova libreria - viene caricata, letta correttamente ma non esercita le funzioni

Ciao a tutti,

Ho creato questa nuova libreria seguendo passo passo la guida.
L' ide la carica correttamente se la includo, ma non svloge le funzioni.
Per scrupolo poi ho provato a copiare pari pari quella riportata nella guida ( Morse.h, Morse.cpp, keyword.txt) e non funziona neanche quella.

vi posto il codice dell'header:

#ifndef Gio_PassoPasso4fili_h
#define Gio_PassoPasso4fili_h

#include "Arduino.h"

class Gio_PassoPasso4fili{
   public:

      Gio_PassoPasso4fili(int pin1, int pin2, int pin3, int pin4, int risoluzione);
      void StabOrario4fili (int ritardo);
      void StabAntiOrario4fili (int ritardo);

     
   private:

    int _pin1;
    int _pin2;
    int _pin3;
    int _pin4;
    int _ris;

};
#endif

poi quello del .cpp

#include "Arduino.h"
#include "Gio_PassoPasso4fili.h"

Gio_PassoPasso4fili::Gio_PassoPasso4fili(int pin1, int pin2, int pin3, int pin4, int risoluzione){

    //Serial.begin(9600);

    pinMode(pin1, OUTPUT);
    pinMode(pin2, OUTPUT);
    pinMode(pin3, OUTPUT);
    pinMode(pin4, OUTPUT);

    int _pin1 = pin1;
    int _pin2 = pin2;
    int _pin3 = pin3;
    int _pin4 = pin4;
    int _ris = risoluzione;

}
// --------------- Funzioni ------------------------------------------------------------------------
void Gio_PassoPasso4fili::StabOrario4fili (int ritardo) {    // minigiro orario a posizioni stabili sembra compiere 0.703125°

      digitalWrite(_pin1, HIGH); delay(ritardo); digitalWrite(_pin1, LOW); delay(ritardo);
      digitalWrite(_pin2, HIGH); delay(ritardo); digitalWrite(_pin2, LOW); delay(ritardo);
      digitalWrite(_pin3, HIGH); delay(ritardo); digitalWrite(_pin3, LOW); delay(ritardo);
      digitalWrite(_pin4, HIGH); delay(ritardo); digitalWrite(_pin4, LOW); delay(ritardo);
    }

e infine le keyword.txt

Gio_PassoPasso4fili	KEYWORD1
StabOrario4fili   	KEYWORD2

Sapreste che problema ci possa essere?
Può essere un problema di compilazione? ( nel caso non so come farla)

Benvenuto. Essendo il tuo primo post, nel rispetto del regolamento, ti chiediamo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il su citato REGOLAMENTO... Grazie.
Qui una serie di link utili, non inerenti al tuo problema:

Si mi sembra giusto. :slight_smile:
Fatto.

  1. Ma il tuo sketch che richiama la lib come è ?
  2. Cosa intendi per "non svolge" le funzioni ?

Si.

ho dimenticato di postarlo, lo faccio ora:

#include <Gio_PassoPasso4fili.h>

const int IN1 = 22;
const int IN2 = 23;
const int IN3 = 24;
const int IN4 = 25;
const int risoluzione = 2048;
int ritardo = 500;

Gio_PassoPasso4fili PP4 (IN1, IN2, IN3 , IN4, risoluzione);


void setup() {
   

}

void loop() {

    
  PP4.StabOrario4fili(1000);

}

Per provarlo su una breadboard ho messo 4 led con il circuito e resistenze varie.
Se le faccio andare con i comandi normali (digitalWrite(pin, HIGH etc… ) funzionano, invece richaimando la classe.funzione(parametro) non funzionano.
Non capisco il perchè.

Avevo sospettato fosse quello ed avevo provato anche io dando nel setup i pinMode, ma nulla anche così.
C’è una cosa che ho notato nello gestisci librerie:

Lascia perdere quello che ho scritto prima.
Scusa visto ora l'errore dentro al costruttore Gio_PassoPasso4fili
int _pin1 = pin1; // sbagliati !!! se metti int davanti ridichiari le variabili

Era proprio quello ... ora funziona.

Grazie mille nid,

ti chiedo un ultima cosa... C'è un modo per mettere "risolto" come su altri forum o lascio così?

Si, devi modificare tu il tuo primo msg di questo thread, aggiungi al titolo (risolto)

Non mi fa modificare il titolo, con modify

gisnio:
Non mi fa modificare il titolo, con modify

Lo fa fare solo del primo post, quello che ha creato il thread. A meno che non te lo fa fare perchè hai solo pochi post (per ora).

E credo sia così.. è il mio primo.