void setup()
{
smooth(8); // massimo livello di antialiasing (0-2-4-8)
Etichette = loadStrings("Etichette.txt");
Link = loadStrings("Link.txt");
ip = Link[0]; // indirizzo URL, prima riga del file link.txt
Port_Proc = int (Link[1]); // porta in ascolto, seconda riga del file link.txt
Port_Ard = int (Link[2]); // porta di destinazione verso arduino, terza riga del file link.txt
Intervallo = int (Link[3]); // tempo in millis tra una richiesta dati e l'altra
Timer220 = TimerTemp = millis(); // prende il primo valore da cui poi incrementa per il controllo
//settaggi per UDP
udp = new UDP( this, Port_Proc ); // crea connessione su porta 6100
udp.log( true ); // stampa l'attività di connessione
udp.listen( true ); // si mette in ascolto e attende il messaggio in arrivo
udp.send("P99", ip, Port_Ard ); // invia comando per avere la prima risposta
size(displayWidth,displayHeight); //dimensione dell'area grafica del programma
orientation (LANDSCAPE);
fill(0);
Sfondo = loadImage ("acciaio_1024_768.png");
LedSpia_ON = loadImage ("Led_spia_50_ON.png");
LedSpia_OFF = loadImage ("Led_spia_50_OFF.png");
Vite = loadImage ("VITE_30.png");
Spia220_ON = loadImage ("Led_spia_220_ON.png");
Spia220_OFF = loadImage ("Led_spia_220_OFF.png");
Spia220_OFF1 = loadImage ("Led_spia_220_OFF1.png");
textAlign(CENTER); //viene definito l'allineamen,minimo scala, max scalato del testo, a sinistra
PFont mono = loadFont("ForgottenFuturist-Bold-42.vlw");
textFont(mono,width/64);
Volt1 = new Voltmetro(width/7.1 , width/64, Etichette[16]); //istanza dell'oggetto e sua costruzione x,x,testo,tensione nominale
Volt2 = new Voltmetro(width/3.178, width/64, Etichette[17]); //istanza dell'oggetto e sua costruzione
Termometro1 = new Termometro (width/4.517 , width/42 , Etichette[18]); // x,y,testo
Termometro2 = new Termometro (width/3.735 , width/42 , Etichette[19]);
Pulsante0 = new Boton( width/384 , width/38.4 , Etichette[0], "P00"); // riga dei pulsanti di sinistra, questo è quello alto, Etichette[0] è la prima riga del file etichette.txt
Pulsante1 = new Boton(width/384, width/14.22, Etichette[1], "P01");
Pulsante2 = new Boton(width/384, width/8.73, Etichette[2], "P02");
Pulsante3 = new Boton(width/384, width/6.3, Etichette[3], "P03");
Pulsante4 = new Boton(width/384, width/4.92, Etichette[4], "P04");
Pulsante5 = new Boton(width/384, width/4.042, Etichette[5], "P05");
Pulsante6 = new Boton(width/384, width/3.43, Etichette[6], "P06");
Pulsante7 = new Boton(width/384, width/2.977, Etichette[7], "P07");
Pulsante8 = new Boton(width/2.02 , width/38.4 , Etichette[8], "P08"); // riga dei pulsanti di destra, questo è quello alto
Pulsante9 = new Boton(width/2.02 , width/14.22, Etichette[9], "P09");
Pulsante10 = new Boton(width/2.02 , width/8.73, Etichette[10], "P10");
Pulsante11 = new Boton(width/2.02 , width/6.3, Etichette[11], "P11");
Pulsante12 = new Boton(width/2.02 , width/4.92, Etichette[12], "P12");
Pulsante13 = new Boton(width/2.02 , width/4.042, Etichette[13], "P13");
Pulsante14 = new Boton(width/2.02 , width/3.43, Etichette[14], "P14");
Pulsante15 = new Boton(width/2.02 , width/2.977, Etichette[15], "P15");
Spia0 = new Spia(width/24, width/24); // x,y
Spia1 = new Spia(width/24, width/11.64);
Spia2 = new Spia(width/24, width/7.68);
Spia3 = new Spia(width/24, width/5.73);
Spia4 = new Spia(width/24, width/4.57);
Spia5 = new Spia(width/24, width/3.8);
Spia6 = new Spia(width/24, width/3.254);
Spia7 = new Spia(width/24, width/2.8444);
Spia8 = new Spia(width/2.51 , width/24);
Spia9 = new Spia(width/2.51, width/11.64);
Spia10 = new Spia(width/2.51, width/7.68);
Spia11 = new Spia(width/2.51, width/5.73);
Spia12 = new Spia(width/2.51, width/4.57);
Spia13 = new Spia(width/2.51, width/3.8);
Spia14 = new Spia(width/2.51, width/3.254);
Spia15 = new Spia(width/2.51, width/2.8444);
Sfondo.resize (width,height);
Sfondo.loadPixels();
LedSpia_ON.resize (width/38,width/38);
LedSpia_ON.loadPixels();
LedSpia_OFF.resize (width/38,width/38);
LedSpia_OFF.loadPixels();
Vite.resize (width/38,width/38);
Vite.loadPixels();
Spia220_ON.resize (width/38,width/38);
Spia220_ON.loadPixels();
Spia220_OFF.resize (width/38,width/38);
Spia220_OFF.loadPixels();
Spia220_OFF1.resize (width/38,width/38);
Spia220_OFF1.loadPixels();
}
// ATTENZIONE in mancanza dei dati da arduino, le Spie non vengono visualizzate sul display, nè accese nè spente
class Spia{
PImage TargaInt_ON;
PImage TargaInt_OFF;
//dichiarazioni delle variabili funzionali all'esecuzione della classe
float X;
float Y;
boolean active = false;
//costruttore
Spia(float tempX, float tempY)
{
X = tempX;
Y = tempY;
TargaInt_ON = loadImage ("led_rett_on_180_35.png");
TargaInt_OFF = loadImage ("led_rett_off_180_35.png");
TargaInt_ON.resize (width/11,width/55);
TargaInt_ON.loadPixels();
TargaInt_OFF.resize (width/11,width/55);
TargaInt_OFF.loadPixels();
}
//METODO update() ---------------------------
void update(boolean z)
{ //il metodo si aspetta che sia passato un parametro true/false
active = z; //il valore del parametro è trasferito alla variabile globale "active", della Classe
}
//-------------------------------------------
//METODO display() --------------------------
void display()
{
if (active) // prima serie di pulsanti a Sx
{
image(TargaInt_ON, X, Y);
}
else
{
image(TargaInt_OFF, X, Y);
}
}
} // fine class spia