Comments (3)
I've been able to reproduce the first, second, and third error case when using the terminal.
As far as I can tell with a logic analyser, the terminal is outputting what it says it is, and the micro is responding with the error. The actual generation of data by the terminal also seems correct at a glance.
Looking into this.
from electricui-embedded.
So the inbound message was parsed and passed up to the application layer, which was failing to 'find' the stored object in the internal array. After some tedious poking, I found that (for sub-max length msgIDs) the ID was retaining one or more characters of the last ingested message.
At some stage (late 2017 parser?) there was null termination added for the "current byte + 1" position. In the current rendition of the parser, I post incremented the counter for msgID bytes, and then perform processing logic.
As such, for shorter msgID's, I was null terminating one character too late, leaving a byte which caused a correct error in the application level search.
This has been resolved in 9959d07.
Feel free to close this issue once you validate everything works.
from electricui-embedded.
Validated, nice work.
from electricui-embedded.
Related Issues (20)
- Multiple-interfaces example needs cleanup
- types-arrays-structures example has duplicated tracked variable strings
- Create a tracked "Session ID" and broadcast function to resolve 'multi-device state-races' HOT 1
- Refactor board_identifier configuration and internal storage
- Arduino checker script should make sure electricui is an arduino library
- Make the fan controller arduino example less bad
- Saleae Logic Analyzer plugin HOT 1
- Passing in singular interface in EUI_LINK didn't work
- Investigate inbound writes with malformed lengths with respect to actual data size
- Persistence EEPROM example UUID example is incomplete
- Embed copywrite, licence and version info in source files HOT 1
- Resolve "narrowing conversion from unsigned int ..." warnings
- Better in-source comments (doxygen?)
- Change macros from TYPE_RO_ARRAY to TYPE_ARRAY_RO for legibility
- Missing 'namespace' on some electricui.c functions
- Mismatched MSGID_SIZE and variable size gives always-true result
- eui_status_t bitfield has 9-bit and unused field HOT 1
- Unit test runner inconsistencies between CI and workstation HOT 1
- Malformed message identifier handshake packet contents
- ESP32 Websockets example doesn't connect to network? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from electricui-embedded.