Comments (1)
I have come across a similar issue when using I2C via the GPIO socket implementation over a slow wireless network. I did not observe the problem when running the same code locally on the Pi via the loopback interface.
I think the problem might stem from PiGpioPacket#decode assuming that all the data for the packet, including the payload, is already available from the socket stream.
I have been able to solve this in a local build of pi4j which, rather than assuming all the bytes currently available, depending on the command (e.g. I2CRI, I2CRD) takes packets p3
value as a hint for the content length to expect.
This works for my I2C use cases. I don't have an SPI or serial project on the go at the moment, so have not been able to validate those cases.
I'd be happy to tidy my code an raise a PR for this if that would be helpful.
from pi4j-v2.
Related Issues (20)
- Requesting Support for GPIO Pin Access on Konstakang AOSP for Raspberry Pi HOT 3
- Pi4j PPA v2 outdated
- MockSpi.transfer() doesn't allow the tester to provide mock data
- MockSpi logging is hard to read because it is broken up across multiple lines
- Feature request: Method for MockSpi class that allows reading of the entire buffer for testing purposes
- Data read over I2C becomes out of sync over a slower wireless network HOT 1
- Use Socket#setSoTimeout to timeout read requests of GPIO socket implementation HOT 2
- Extend Digital Input and Output implementations in LinuxFS HOT 4
- Unable to obtain data from DHT11 HOT 2
- Is I2C available in this project for output to a 16x2 LCD? HOT 10
- Does Pi4J support the new PI 5? HOT 6
- pi4j-example-minimal doesn't work on Raspberry Pi 5 HOT 1
- New plugin to add support for the new Raspberry Pi 5 HOT 3
- i2cWriteByte is not able to write value greater then 128 0x80 HOT 1
- java.io.IOException: Remote I/O error java.base/java.io.RandomAccessFile.writeBytes(Native Method) HOT 2
- Extend support for Raspberry Pi 5: PWM and SPI
- Merge pi4j-board-info into core library
- [HELP] Raspberry PI 5 HOT 3
- Gracefully handle UnsatisfiedLinkError on newAutoContext
- Some classes are not importable HOT 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 pi4j-v2.