Avvolgi nello namespace.
Quando si creano funzioni nella libreria, i nomi di queste funzioni possono essere gli stessi di altre funzioni nello schizzo, causando problemi. Invece di scrivere una classe, le funzioni possono essere racchiuse in uno "spazio dei nomi" - namespace. Guarda un esempio, tutto diventerà chiaro.
File NamespaceSite.h
#pragma once
#include <Arduino.h>
// spazio dei nomi mySite
namespace mySite
{
void namespaceSite();
};
File NamespaceSite.cpp
#include <NamespaceSite.h>
// implementazione
void mySite::namespaceSite() // funzione di libreria
{
Serial.println("Electron32");
}
File NamespaceSite.ino
#include <NamespaceSite.h>
void namespaceSite();
void setup()
{
Serial.begin(9600);
// emetterà
"Hello" dalla funzione di schizzo
namespaceSite();
// emetterà "Electron32" dalla funzione di libreria
mySite::namespaceSite();
}
void loop()
{
}
void namespaceSite() // funzione di schizzo
{
Serial.println("Hello");
}
L'uso dello spazio dei nomi consente di separare le funzioni con lo stesso nome da documenti diversi, chiamare una funzione da uno spazio dei nomi è esattamente come una classe: nameNamespace::nameFunction.
File keywords.txt
##################################
#Syntax NamespaceSite
##################################
#Functions (KEYWORD1)
##################################
NamespaceSite KEYWORD1
##################################
#Methods (KEYWORD2)
##################################
namespaceSite KEYWORD2