Comments (4)
Controller comm parameters are 4800 baud, 8 data bits, 1 stop bit, no parity and no flow (so 9 bits total per word - I'm assuming it's a 16 bit word size but I have no good idea). No other comm options.
TimePerBit (in sec) is 1 / baud rate, so that's ~208 microseconds per bit right there. With 9 bits per word, and 265 bytes total, that's 0.497 sec right there without any overhead or anything else. So 0.5 seconds is definitely too short. Le sigh.
from mrfreeze.
The way to fix this is to change serComm to read until the buffer is empty, not read for however long the timeout happens to be. I should just do that.
from mrfreeze.
Since I'm using pyserial, if I open the socket with timeout=0
it implies that it'll read up to the specified number of bytes and return immediately. But I'm pretty sure I enabled the timeout because I was getting network hiccups/hangups, so idk what (if anything) to really do here. Maybe call 0.75 sec better than 1 second and call it an evening with the other speedups.
See https://pyserial.readthedocs.io/en/latest/pyserial_api.html#serial.Serial.__init__
from mrfreeze.
Had to fall back to 1.0 seconds because the LS325 and the Sunpower controllers were dropping/mangling responses! Annoying.
from mrfreeze.
Related Issues (16)
- Proper packaging
- Query all enabled devices at startup HOT 1
- Migrate old instrument temperature data HOT 2
- Add CSHELL Devices: Scientific Instruments 9620-1, Lake Shore 331, and Varian AGC-100 HOT 8
- Fix hardcoded config items HOT 2
- Calculate and store temperature ramp rates
- Fix up LOIS log parsing more HOT 1
- Fix listener HOT 3
- Documentation!
- Parsers need rails HOT 3
- Planning out the 'gettemp' replacement HOT 5
- Figure out log file support
- Figure out enabling/disabling modules without restarting manually HOT 5
- Remote/broker command set definition HOT 17
- Tie broker subscriptions to 'enabled' statuses? 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 mrfreeze.