mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-30 11:59:12 +03:00
Округляем значения элемента используемые в сценарии
This commit is contained in:
@@ -122,7 +122,8 @@ String IoTItem::getRoundValue() {
|
|||||||
|
|
||||||
char buf[15];
|
char buf[15];
|
||||||
sprintf(buf, ("%1." + (String)_round + "f").c_str(), value.valD);
|
sprintf(buf, ("%1." + (String)_round + "f").c_str(), value.valD);
|
||||||
return (String)buf;
|
value.valS = (String)buf;
|
||||||
|
return value.valS;
|
||||||
} else {
|
} else {
|
||||||
return (String)value.valD;
|
return (String)value.valD;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -112,6 +112,7 @@ class VariableExprAST : public ExprAST {
|
|||||||
// if (Item->value.isDecimal)
|
// if (Item->value.isDecimal)
|
||||||
// Serial.printf("Call from VariableExprAST: %s = %f\n", Name.c_str(), Item->value.valD);
|
// Serial.printf("Call from VariableExprAST: %s = %f\n", Name.c_str(), Item->value.valD);
|
||||||
// else Serial.printf("Call from VariableExprAST: %s = %s\n", Name.c_str(), Item->value.valS.c_str());
|
// else Serial.printf("Call from VariableExprAST: %s = %s\n", Name.c_str(), Item->value.valS.c_str());
|
||||||
|
Item->getRoundValue();
|
||||||
return &(Item->value);
|
return &(Item->value);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -222,15 +223,17 @@ class BinaryExprAST : public ExprAST {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!lhs->isDecimal || !rhs->isDecimal) {
|
if (!lhs->isDecimal || !rhs->isDecimal) {
|
||||||
if (lhs->isDecimal)
|
// if (lhs->isDecimal)
|
||||||
lhsStr = (String)lhs->valD;
|
// lhsStr = (String)lhs->valD;
|
||||||
else
|
// else
|
||||||
lhsStr = lhs->valS;
|
// lhsStr = lhs->valS;
|
||||||
|
|
||||||
if (rhs->isDecimal)
|
// if (rhs->isDecimal)
|
||||||
rhsStr = (String)rhs->valD;
|
// rhsStr = (String)rhs->valD;
|
||||||
else
|
// else
|
||||||
rhsStr = rhs->valS;
|
// rhsStr = rhs->valS;
|
||||||
|
lhsStr = lhs->valS;
|
||||||
|
rhsStr = rhs->valS;
|
||||||
|
|
||||||
switch (Op) {
|
switch (Op) {
|
||||||
case tok_equal:
|
case tok_equal:
|
||||||
|
|||||||
@@ -169,13 +169,15 @@ class UART : public IoTItem {
|
|||||||
IoTValue execute(String command, std::vector<IoTValue> ¶m) {
|
IoTValue execute(String command, std::vector<IoTValue> ¶m) {
|
||||||
if (command == "println") {
|
if (command == "println") {
|
||||||
if (param.size() == 1) {
|
if (param.size() == 1) {
|
||||||
if (param[0].isDecimal) uartPrintln((String)param[0].valD);
|
//if (param[0].isDecimal) uartPrintln((String)param[0].valD);
|
||||||
else uartPrintln(param[0].valS);
|
//else uartPrintln(param[0].valS);
|
||||||
|
uartPrintln(param[0].valS);
|
||||||
}
|
}
|
||||||
} else if (command == "print") {
|
} else if (command == "print") {
|
||||||
if (param.size() == 1) {
|
if (param.size() == 1) {
|
||||||
if (param[0].isDecimal) uartPrint((String)param[0].valD);
|
//if (param[0].isDecimal) uartPrint((String)param[0].valD);
|
||||||
else uartPrint(param[0].valS);
|
//else uartPrint(param[0].valS);
|
||||||
|
uartPrintln(param[0].valS);
|
||||||
}
|
}
|
||||||
} else if (command == "printHex") {
|
} else if (command == "printHex") {
|
||||||
if (param.size() == 1) {
|
if (param.size() == 1) {
|
||||||
@@ -184,10 +186,11 @@ class UART : public IoTItem {
|
|||||||
} else if (command == "printFFF") {
|
} else if (command == "printFFF") {
|
||||||
if (param.size() == 2) {
|
if (param.size() == 2) {
|
||||||
String strToUart = "";
|
String strToUart = "";
|
||||||
if (param[0].isDecimal)
|
// if (param[0].isDecimal)
|
||||||
strToUart = param[0].valD;
|
// strToUart = param[0].valD;
|
||||||
else
|
// else
|
||||||
strToUart = param[0].valS;
|
// strToUart = param[0].valS;
|
||||||
|
strToUart = param[0].valS;
|
||||||
|
|
||||||
if (param[1].valD)
|
if (param[1].valD)
|
||||||
uartPrintFFF("\"" + strToUart + "\"");
|
uartPrintFFF("\"" + strToUart + "\"");
|
||||||
|
|||||||
Reference in New Issue
Block a user