Merge branch 'tbnobody:master' into master

This commit is contained in:
Ralf Bauer 2023-06-30 13:25:22 +02:00 committed by GitHub
commit 372f7f7eaa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 60 additions and 66 deletions

View File

@ -29,11 +29,11 @@ bool RealTimeRunDataCommand::handleResponse(InverterAbstract* inverter, fragment
// Check if at least all required bytes are received // Check if at least all required bytes are received
// In case of low power in the inverter it occours that some incomplete fragments // In case of low power in the inverter it occours that some incomplete fragments
// with a valid CRC are received. // with a valid CRC are received.
if (getTotalFragmentSize(fragment, max_fragment_id) < inverter->Statistics()->getMaxByteCount()) { uint8_t fragmentsSize = getTotalFragmentSize(fragment, max_fragment_id);
Hoymiles.getMessageOutput()->printf("ERROR in %s: Received fragment size: %d min. expected size: %d\r\n", uint8_t expectedSize = inverter->Statistics()->getExpectedByteCount();
getCommandName().c_str(), if (fragmentsSize < expectedSize) {
getTotalFragmentSize(fragment, max_fragment_id), Hoymiles.getMessageOutput()->printf("ERROR in %s: Received fragment size: %d, min expected size: %d\r\n",
inverter->Statistics()->getMaxByteCount()); getCommandName().c_str(), fragmentsSize, expectedSize);
return false; return false;
} }

View File

@ -32,25 +32,18 @@ void StatisticsParser::setByteAssignment(const byteAssign_t* byteAssignment, uin
{ {
_byteAssignment = byteAssignment; _byteAssignment = byteAssignment;
_byteAssignmentSize = size; _byteAssignmentSize = size;
}
uint8_t StatisticsParser::getMaxByteCount()
{
static uint8_t maxByteCount = 0;
// Use already calculated value
if (maxByteCount > 0) {
return maxByteCount;
}
for (uint8_t i = 0; i < _byteAssignmentSize; i++) { for (uint8_t i = 0; i < _byteAssignmentSize; i++) {
if (_byteAssignment[i].div == CMD_CALC) { if (_byteAssignment[i].div == CMD_CALC) {
continue; continue;
} }
maxByteCount = max<uint8_t>(maxByteCount, _byteAssignment[i].start + _byteAssignment[i].num); _expectedByteCount = max<uint8_t>(_expectedByteCount, _byteAssignment[i].start + _byteAssignment[i].num);
} }
}
return maxByteCount; uint8_t StatisticsParser::getExpectedByteCount()
{
return _expectedByteCount;
} }
void StatisticsParser::clearBuffer() void StatisticsParser::clearBuffer()

View File

@ -110,7 +110,7 @@ public:
void setByteAssignment(const byteAssign_t* byteAssignment, uint8_t size); void setByteAssignment(const byteAssign_t* byteAssignment, uint8_t size);
// Returns 1 based amount of expected bytes of statistic data // Returns 1 based amount of expected bytes of statistic data
uint8_t getMaxByteCount(); uint8_t getExpectedByteCount();
const byteAssign_t* getAssignmentByChannelField(ChannelType_t type, ChannelNum_t channel, FieldId_t fieldId); const byteAssign_t* getAssignmentByChannelField(ChannelType_t type, ChannelNum_t channel, FieldId_t fieldId);
fieldSettings_t* getSettingByChannelField(ChannelType_t type, ChannelNum_t channel, FieldId_t fieldId); fieldSettings_t* getSettingByChannelField(ChannelType_t type, ChannelNum_t channel, FieldId_t fieldId);
@ -142,6 +142,7 @@ private:
const byteAssign_t* _byteAssignment; const byteAssign_t* _byteAssignment;
uint8_t _byteAssignmentSize; uint8_t _byteAssignmentSize;
uint8_t _expectedByteCount;
std::list<fieldSettings_t> _fieldSettings; std::list<fieldSettings_t> _fieldSettings;
uint32_t _rxFailureCount = 0; uint32_t _rxFailureCount = 0;

View File

@ -24,7 +24,7 @@
"devDependencies": { "devDependencies": {
"@intlify/unplugin-vue-i18n": "^0.11.0", "@intlify/unplugin-vue-i18n": "^0.11.0",
"@rushstack/eslint-patch": "^1.3.2", "@rushstack/eslint-patch": "^1.3.2",
"@tsconfig/node18": "^2.0.1", "@tsconfig/node18": "^18.2.0",
"@types/bootstrap": "^5.2.6", "@types/bootstrap": "^5.2.6",
"@types/node": "^20.3.2", "@types/node": "^20.3.2",
"@types/sortablejs": "^1.15.1", "@types/sortablejs": "^1.15.1",
@ -37,10 +37,10 @@
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",
"sass": "^1.63.6", "sass": "^1.63.6",
"terser": "^5.18.2", "terser": "^5.18.2",
"typescript": "^5.1.3", "typescript": "^5.1.5",
"vite": "^4.3.9", "vite": "^4.3.9",
"vite-plugin-compression": "^0.5.1", "vite-plugin-compression": "^0.5.1",
"vite-plugin-css-injected-by-js": "^3.1.1", "vite-plugin-css-injected-by-js": "^3.1.2",
"vue-tsc": "^1.8.2" "vue-tsc": "^1.8.3"
} }
} }

View File

@ -350,10 +350,10 @@
resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.3.2.tgz#31b9c510d8cada9683549e1dbb4284cca5001faf" resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.3.2.tgz#31b9c510d8cada9683549e1dbb4284cca5001faf"
integrity sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw== integrity sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==
"@tsconfig/node18@^2.0.1": "@tsconfig/node18@^18.2.0":
version "2.0.1" version "18.2.0"
resolved "https://registry.yarnpkg.com/@tsconfig/node18/-/node18-2.0.1.tgz#2d2e11333ef2b75a4623203daca264e6697d693b" resolved "https://registry.yarnpkg.com/@tsconfig/node18/-/node18-18.2.0.tgz#d6b5358b3fa85fe89b13b46cb1e996e4d79d6a07"
integrity sha512-UqdfvuJK0SArA2CxhKWwwAWfnVSXiYe63bVpMutc27vpngCntGUZQETO24pEJ46zU6XM+7SpqYoMgcO3bM11Ew== integrity sha512-yhxwIlFVSVcMym3O31HoMnRXpoenmpIxcj4Yoes2DUpe+xCJnA7ECQP1Vw889V0jTt/2nzvpLQ/UuMYCd3JPIg==
"@types/bootstrap@^5.2.6": "@types/bootstrap@^5.2.6":
version "5.2.6" version "5.2.6"
@ -481,26 +481,26 @@
resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz#ee0b6dfcc62fe65364e6395bf38fa2ba10bb44b6" resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz#ee0b6dfcc62fe65364e6395bf38fa2ba10bb44b6"
integrity sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw== integrity sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==
"@volar/language-core@1.7.9": "@volar/language-core@1.7.10":
version "1.7.9" version "1.7.10"
resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-1.7.9.tgz#e9ca92fcbffa88136394c692454036548d97ea5a" resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-1.7.10.tgz#605edda2844c51bd31fff75d9311023d2c574ec0"
integrity sha512-U6GMPDNqfGFqVRv4npUN2hEDW4/6EwL4YHd6qggapcvTzRrYAodTTbOTZs4PDzmw7NSZ2Cdrmd54SjzCCMXbZw== integrity sha512-18Gmth5M0UI3hDDqhZngjMnb6WCslcfglkOdepRIhGxRYe7xR7DRRzciisYDMZsvOQxDYme+uaohg0dKUxLV2Q==
dependencies: dependencies:
"@volar/source-map" "1.7.9" "@volar/source-map" "1.7.10"
"@volar/source-map@1.7.9": "@volar/source-map@1.7.10":
version "1.7.9" version "1.7.10"
resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-1.7.9.tgz#a9588fce0a989f320bcd1ab37e31948a6a57f5cc" resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-1.7.10.tgz#756be885bfeb6249c4fa2526c40c0eee4086aeed"
integrity sha512-bLizh8HIAzbq7OdxfyoG18dXJJF9FNXBcaiRj7eqg2Bq+DkgkYHabaY+xobgaXeKFOp93Tg1KfMM7qyR2KXHmQ== integrity sha512-FBpLEOKJpRxeh2nYbw1mTI5sZOPXYU8LlsCz6xuBY3yNtAizDTTIZtBHe1V8BaMpoSMgRysZe4gVxMEi3rDGVA==
dependencies: dependencies:
muggle-string "^0.3.1" muggle-string "^0.3.1"
"@volar/typescript@1.7.9": "@volar/typescript@1.7.10":
version "1.7.9" version "1.7.10"
resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-1.7.9.tgz#28f3597a391a90036c9e90c770654cd45201f572" resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-1.7.10.tgz#d1b11e8cbc5ed0da69f9b8cd3d04cbbc4f06227e"
integrity sha512-cXGg7lgvdjpRjYfz52cXKo6ExBi8k3pWeBe6Gckf4+9zmTfEwEFfKWMj0H/IyUYO+S2rjyE9jytdsu1Imk+Azw== integrity sha512-yqIov4wndLU3GE1iE25bU5W6T+P+exPePcE1dFPPBKzQIBki1KvmdQN5jBlJp3Wo+wp7UIxa/RsdNkXT+iFBjg==
dependencies: dependencies:
"@volar/language-core" "1.7.9" "@volar/language-core" "1.7.10"
"@vue/compiler-core@3.2.47": "@vue/compiler-core@3.2.47":
version "3.2.47" version "3.2.47"
@ -623,13 +623,13 @@
"@typescript-eslint/parser" "^5.59.1" "@typescript-eslint/parser" "^5.59.1"
vue-eslint-parser "^9.1.1" vue-eslint-parser "^9.1.1"
"@vue/language-core@1.8.2": "@vue/language-core@1.8.3":
version "1.8.2" version "1.8.3"
resolved "https://registry.yarnpkg.com/@vue/language-core/-/language-core-1.8.2.tgz#560c1df639394a5df0043f2d7989dc2fba5bf4ca" resolved "https://registry.yarnpkg.com/@vue/language-core/-/language-core-1.8.3.tgz#5d0d24b0290343c592c1e30712553804856b366a"
integrity sha512-QJujhmp89TRoWwzjn2sPMezG97+mNyaCTfznGHWNCE3LBsillZCBqAO7M7cxO8ee1V3r+qHjWytkoh3M4YkRJw== integrity sha512-AzhvMYoQkK/tg8CpAAttO19kx1zjS3+weYIr2AhlH/M5HebVzfftQoq4jZNFifjq+hyLKi8j9FiDMS8oqA89+A==
dependencies: dependencies:
"@volar/language-core" "1.7.9" "@volar/language-core" "1.7.10"
"@volar/source-map" "1.7.9" "@volar/source-map" "1.7.10"
"@vue/compiler-dom" "^3.3.0" "@vue/compiler-dom" "^3.3.0"
"@vue/reactivity" "^3.3.0" "@vue/reactivity" "^3.3.0"
"@vue/shared" "^3.3.0" "@vue/shared" "^3.3.0"
@ -718,13 +718,13 @@
resolved "https://registry.yarnpkg.com/@vue/tsconfig/-/tsconfig-0.4.0.tgz#f01e2f6089b5098136fb084a0dd0cdd4533b72b0" resolved "https://registry.yarnpkg.com/@vue/tsconfig/-/tsconfig-0.4.0.tgz#f01e2f6089b5098136fb084a0dd0cdd4533b72b0"
integrity sha512-CPuIReonid9+zOG/CGTT05FXrPYATEqoDGNrEaqS4hwcw5BUNM2FguC0mOwJD4Jr16UpRVl9N0pY3P+srIbqmg== integrity sha512-CPuIReonid9+zOG/CGTT05FXrPYATEqoDGNrEaqS4hwcw5BUNM2FguC0mOwJD4Jr16UpRVl9N0pY3P+srIbqmg==
"@vue/typescript@1.8.2": "@vue/typescript@1.8.3":
version "1.8.2" version "1.8.3"
resolved "https://registry.yarnpkg.com/@vue/typescript/-/typescript-1.8.2.tgz#d81e2c16197e8fcf032fe766d79952cb9a629af7" resolved "https://registry.yarnpkg.com/@vue/typescript/-/typescript-1.8.3.tgz#fde59493ca9a16c61880ba6d570ae6b092697a40"
integrity sha512-5q2gpCBIfGlygfJupyjAQbc82r5J6qQuhupPeX3NlHvDK+mR6m5n4jVGknSacsp+7gtgs4RKYDq+tysoto+npA== integrity sha512-6bdgSnIFpRYHlt70pHmnmNksPU00bfXgqAISeaNz3W6d2cH0OTfH8h/IhligQ82sJIhsuyfftQJ5518ZuKIhtA==
dependencies: dependencies:
"@volar/typescript" "1.7.9" "@volar/typescript" "1.7.10"
"@vue/language-core" "1.8.2" "@vue/language-core" "1.8.3"
acorn-jsx@^5.2.0, acorn-jsx@^5.3.2: acorn-jsx@^5.2.0, acorn-jsx@^5.3.2:
version "5.3.2" version "5.3.2"
@ -2435,10 +2435,10 @@ type-fest@^0.20.2:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
typescript@^5.1.3: typescript@^5.1.5:
version "5.1.3" version "5.1.5"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.3.tgz#8d84219244a6b40b6fb2b33cc1c062f715b9e826" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.5.tgz#a3ae755082488b6046fe64345d293ef26af08671"
integrity sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw== integrity sha512-FOH+WN/DQjUvN6WgW+c4Ml3yi0PH+a/8q+kNIfRehv1wLhWONedw85iu+vQ39Wp49IzTJEsZ2lyLXpBF7mkF1g==
ufo@^1.1.2: ufo@^1.1.2:
version "1.1.2" version "1.1.2"
@ -2499,10 +2499,10 @@ vite-plugin-compression@^0.5.1:
debug "^4.3.3" debug "^4.3.3"
fs-extra "^10.0.0" fs-extra "^10.0.0"
vite-plugin-css-injected-by-js@^3.1.1: vite-plugin-css-injected-by-js@^3.1.2:
version "3.1.1" version "3.1.2"
resolved "https://registry.yarnpkg.com/vite-plugin-css-injected-by-js/-/vite-plugin-css-injected-by-js-3.1.1.tgz#8324412636cf6fdada1a86f595aa2e78458e5ddb" resolved "https://registry.yarnpkg.com/vite-plugin-css-injected-by-js/-/vite-plugin-css-injected-by-js-3.1.2.tgz#0f5b69ee98e09f5271b277289c1968f1ebbb1cae"
integrity sha512-mwrFvEEy0TuH8Ul0cb2HgjmNboQ/JnEFy+kHCWqAJph3ikMOiIuyYVdx0JO4nEIWJyzSnc4TTdmoTulsikvJEg== integrity sha512-hv/DKA1Yn7Dcqh51nSDiqXJORzXxky4I1CjzsSbJtap0lgCk8qVzkoyEIgWMu+XXjEzv1tyIsLHYwobHTLLh/w==
vite@^4.3.9: vite@^4.3.9:
version "4.3.9" version "4.3.9"
@ -2566,13 +2566,13 @@ vue-template-compiler@^2.7.14:
de-indent "^1.0.2" de-indent "^1.0.2"
he "^1.2.0" he "^1.2.0"
vue-tsc@^1.8.2: vue-tsc@^1.8.3:
version "1.8.2" version "1.8.3"
resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-1.8.2.tgz#dd9b0edfed10b590a82f964969e12d7733a282c4" resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-1.8.3.tgz#246c0798717ec094e51809e027df48f4d85162e1"
integrity sha512-iLS+z7jzxEAZRGLo4bYWfzZeBNVA71uXKmT2+5bQSsOJBtGLniR45sVpR+X7sa0m3J8iMEIU5+phLB7FnMLS0A== integrity sha512-Ua4DHuYxjudlhCW2nRZtaXbhIDVncRGIbDjZhHpF8Z8vklct/G/35/kAPuGNSOmq0JcvhPAe28Oa7LWaUerZVA==
dependencies: dependencies:
"@vue/language-core" "1.8.2" "@vue/language-core" "1.8.3"
"@vue/typescript" "1.8.2" "@vue/typescript" "1.8.3"
semver "^7.3.8" semver "^7.3.8"
vue@^3.3.4: vue@^3.3.4: