Version FC
Dependencies: DmTftLibrary eeprom SX1280Lib filesystem mbed
Fork of MSNV2-Terminal_V1-5 by
Diff: Value.cpp
- Revision:
- 24:92c30dabfda4
- Parent:
- 22:a5929d3668b6
- Child:
- 38:9b43b2415093
--- a/Value.cpp Tue Sep 11 21:11:35 2018 +0000 +++ b/Value.cpp Tue Sep 11 21:45:52 2018 +0000 @@ -1,13 +1,15 @@ +#include <string> + #include "Value.hpp" using namespace misnet; -void Value::setValue(Value::VALUE_TYPE type, Value::GENERIC_VALUE value) { +void Value::setValue(Value::GENERIC_VALUE value) { - this->_value.type = type; + this->_value.type = value.type; - switch (type) { + switch (value.type) { case Value::BOOLEAN: this->_value.value.bool_value = value.value.bool_value; break; @@ -52,6 +54,12 @@ this->_value.value.time_value = value.value.time_value; break; + case Value::TRIPLE_DOUBLE: + this->_value.value.triple_double_values[0] = value.value.triple_double_values[0]; + this->_value.value.triple_double_values[1] = value.value.triple_double_values[1]; + this->_value.value.triple_double_values[2] = value.value.triple_double_values[2]; + break; + default: break; } @@ -186,6 +194,19 @@ return -1; break; + case Value::TRIPLE_DOUBLE: + if ((this->_value.value.triple_double_values[0] == otherValue._value.value.triple_double_values[0]) + && (this->_value.value.triple_double_values[1] == otherValue._value.value.triple_double_values[2]) + && (this->_value.value.triple_double_values[1] == otherValue._value.value.triple_double_values[2])) { + return 0; + } + else if (this->_value.value.triple_double_values[0] > otherValue._value.value.triple_double_values[0]) { + return 1; + } + + return -1; + break; + default: return -2; break; @@ -193,7 +214,7 @@ } -std::string Value::getValueAsString() { +std::string Value::toString() { /* DEBUG("ENTREE\n"); DEBUG("This = %p\n", this); @@ -254,6 +275,12 @@ stringStream << this->_value.value.time_value; break; + case Value::TRIPLE_DOUBLE: + stringStream << this->_value.value.triple_double_values[0] << "," + << this->_value.value.triple_double_values[1] << "," + << this->_value.value.triple_double_values[2]; + break; + case Value::NOT_SET: default: stringStream << "Value not set !"; @@ -333,6 +360,13 @@ result._value.type = Value::TIME; break; + case Value::TRIPLE_DOUBLE: + result._value.value.triple_double_values[0] = this->_value.value.triple_double_values[0] - otherValue._value.value.triple_double_values[0]; + result._value.value.triple_double_values[1] = this->_value.value.triple_double_values[1] - otherValue._value.value.triple_double_values[1]; + result._value.value.triple_double_values[2] = this->_value.value.triple_double_values[2] - otherValue._value.value.triple_double_values[2]; + result._value.type = Value::TRIPLE_DOUBLE; + break; + default: result._value.type = Value::NOT_SET; break; @@ -439,6 +473,30 @@ return (double_result > delta._value.value.time_value); break; + case Value::TRIPLE_DOUBLE: + double_result = this->_value.value.triple_double_values[0] - valueToSubstract._value.value.triple_double_values[0]; + if (double_result < 0) { + double_result = -double_result; + } + if (double_result > delta._value.value.triple_double_values[0]) { + return true; + } + + double_result = this->_value.value.triple_double_values[1] - valueToSubstract._value.value.triple_double_values[1]; + if (double_result < 0) { + double_result = -double_result; + } + if (double_result > delta._value.value.triple_double_values[1]) { + return true; + } + + double_result = this->_value.value.triple_double_values[2] - valueToSubstract._value.value.triple_double_values[2]; + if (double_result < 0) { + double_result = -double_result; + } + return (double_result > delta._value.value.triple_double_values[2]); + break; + default: return true; break; @@ -496,6 +554,12 @@ return (this->_value.value.time_value != otherValue._value.value.time_value); break; + case Value::TRIPLE_DOUBLE: + return ((this->_value.value.triple_double_values[0] != otherValue._value.value.triple_double_values[0]) + && (this->_value.value.triple_double_values[1] != otherValue._value.value.triple_double_values[1]) + && (this->_value.value.triple_double_values[2] != otherValue._value.value.triple_double_values[2])); + break; + default: return true; break;