diff --git a/src/ATBAPP/support/CashUtils.cpp b/src/ATBAPP/support/CashUtils.cpp index 3943ee6..6e09aae 100644 --- a/src/ATBAPP/support/CashUtils.cpp +++ b/src/ATBAPP/support/CashUtils.cpp @@ -39,13 +39,36 @@ uint32_t CashUtils::getAmountOfInsertedCoins(hwinf* hw) uint32_t CashUtils::getAmountOfInsertedNotes(hwinf* hw) { uint32_t result = 0; + uint8_t numberOfInsertedNotes; - uint16_t values[MAX_NOTES]; - hw->bna_getCurrentNotes(0, values); + uint16_t beforeArray = 0; + uint16_t currentNotes[4]; + uint16_t afterArray = 0; + numberOfInsertedNotes = hw->bna_getCurrentNotes(0, currentNotes); - for (int i = 0; i < MAX_COINS; i++) { - result += values[i]; + if ( (beforeArray != 0) || (afterArray != 0) ) { + qCritical() << "CashUtils::getAmountOfInsertedNotes() ERROR: Array"; } + if (numberOfInsertedNotes == 99) { + // Error + qCritical() << "CashUtils::getAmountOfInsertedNotes() ERROR: "; + for (int i = 0; i < 4; i++) { + qCritical() << " currentNotes[" << i << "] = " << currentNotes[i]; + } + } + else { + // no error + result = currentNotes[3]; + result = ( result << 16 ) | currentNotes[2]; + } + + // DEBUG + qCritical() << "--------------------------------------------------"; + qCritical() << "CashUtils::getAmountOfInsertedNotes()"; + qCritical() << " numberOfInsertedNotes = " << numberOfInsertedNotes; + qCritical() << " result = " << result; + qCritical() << "--------------------------------------------------"; + return result; }