I’ve been trying to setup a broadcast mesh network across 6 nodes using RFD900x modules. One node is supposed to be the GCS. I have started with running MultiPoint 2.75 firmware and observed big latency when connecting to GCS software both QGC and MP. After upgrading to 2.86 firmware I have measured connection period and the observed stream rates indicated in Mission Planner,
For 2 nodes network running ArduCopter 4.0.0, connection period was about 50 seconds and stream rates was changing 0.3-0.7Hz back and forth for most of the mavlink messages. It looked the same with ArduPlane 4.0.5 firmware.
For 3 nodes network running ArduCopter and ArduPlane respectively, connection period was the same but interestingly I observed better performance in stream rates for both vehicles. Most of the messages were having 1Hz and some of them 0.7Hz.
Compared to 3DR SiK Radios, RFD900x throughput is lesser, in terms of measured stream rates. Do you see any problems or have any suggestions?
For the 4th node, I first tried to connect one-to-one to gcs, But I GCS become stuck in parameter download in both MP and QGC.I don’t know why, configurations were the same. And link quality was around %20-30 in Mission Planner. I will update this post for 4 nodes.
UPDATE: I changed nothing but powered all radios at the same time! After that forth node become responding the same as others. Stream rates were the same with 3 node configuration. Seems like network works reliably until now. Right?
Here is my configuration with 3 nodes,
The LED on the radio which is attached to GCS is blinking but remote nodes are having steady green light which means that it established the connection successfully. Is blinking green LED normal for GCS module?
I think there is lack of documentation of these sick radios, in terms of parameter explanations. For example S22, MASTERBACKUP, is not even mentioned in latest MultiPoint firmware. And I could not figure out the actual functionality of the parameters R0, R1. I don’t think one sentence description is really explains the parameter.
MAX_PACKET and BUFSIZE are the other ones which are not documented, and they seem to be changing without modification! I did not make any changes but both parameters seem to be being set by module itself and they are different, I don’t know why.
For parameters DUTY_CYCLE and MAX_WINDOW, I don’t know which value to choose and their metric information do lack. I know duty cycle is expressed as percentage but percentage of what signal? And max window does not give me any clue, maybe because I lack knowledge on RF communication. Hopefully someone would give me ideas how to set these parameters. I know, I should test. But how can I measure the performance?
I have activated RTS/CTS for the modules which are attached to pixhawk cube running ArduPilot. I observed small difference in performance, but RTS/CTS seem to be fooling the GCS software. I have TXPOWER=10 just for indoor tests.
So, do you see anything wrong in my setup? I am open to any advices which may result in better performances across the network for 6 nodes. I thought higher baudrates than 115200 will give much more bandwidth for reliable MAVLink traffic when having high number of nodes without having overflow in RX/TX buffers and locking the traffic. But RFD900x baudrates higher than 115200 does not match actually with Pixhawk hardware (???). Only serial0 seems to be the only port that match the RFD900x baudrates but it is placed at the left side of pixhawk and on micro usb port! Any ideas for configurations are welcome.
Have any of you considered to give a try to AsyncMesh? I read that AsynchMesh firmware having more packet loss compared to MultiPoint.
These are my experiences so far. Thanks in advance.