Comments (4)
@aler9
i dove a little deeper and it seems it does route the messages but it seems to truncate the payload.
Using an older mavp2p the message comes through with many bytes populated towards the end of the payload, on the new mavp2p on the first 20 or so are populated, the rest is 0x0
from mavp2p.
@sanderux @aler9 I have also seen that when QGC or Mission Planner does not negotiate stream rates, and mavp2p is configured with --streamreqdisable I can no longer receive parameters or send commands.
from mavp2p.
Hello, since #18 and #29, the router forwards messages, addressed to a certain system ID and component ID, only to the node which is broadcasting that specific system ID and component ID.
Therefore, this bug may be caused by one of the following things:
- the router inability to route PARAM_EXT_SET messages to the desired target; this might be caused by the fact that the target doesn't broadcast its system ID or component ID and therefore the router doesn't send him the message
- the router inability to correctly re-encode PARAM_EXT_SET messages. In order to obtain
TargetSystem
andTargetComponent
of a message, the router has to decode the message, and then to re-encode it.
Unfortunately i don't have ready-to-use SITLs that support PARAM_EXT_SET, therefore i was not able to replicate the issue. In order to debug further, we need network dumps of the data exchanged between the control station and the router, and between the router and the drone. They can be generated in this way:
- Download wireshark (https://www.wireshark.org/)
- Start capturing on the interface used for exchanging packets (if the router and the external hardware or software are both installed on your pc, the interface is probably "loopback", otherwise it's the one of your network card)
- Start the router and replicate the issue
- Stop capturing, save the result in .pcap format
- Attach
from mavp2p.
024/05/03 12:34:45 mavp2p v0.0.0
2024/05/03 12:34:45 router started with 2 endpoints
2024/05/03 12:34:45 channel opened: tcp:172.20.110.10:5799
2024/05/03 12:34:45 node appeared: chan=tcp:172.20.110.10:5799 sid=2 cid=101
2024/05/03 12:34:45 node appeared: chan=tcp:172.20.110.10:5799 sid=2 cid=154
2024/05/03 12:34:45 node appeared: chan=tcp:172.20.110.10:5799 sid=2 cid=1
2024/05/03 12:34:45 node appeared: chan=tcp:172.20.110.10:5799 sid=1 cid=194
2024/05/03 12:34:45 node appeared: chan=tcp:172.20.110.10:5799 sid=1 cid=191
2024/05/03 12:34:45 node appeared: chan=tcp:172.20.110.10:5799 sid=1 cid=236
2024/05/03 12:34:46 node appeared: chan=tcp:172.20.110.10:5799 sid=1 cid=51
2024/05/03 12:34:46 node appeared: chan=tcp:172.20.110.10:5799 sid=1 cid=192
2024/05/03 12:34:46 node appeared: chan=tcp:172.20.110.10:5799 sid=1 cid=155
2024/05/03 12:32:40 &frame.V2Frame{IncompatibilityFlag:0x0, CompatibilityFlag:0x0, SequenceNumber:0xc0, SystemID:0xff, ComponentID:0xbe, Message:(*common.MessageParamExtSet)(0xc000258ba0), Checksum:0x870f, SignatureLinkID:0x0, SignatureTimestamp:0x0, Signature:(*frame.V2Signature)(nil)}, &common.MessageParamExtSet{TargetSystem:0x2, TargetComponent:0x65, ParamId:"CAM_STREAM", ParamValue:"", ParamType:0x1}
Seems like ParamValue should not be empty
from mavp2p.
Related Issues (14)
- Possible Inverse Behavior HOT 1
- Routing to Target Systems/Components HOT 1
- Q: Custom routing to a specific channel/endpoint HOT 2
- Featurerequest support ardupilot and px4 binlog record
- Manipulate messages HOT 1
- Close channel after all nodes dissappear HOT 2
- Heartbeat componentID HOT 1
- Restart mavp2p on serial autopilot restart HOT 4
- Hardware flow control support HOT 1
- Is there an official Docker image for this project? HOT 2
- channel closed/open over and over HOT 1
- FeatureRequest: Enable dynamic use of mavp2p
- Featurerequest: TLOG logging endpoint HOT 3
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 mavp2p.