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