#pragma config(Sensor, S1, LEGOEM, sensorI2CCustom)
#include "drivers/lego-energymeter.h"
task main() {
int _joule;
float _voltageIn;
float _currentIn;
float _voltageOut;
float _currentOut;
float _wattIn;
float _wattOut;
nxtDisplayCenteredTextLine(0, "LEGO");
nxtDisplayCenteredBigTextLine(1, "Energy");
nxtDisplayCenteredTextLine(3, "Test 1");
nxtDisplayCenteredTextLine(5, "Connect sensor");
nxtDisplayCenteredTextLine(6, "to S1");
wait1Msec(2000);
eraseDisplay();
nxtDrawLine(0, 27, 99, 27);
nxtDrawLine(0, 52, 99, 52);
while (true) {
LEGOEMreadData(LEGOEM, _voltageIn, _currentIn, _voltageOut, _currentOut, _joule, _wattIn, _wattOut);
nxtDisplayCenteredTextLine(0, "Energy Meter");
nxtDisplayTextLine(2, "In: %2.1fV|%2.3fA", _voltageIn, _currentIn);
nxtDisplayTextLine(3, "Out: %2.1fV|%2.3fA", _voltageOut, _currentOut);
nxtDisplayTextLine(5, "Pwr in: %2.3fW", _wattIn);
nxtDisplayTextLine(6, "Pwr out: %2.3fW", _wattOut);
nxtDisplayTextLine(7, "Energy: %3dJ", _joule);
wait1Msec(100);
}
}