#include
"Arduino.h"
#include
<Aurora.h>
#include
<SoftwareSerial.h>
#include
<MemoryFree.h>
Aurora inverter
=
Aurora(
2
,
10
,
11
,
5
);
void
SerialPrintData(
byte
*
data) {
for
(
int
i
=
0
; i <
8
; i
+
+
) {
Serial.print
((
int
)data[i]);
Serial.print
(F(
" "
));
}
Serial.println
(F(
" "
));
}
void
setup
()
{
Serial.begin
(
19200
);
inverter.begin();
}
void
loop
()
{
Serial.print
(F(
"freeMemory(1)="
));
Serial.println
(freeMemory());
Aurora::DataCumulatedEnergy cumulatedEnergy
=
inverter.readCumulatedEnergy(CUMULATED_DAILY_ENERGY);
Serial.println
(F(
"------------------------------------------"
));
Serial.println
(F(
"INVERTER 2"
));
Serial.print
(F(
" Data ROW = "
)); SerialPrintData(inverter.receiveData);
Serial.print
(F(
" Read State = "
));
Serial.println
(cumulatedEnergy.state.readState);
Serial.print
(F(
"Transmission State = "
));
Serial.println
(cumulatedEnergy.state.getTransmissionState());
Serial.print
(F(
" Global State = "
));
Serial.println
(cumulatedEnergy.state.getGlobalState());
Serial.print
(F(
" Energia = "
));
Serial.print
(cumulatedEnergy.energy);
Serial.println
(
" Wh"
);
Serial.println
(F(
"------------------------------------------"
));
Aurora::DataLastFourAlarms lastFour
=
inverter.readLastFourAlarms();
Serial.println
(F(
"INVERTER 2"
));
Serial.print
(F(
" Data ROW = "
)); SerialPrintData(inverter.receiveData);
Serial.print
(F(
" Read State = "
));
Serial.println
(lastFour.state.readState);
Serial.print
(F(
"Transmission State = "
));
Serial.println
(lastFour.state.getTransmissionState());
Serial.print
(F(
" Global State = "
));
Serial.println
(lastFour.state.getGlobalState());
Serial.print
(F(
" Alarms 1 = "
));
Serial.println
(lastFour.getAlarm1State());
Serial.print
(F(
" Alarms 2 = "
));
Serial.println
(lastFour.getAlarm2State());
Serial.print
(F(
" Alarms 3 = "
));
Serial.println
(lastFour.getAlarm3State());
Serial.print
(F(
" Alarms 4 = "
));
Serial.println
(lastFour.getAlarm4State());
Serial.println
(F(
"------------------------------------------"
));
Aurora::DataVersion version
=
inverter.readVersion();
Serial.println
(
"INVERTER 2"
);
Serial.print
(F(
" Data ROW = "
)); SerialPrintData(inverter.receiveData);
Serial.print
(F(
" Read State = "
));
Serial.println
(version.state.readState);
Serial.print
(F(
"Transmission State = "
));
Serial.println
(version.state.getTransmissionState());
Serial.print
(F(
" Global State = "
));
Serial.println
(version.state.getGlobalState());
Serial.print
(F(
" Version = "
));
Serial.print
(version.getModelName().name);
Serial.print
(F(
" "
));
Serial.print
(version.getIndoorOutdoorAndType());
Serial.print
(F(
" "
));
Serial.print
(version.getGridStandard());
Serial.print
(F(
" "
));
Serial.print
(version.getTrafoOrNonTrafo());
Serial.print
(F(
" "
));
Serial.println
(version.getWindOrPV());
Serial.println
(F(
"------------------------------------------"
));
Aurora::DataConfigStatus configStatus
=
inverter.readConfig();
Serial.print
(F(
" Data ROW = "
)); SerialPrintData(inverter.receiveData);
Serial.print
(F(
" Read State = "
));
Serial.println
(configStatus.state.readState);
Serial.print
(F(
"Transmission State = "
));
Serial.println
(configStatus.state.getTransmissionState());
Serial.print
(F(
" Global State = "
));
Serial.println
(configStatus.state.getGlobalState());
Serial.print
(F(
" config = "
));
Serial.println
(configStatus.getConfigStatus());
Serial.println
(F(
"------------------------------------------"
));
Serial.print
(F(
"freeMemory(2)="
));
Serial.println
(freeMemory());
Aurora::DataTimeCounter timeCounter
=
inverter.readTimeCounter(CT_TOTAL_RUN);
Serial.print
(F(
" Data ROW = "
)); SerialPrintData(inverter.receiveData);
Serial.print
(F(
" Read State = "
));
Serial.println
(timeCounter.state.readState);
Serial.print
(F(
"Transmission State = "
));
Serial.println
(timeCounter.state.getTransmissionState());
Serial.print
(F(
" Global State = "
));
Serial.println
(timeCounter.state.getGlobalState());
Serial.print
(F(
" time in sec = "
));
Serial.println
(timeCounter.upTimeInSec);
Serial.print
(F(
" time in verb = "
));
Serial.print
(timeCounter.getSecondsInDateElements()[
0
]);
Serial.print
(F(
"Y "
));
Serial.print
(timeCounter.getSecondsInDateElements()[
1
]);
Serial.print
(F(
"D "
));
Serial.print
(timeCounter.getSecondsInDateElements()[
2
]);
Serial.print
(F(
"H "
));
Serial.print
(timeCounter.getSecondsInDateElements()[
3
]);
+
Serial.print
(F(
"M "
));
Serial.print
(timeCounter.getSecondsInDateElements()[
4
]);
Serial.println
(F(
"S "
));
Serial.println
(F(
"------------------------------------------"
));
Serial.print
(F(
"freeMemory(2)="
));
Serial.println
(freeMemory());
delay
(
4000
);
}