-
-
Notifications
You must be signed in to change notification settings - Fork 345
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add IOControl library #2492
Add IOControl library #2492
Conversation
e0baf01
to
e4b1ce9
Compare
e4b1ce9
to
b1b3c63
Compare
I've tried running the sample under Host but it segfaults with assert. Is that expected under Host or I am doing something wrong?
|
The DMX driver needs looking at. If you want to continue testing without it just remove the corresponding call to |
DMX requests aren't queued as they update internal state. Add second DMX device to sample and demonstrate JSON requests
Mike, can you run codespell to fix small spelling mistakes? |
Use default baudrate if not specified Line break not released as it should be Request 'value' must be signed so 'adjust' command works as intended Fix fade timing Fix race hazard in RS485 driver
@mikee47 Do you want to make the best of your IDE and replace the occurrences of, if I am not mistaken, Hungarian Notation for variables? I guess these are left-overs from previous versions. |
3c51ace
to
6de9e19
Compare
@mikee47 replace:
with
|
There might be still concurrency issue(s) and the application is segfaulting. Steps to reproduce it is to compile the sample.
And wait. Soon the application segfaults during release of a request.
My wild guess is that this request is still used somewhere after it was freed. This seems to be a timing issue and, unfortunately, I cannot reproduce it under valgrind or gdb. Can you reproduce it on your system? |
I managed to get it once, using --cpulimit=2 and running other CPU intensive stuff at the same time. I'm doing the same in debugger and so far behaving itself... It could be the host serial emulation (or threading) again... Different error though:
|
6de9e19
to
3de3224
Compare
OK, found and fixed problem. |
Don't add delay on receive completion - protocol-specific and not generally necessary Switch transceiver back to idle promptly
@mikee47 I am very glad that the long-awaited IOControl library made it into the official |
The IO Control library is an asynchronous Input/Output device stack for embedded devices such as the ESP8266.
The main reason for building this was to provide a mechanism for serialising modbus requests along with commands to other types of device such as DMX512 dimmers and 433MHz light switches.
This PR is related to #1991.
todo: