Skip to content

Commit

Permalink
Testcase for #2145 and debug-log (#2151)
Browse files Browse the repository at this point in the history
* new models ana-cont-11.0.5, ana-class100-1.5.7, dig-class100-1.6.0

* Testcase for #2145
Added debug log, if allowNegativeRates is handeled
  • Loading branch information
haverland authored Mar 11, 2023
1 parent 431df73 commit 512d7f9
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -402,7 +402,7 @@ void ClassFlowPostProcessing::handleAllowNegativeRate(string _decsep, string _va
_digit = _decsep.substr(0, _pospunkt);
else
_digit = "default";

for (int j = 0; j < NUMBERS.size(); ++j)
{
bool _rt = false;
Expand Down Expand Up @@ -841,13 +841,15 @@ bool ClassFlowPostProcessing::doFlow(string zwtime)

if (!NUMBERS[j]->AllowNegativeRates)
{
LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "handleAllowNegativeRate for device: " + NUMBERS[j]->name);
if ((NUMBERS[j]->Value < NUMBERS[j]->PreValue))
{
#ifdef SERIAL_DEBUG
ESP_LOGD(TAG, "Neg: value=%f, preValue=%f, preToll%f", NUMBERS[j]->Value, NUMBERS[j]->PreValue,
NUMBERS[j]->PreValue-(2/pow(10, NUMBERS[j]->Nachkomma))
) ;
#endif

// Include inaccuracy of 0.2 for isExtendedResolution.
if (NUMBERS[j]->Value >= (NUMBERS[j]->PreValue-(2/pow(10, NUMBERS[j]->Nachkomma))) && NUMBERS[j]->isExtendedResolution) {
NUMBERS[j]->Value = NUMBERS[j]->PreValue;
Expand Down
27 changes: 27 additions & 0 deletions code/test/components/jomjol-flowcontroll/test_flow_pp_negative.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,30 @@ void testNegative() {

}

/**
* @brief Fehlerberichte aus Issues
*
*/
void testNegative_Issues() {
// Ohne decimal_shift
std::vector<float> digits = { 2.0, 2.0, 0.0, 1.0, 7.2, 9.0, 8.0};
std::vector<float> analogs = { };
double preValue_extended = 22018.080;
double preValue = 22018.08;

const char* expected = "22017.98";

// https://github.com/jomjol/AI-on-the-edge-device/issues/2145#issuecomment-1461899094
// extendResolution=false
// value < preValue
// Prüfung eingeschaltet => Fehler
preValue = 22018.08; // zu groß
UnderTestPost* underTestPost = init_do_flow(analogs, digits, Digital100, false, false, -2);
setAllowNegatives(underTestPost, false);
setPreValue(underTestPost, preValue_extended);
std::string result = process_doFlow(underTestPost);
TEST_ASSERT_EQUAL_STRING("Neg. Rate - Read: - Raw: 22017.98 - Pre: 22018.08 ", underTestPost->getReadoutError().c_str());
TEST_ASSERT_EQUAL_STRING(expected, result.c_str());
delete underTestPost;

}
8 changes: 4 additions & 4 deletions code/test/test_suite_flowcontroll.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,9 @@ extern "C" void app_main()
esp_log_level_set("*", ESP_LOG_DEBUG); // set all components to ERROR level

UNITY_BEGIN();

RUN_TEST(testNegative);

RUN_TEST(testNegative_Issues);
/* RUN_TEST(testNegative);
RUN_TEST(test_analogToDigit_Standard);
RUN_TEST(test_analogToDigit_Transition);
RUN_TEST(test_doFlowPP);
Expand All @@ -121,6 +121,6 @@ extern "C" void app_main()
// getReadoutRawString test
RUN_TEST(test_getReadoutRawString);

*/
UNITY_END();
}
Binary file added sd-card/config/dig-class100_0160_s2_q.tflite
Binary file not shown.

0 comments on commit 512d7f9

Please sign in to comment.