Passaggio di una funzione a una classe.
Specificare il nome di una funzione che può essere chiamata da un'altra funzione. Questo viene fatto con un puntatore a funzione:
File <functionClass.h>
#pragma once
#include <Arduino.h>
class FunctionClass
{
public:
void attachFunction(void (*function)());
void callFunction();
private:
void (*atatchedFunction)();
};
File <functionClass.cpp>
#include <functionClass.h> // include il file di intestazione richiesto
void FunctionClass::attachFunction(void (*function)())
{
atatchedFunction = *function;
}
void FunctionClass::callFunction()
{
(*atatchedFunction)();
}
File <functionClass.ino>
#include <functionClass.h>
FunctionClass functionObjec;
printSite();
void setup()
{
Serial.begin(9600);
// collegato la funzione printSite
functionObjec.attachFunction(printSite);
functionObjec.callFunction(); // chiamerà la funzione printSite
}
void loop()
{
}
void printSite()
{
Serial.println("Electron32");
}
File keywords.txt
##################################
#Syntax functionClass
##################################
#Class (KEYWORD1)
##################################
functionClass KEYWORD1
FunctionClass KEYWORD1
##################################
#Methods and Functions (KEYWORD2)
##################################
attachFunction KEYWORD2
callFunction KEYWORD2