mirror of https://github.com/FOME-Tech/fome-fw.git
auto-sync
This commit is contained in:
parent
3e94012129
commit
0ee30d31c9
|
@ -131,3 +131,23 @@ void LEElementPool::reset() {
|
||||||
LEElement *LEElementPool::next() {
|
LEElement *LEElementPool::next() {
|
||||||
return &pool[index++];
|
return &pool[index++];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *processToken(const char *line, char *buffer) {
|
||||||
|
while (line[0] != 0 && line[0] == ' ') {
|
||||||
|
line++;
|
||||||
|
}
|
||||||
|
if (line[0] == 0) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
int tokenLen = indexOf(line, ' ');
|
||||||
|
if (tokenLen == -1) {
|
||||||
|
// no space - the whole remaining line is the token
|
||||||
|
strcpy(buffer, line);
|
||||||
|
return line + strlen(buffer);
|
||||||
|
}
|
||||||
|
strncpy(buffer, line, tokenLen);
|
||||||
|
buffer[tokenLen] = 0;
|
||||||
|
line += tokenLen;
|
||||||
|
return line;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -72,4 +72,6 @@ private:
|
||||||
FLStack<float, MAX_STACK_DEPTH> stack;
|
FLStack<float, MAX_STACK_DEPTH> stack;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const char *processToken(const char *line, char *buffer);
|
||||||
|
|
||||||
#endif /* LOGIC_EXPRESSION_H_ */
|
#endif /* LOGIC_EXPRESSION_H_ */
|
||||||
|
|
|
@ -241,5 +241,5 @@ void firmwareError(const char *fmt, ...) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int getRusEfiVersion(void) {
|
int getRusEfiVersion(void) {
|
||||||
return 20141003;
|
return 20141004;
|
||||||
}
|
}
|
||||||
|
|
|
@ -132,7 +132,7 @@ int main(void) {
|
||||||
testFLStack();
|
testFLStack();
|
||||||
|
|
||||||
// resizeMap();
|
// resizeMap();
|
||||||
printf("Success 20131003\r\n");
|
printf("Success 20131004\r\n");
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,10 +10,25 @@
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "test_logic_expression.h"
|
#include "test_logic_expression.h"
|
||||||
#include "logic_expression.h"
|
#include "logic_expression.h"
|
||||||
|
#include "cli_registry.h"
|
||||||
|
|
||||||
void testLogicExpressions(void) {
|
void testLogicExpressions(void) {
|
||||||
printf("*************************************************** testLogicExpressions\r\n");
|
printf("*************************************************** testLogicExpressions\r\n");
|
||||||
|
|
||||||
|
char buffer[64];
|
||||||
|
|
||||||
|
const char *ptr;
|
||||||
|
ptr = processToken(" hello ", buffer);
|
||||||
|
assertTrue(strEqual("hello", buffer));
|
||||||
|
|
||||||
|
ptr = processToken("hello", buffer);
|
||||||
|
assertTrue(strEqual("hello", buffer));
|
||||||
|
|
||||||
|
ptr = processToken(" hello world ", buffer);
|
||||||
|
assertTrue(strEqual("hello", buffer));
|
||||||
|
ptr = processToken(ptr, buffer);
|
||||||
|
assertTrue(strEqual("world", buffer));
|
||||||
|
|
||||||
LECalculator c;
|
LECalculator c;
|
||||||
|
|
||||||
LEElement value1;
|
LEElement value1;
|
||||||
|
@ -22,7 +37,6 @@ void testLogicExpressions(void) {
|
||||||
|
|
||||||
assertEqualsM("123", 123.0, c.getValue());
|
assertEqualsM("123", 123.0, c.getValue());
|
||||||
|
|
||||||
|
|
||||||
LEElement value2;
|
LEElement value2;
|
||||||
value2.init(LE_NUMERIC_VALUE, 321.0);
|
value2.init(LE_NUMERIC_VALUE, 321.0);
|
||||||
c.add(&value2);
|
c.add(&value2);
|
||||||
|
@ -61,7 +75,6 @@ void testLogicExpressions(void) {
|
||||||
e = pool.next();
|
e = pool.next();
|
||||||
e->init(LE_OPERATOR_OR);
|
e->init(LE_OPERATOR_OR);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* fan = (not fan && coolant > 90) OR (fan && coolant > 85)
|
* fan = (not fan && coolant > 90) OR (fan && coolant > 85)
|
||||||
* fan = fan NOT coolant 90 AND more fan coolant 85 more AND OR
|
* fan = fan NOT coolant 90 AND more fan coolant 85 more AND OR
|
||||||
|
|
Loading…
Reference in New Issue