Comments (2)
Hi,
thank you for reporting the issue.
Let me explain the problem here:
With a multi threading system you could just have one thread reading and providing the buffer to the main thread, while here there's no multi threading and when you write the process will start reading and then it waits for the other endpoint to finish writing.
This is fine, except for the fact that sometimes pyserial, which is used by ATtila to interface with serial devices, says there's nothing to read and the read returns. The timeout indeed is only used when no data has been read.
The last fix, improved a lot the performance, but in many cases it missed the bytes. This happens especially when using a low baud rate (such as 9600 indeed).
I've managed to fix this issue, but yep, the performance is lower. Still fast, but not superfast.
The problem is that I want to guarantee my read function to wait for the endpoint to finish, but this involves delays, which are annoying. In my opinion it's not too slow, and should be fine. I don't think I want to make other fixes for this issue, since here I can choose between:
- better performance, but lower reliability
- higher reliability, worse performance
- multi threading, which is OK, but implies many things. I don't know if it's worth or not for this project tbh.
If you want to give it a try, there's a patch 1.1.5.
Let me know if it's ok for you.
from attila.
OK thanks for the explanation. I will give it a try!
from attila.
Related Issues (6)
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 attila.