Ciao a tutti, sto scrivendo un programma che sta diventando parecchio lungo per cui, per ragioni di leggibilità, volevo "spaccarlo" in più file dedicati ad una specifica gestione. Nella fattispecie volevo fare un .INO che sarà il mio main che al suo interno avrà tutte le #INCLUDE agli altri vari spaccati .H i quali implementeranno i vari metodi per la gestione della grafica, delle azioni ecc. Volevo creare anche un .H per la definizione globale di tutte le variabili. Premetto che uso Sloeber per sviluppare (scusate ma l'IDE di Arduino è quanto di più inutilizzabile ci sia per fare dei programmi che non siano più del Blink.INO secondo me). Il punto è che ottengo sempre un messaggio d'errore del tipo:
int roomChartInterval[2];
^
In file included from ..\FermentingController1_0.ino:9:0,
from ..\.ino.cpp:29:
..\VariablesSetting.h:53:8: error: redefinition of 'double whatSPToDisplay'
double whatSPToDisplay, whatPVToDisplay, roomXPVStep, roomXPV;
^
In file included from ..\.ino.cpp:8:0:
Cioè io la definizione delle variabili l'ho demandata ad un .H mentre l'.INO ha la relativa include:
.INO
#include "VariablesSetting.h"
.H
#include "Arduino.h"
#include <tinyFAT.h>
#include <UTFT.h>
#include <UTFT_tinyFAT.h>
#include <UTFT_Geometry.h>
#include <URTouch.h>
#include <UTFT_Buttons.h>
// Main page variables
#define TOUCH_ORIENTATION LANDSCAPE
int xScreenDim, yScreenDim, gaugeX, gaugeY, gaugeOffset, ledYDim, ledXDim,
row1ButtLenght, row1ButtHeight, row2ButtLenght, row2ButtHeight,
whatSetupWindow;
int percLEDYValue[24];
boolean mainWindow, setupWindow, chartWindow;
// Setup page variables
int setupButtLenght, setupButtHeight, roomXChartInterval, whatSettingToDo;
double roomXSP, roomXCoolTimeout, roomXCoolDZ, roomXCoolHY, roomXWarmDZ,
roomXWarmHY;
boolean roomXCreateChart, setValueWindow;
extern unsigned int checked16x16[0x100];
extern unsigned int unchecked16x16[0x100];
Da quello che capisco sembra che lui "veda" come doppia la definizione di tutte le variabili. Sicuramente sto sbagliando io ma non capisco dove....dalle mie riminescenze di C e da quanto ho letto non sembrerebbe essere sbagliato il mio concetto....
Dove sbaglio?
Grazie
Andrea