Hi,
I wonder currently about how to use the 3DR radio with the serial USB simultaneously.
I have an APM 2.5. In the wiki is written, that a hardware muxer is preferring uart0 over uart2 at the uart0/2 port if usb cable is inserted (if I understood correctly).
So if I want that uart0/2 is always uart2, shall i simply do like described here: https://code.google.com/p/ardupilot-mega/wiki/APM2Wireless under point "(Optional) Changing your telemetry to use UART2 (aka Serial3)" and USB will work together with radio on uart0/2?
Greetings, Daniel
Replies
Hello,
We are trying to connect a device to the usb and the telemetry to uart2. To do this I tryid this:
http://copter.ardupilot.com/wiki/common-appendix/common-archived-to...
But I can´t connect, any other modifications are necessary?
Thanks in adavance!!! :-)
I made the mod, wrote a firmware and it is working perfectly. Just if someone is interested.
All three serial channels can work independently. I have no clue why a mux was implemented.
So you are the guy to ask if i wanted to have redundant telemetry on my 2.5board?
apm usb <=> android(3g)
apm telemetry port <=> 3dr radio
I have the problem, that if I read the radio I get only crap if I use heavily the CPU. If the load is low I read correct values. Why is that so. Happens on AM 2.5 and 2.6. Also using UartC. On uartA I can always read correctly independent on the CPU usage.
I wrote my own flight control firmware and I was wondering about this behavior.
One day I had the idea that I want to control my quad over smartphone or laptop.
So commands go over uartA. Since I recognized that radio would be nice too, I bought a 3Dr radio kit and wondered.
ATM. I use the telemetry port only if Wifi is not available. However then I limit the loop rate to 50 Hz to ensure, correct read outs.
Sending rates of the radio are very small, because I compressed the control signal to 8bytes.
However I wonder whether I can switch this package drop off somehow?
If you are not using MAVLink, turn of the MAV link feature in the radio as well. Turning off ECC gives you more bandwidth as well.
I use the complete ArduPilot library for handling the sensors and motors (AHRS, InertialNav, GPS, ..) but wrote some alternatives for filtering and sensor fusion, frame and network code as well as scheduler. My firmware is in contrast fully OOP. My network communication is different (no Mavlink) at all. I disabled ECC and all the features of the radio already. The only thing what is helping so far was to give the CPU all the time necessary to read on uartC and then do other calculations. The problem is, that there is no general rule.
Theoretically I could achieve with my firmware ~166 Hz on the APM 2.5 (no readout of the radio possible). However with 100 Hz loop frequncy there is already a 50-75% package drop rate. at 75 Hz maybe just 5-15% and on 50 Hz nearly no with 8 bytes command string. Drop rate is dependent on the complexity of the other calculations.
I just would like to know how this drop mechanism works.
See http://copter.ardupilot.com/wiki/arducopter-parameters/#SCHED__Para...
Look at how MAVLink does it see https://github.com/diydrones/ardupilot/blob/master/libraries/GCS_MA... and work back from there.
Make sure you do not 'busy_wait' for the comms otherwise i'm sure it will perform poorly