10 FRONIUS_response::FRONIUS_response() {
27 return (hdr0==0x80 && hdr1==0x80 && hdr2==0x80);
33 unsigned char FRONIUS_response::checksum() {
34 return buffer.buffer[length];
44 unsigned char chsum = \
49 for (
int i=0; i<length; i++) {
50 chsum += buffer.buffer[i];
62 signed char exponent = buffer.Value.exponent;
64 if (exponent == 0xb) {
65 throw(QString(tr(
"overflow")));
69 throw(QString(tr(
"underflow")));
72 value = buffer.Value.lsb;
73 value += buffer.Value.msb * 256;
76 value = value - 65536;
80 return QVariant(value);
84 return QVariant( (
int) (value * (pow(10, exponent)) ) );
88 return QVariant( ((
double)value) * pow(10, exponent) );
QVariant value()
Decodes and returns value stored in response.
unsigned char checksum
Returns checksum of the response.
bool isChecksumValid()
Check header validity.
bool isHeaderValid()
Check header validity.