Comments (6)
@pascaldekloe if you wait a little (go 1.10 I guess) you will get this for free: https://go-review.googlesource.com/c/go/+/71770
from serial.
Unmaintained indeed. For now I made timeouts work with https://github.com/pascaldekloe/nbio.
from serial.
The package works for me and is feature complete for my needs, so I am not actively making changes to it. The package has and does transfer millions of bytes in production systems and I have an active interest in making sure it continues to do so.
From my perspective, it does what I need it to, but if other people have other needs, then pull requests that are well designed and work across all platforms will be accepted.
Read timeouts already exist in the package, but they are have a different API than net.Conn. Search for timeout in https://godoc.org/github.com/tarm/serial The documentation of timeouts could be better (part of the docs say that still need to be implemented). The low level serial timeouts work differently than socket based timeouts and work differently on different platforms, so I suspect implementing the net.Conn timeout API would either be very complicated or would be misleading to people.
from serial.
Now I see that the read timeout is per request. 🔔
“Implementations of Read are discouraged from returning a zero byte count with a nil error”
… and:
“Callers should treat a return of 0 and nil as indicating that nothing happened”
— https://godoc.org/io#Reader
Therefore a dedicated error is required such as the following.
https://godoc.org/github.com/pascaldekloe/nbio#ErrNoData
Do you agree @tarm?
PS
Maybe the "works for me" and the pull request barrier should be in the README to prevent disappointment? ;-)
from serial.
Indeed, the proposed convention seems to be the way to go. However I'm still waiting on @tarm to respond, again…
from serial.
status on this one @tarm ?
from serial.
Related Issues (20)
- Can't compile on MacOS HOT 3
- List Available Serial Ports
- Single byte []byte{0x0f} is not transmitted
- Add SetReadTimeout(readTimeout time.Duration) function.
- Add SendBreak method
- How to set DTR RST enable
- Unable to read AT command response on windows 10 machine using 8 Port USB Modem Pool HOT 2
- Timeout problem with io.Reader
- Can I use multiple Serial ports in one code for simultaneously reading? HOT 1
- Connecting to existing port crashes PC
- Gen2 License plate recognition is not working HOT 1
- How catch Lost Serial port(for example USB virtual rs-232 unplug) HOT 1
- lost data via bufio.Read HOT 2
- [Question] How To Send Break Signal? HOT 1
- Problem with syncing 3 receiving bytes HOT 1
- all serials HOT 4
- There is no error ReadTimeout HOT 2
- not clear buffer splitting when reading HOT 4
- Reading serial ERROR_OPERATION_ABORTED (995) HOT 1
- 为什串口有数据时,读取的数据总是将一帧发送数据的第一字节和剩余的字节数,分2次才能完全的读到? 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 serial.