unsigned long showMenue()
{
char apc[20] = {0};
char acc1[20] = {0};
char agc[20] = {0};
char current[20] = {0};
if (menue == 0)
{
ClearDisplay();
getValue("APC", 0x03, 0x01, "Power Out:", 5, apc);
Ausgabe(0x03, 0x06, "Pi:");
Ausgabe(0x03, 0x08, "Po:");
Ausgabe(0x03, 0x0B, "APC");
Ausgabe(0x09, 0x0B, "Status");
Ausgabe(0x12, 0x0B, "Optionen");
menue = 1;
}
else if (menue == 1)
{
ClearDisplay();
if (typ == 1)
{
getValue("ACC 1", 0x03, 0x01, "LD current:", 8, acc1);
Ausgabe(0x03, 0x06, "Pi:");
Ausgabe(0x03, 0x08, "Po:");
Ausgabe(0x03, 0x0B, "ACC");
Ausgabe(0x09, 0x0B, "Status");
Ausgabe(0x12, 0x0B, "Optionen");
menue = 2;
valueACC = atof(acc1);
bufACC = valueACC;
}
else if (typ == 2)
{
Ausgabe(0x03, 0x01, "Laser Diode 1:");
delay(10);
Ausgabe(0x03, 0x03, "Laser Diode 2:");
Ausgabe(0x03, 0x06, "Pi:");
Ausgabe(0x03, 0x08, "Po:");
Ausgabe(0x03, 0x0B, "ACC");
Ausgabe(0x09, 0x0B, "Status");
Ausgabe(0x12, 0x0B, "Optionen");
menue = 2;
}
}
else if (menue == 2)
{
ClearDisplay();
getValue("AGC", 0x03, 0x01, "Gain:", 5, agc);
Ausgabe(0x03, 0x06, "Pi:");
Ausgabe(0x03, 0x08, "Po:");
Ausgabe(0x03, 0x0B, "AGC");
Ausgabe(0x09, 0x0B, "Status");
Ausgabe(0x12, 0x0B, "Optionen");
menue = 0;
valueAGC = atof(agc);
bufAGC = valueAGC;
}
return millis();
}
void setValue(char* saveCurrent, char* Pi, char* Po)
{
char apc[20] = {0};
char acc1[20] = {0};
char agc[20] = {0};
char current[20] = {0};
char powerIn[30] = {0};
char powerOut[30] = {0};
unsigned long time;
strcpy(current, saveCurrent);
strcpy(powerIn, Pi);
strcpy(powerOut, Po);
AusgabeLoeschen(0x01, 0x01, "->");
Ausgabe(0x01, 0x01, "<-");
change = 1;
dtostrf(valueAPC, 3, 1, apc);
dtostrf(valueACC, 3, 1, acc1);
dtostrf(valueAGC, 3, 1, agc);
while (digitalRead(enter) == HIGH);
time = millis();
while (change == 1)
{
if (menue == 1)
{
if (millis() >= 1000 + time)
{
if (menue == 0 || menue == 1)
getValue("LC 1", 0x03, 0x04, "LD current:", 8, current);
getPower(0x07, 0x06, powerIn, powerOut);
time = millis();
}
valueAPC = changeValue("APC");
if (bufAPC != valueAPC)
{
dtostrf(valueAPC, 3, 1, buf);
sprintf(APC_Send, "APC %s", buf);
Serial2.println(APC_Send);
delay(45);
while(Serial2.available() > 0)
Serial2.read();
getValue("APC", 0x03, 0x01, "Power Out:", 5, apc);
valueAPC = atof(apc);
bufAPC = valueAPC;
}
}
else if (menue == 2)
{
if (millis() >= 1000 + time)
{
if (menue == 0 || menue == 1)
getValue("LC 1", 0x03, 0x04, "LD current:", 8, current);
getPower(0x07, 0x06, powerIn, powerOut);
time = millis();
}
valueACC = changeValue("ACC");
if (bufACC != valueACC)
{
dtostrf(valueACC, 3, 1, buf);
sprintf(ACC_Send, "ACC 1 %s", buf);
Serial2.println(ACC_Send);
delay(45);
while(Serial2.available() > 0)
Serial2.read();
getValue("ACC 1", 0x03, 0x01, "LD current:", 8, acc1);
valueACC = atof(acc1);
bufACC = valueACC;
}
}
else if (menue == 0)
{
if (millis() >= 1000 + time)
{
if (menue == 0 || menue == 1)
getValue("LC 1", 0x03, 0x04, "LD current:", 8, current);
getPower(0x07, 0x06, powerIn, powerOut);
time = millis();
}
valueAGC = changeValue("AGC");
if (bufAGC != valueAGC)
{
dtostrf(valueAGC, 3, 1, buf);
sprintf(AGC_Send, "AGC %s", buf);
Serial2.println(AGC_Send);
delay(45);
while(Serial2.available() > 0)
Serial2.read();
getValue("AGC", 0x03, 0x01, "Gain:", 5, agc);
valueAGC = atof(agc);
bufAGC = valueAGC;
}
}
if (digitalRead(enter) == HIGH)
{
while (digitalRead(enter) == HIGH);
AusgabeLoeschen(0x01, 0x01, "<-");
change = 0;
}
}
strcpy(saveCurrent, current);
strcpy(Pi, powerIn);
strcpy(Po, powerOut);
}
}