Skip to content
This repository has been archived by the owner on May 26, 2024. It is now read-only.

Fix: Always have a complete NMEA message in buffer #33

Merged
merged 7 commits into from
Jan 21, 2021

Conversation

aentinger
Copy link
Member

@aentinger aentinger commented Jan 20, 2021

This fixes #31.

@aentinger aentinger added type: enhancement PR to improve the project. topic: firmware Code that runs on an embedded system. labels Jan 20, 2021
@aentinger aentinger self-assigned this Jan 20, 2021
@codecov-io
Copy link

codecov-io commented Jan 20, 2021

Codecov Report

Merging #33 (4855ab1) into master (0d620f0) will increase coverage by 0.27%.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #33      +/-   ##
==========================================
+ Coverage   91.30%   91.57%   +0.27%     
==========================================
  Files          10       10              
  Lines         368      380      +12     
==========================================
+ Hits          336      348      +12     
  Misses         32       32              
Impacted Files Coverage Δ
src/ArduinoNmeaParser.h 100.00% <ø> (ø)
src/ArduinoNmeaParser.cpp 97.95% <100.00%> (+0.18%) ⬆️
src/nmea/util/checksum.cpp 100.00% <0.00%> (ø)
src/nmea/GxRMC.cpp 97.72% <0.00%> (+0.02%) ⬆️
src/nmea/GxGGA.cpp 78.30% <0.00%> (+0.20%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4ada3ba...4855ab1. Read the comment docs.

@github-actions
Copy link

Memory usage change @ 4293c36

Board flash % RAM for global variables %
arduino:samd:mkrvidor4000 💚 -8 - -8 -0.0 - -0.0 💚 -4 - -4 -0.01 - -0.01
Click for full report table
Board examples/NMEA-Basic
flash
% examples/NMEA-Basic
RAM for global variables
%
arduino:samd:mkrvidor4000 -8 -0.0 -4 -0.01
Click for full report CSV
Board,examples/NMEA-Basic<br>flash,%,examples/NMEA-Basic<br>RAM for global variables,%
arduino:samd:mkrvidor4000,-8,-0.0,-4,-0.01

@107-systems 107-systems deleted a comment from github-actions bot Jan 20, 2021
…as suffered from the fact that it did not check for the occurence of both $ and \r\n within the parser buffer. Consequently - when during a power down an incomplete message arrives garbage is fed to the decoder which leads to all sorts of trouble down the line. This commit is fixing this issue.
@aentinger aentinger force-pushed the fix-always-complete-message-in-parse-buffer branch from 4855ab1 to 5173234 Compare January 21, 2021 06:14
@github-actions
Copy link

Memory usage change @ 5173234

Board flash % RAM for global variables %
arduino:samd:mkrvidor4000 🔺 +16 - +16 +0.01 - +0.01 💚 -4 - -4 -0.01 - -0.01
Click for full report table
Board examples/NMEA-Basic
flash
% examples/NMEA-Basic
RAM for global variables
%
arduino:samd:mkrvidor4000 16 0.01 -4 -0.01
Click for full report CSV
Board,examples/NMEA-Basic<br>flash,%,examples/NMEA-Basic<br>RAM for global variables,%
arduino:samd:mkrvidor4000,16,0.01,-4,-0.01

@aentinger aentinger merged commit b83909d into master Jan 21, 2021
@aentinger aentinger deleted the fix-always-complete-message-in-parse-buffer branch January 21, 2021 16:22
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
topic: firmware Code that runs on an embedded system. type: enhancement PR to improve the project.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Unhandled exception when extracting checkum on ESP32
2 participants