So I've got a pair of Digi XT09-SI 9 Xtend modules. I'm trying to get them communicating with a base station and an APM in a plane. I first tried the default baud rate, 57600, and range-testing the radios by jumpering RX and TX on the remote end and echoing data back to myself. I got 99% success rate on that. I then tried interfacing to the telemetry port on the oilpan with my FDTI adaptor (an arduino duemilanove with no firmware) at 57600. Again, great success.
The problems started when I tried to communicate via the radios. I could sometimes get all the way through reading the parameters, but only rarely, before the connection dropped out and "Not a 1280... Not a 2560" was written to console. I've dropped the baud rate down to 9600 in the modules and on SERIAL3_BAUD in the APM firmware and now I can maintain a connection indefinitely, but there are still many dropped packets. I am about 50% successful in downloading a set of 22 waypoints without it bombing out with the error (displayed in a popup dialog box, not the console):
Error : System.Exception: Timeout on read - setWP
at ArdupilotMega.MAVLink.setWP(...
at ArdupilotMega.GCSViews.FlightPlanner.<BUT_write_Click >b__7()
Screenshot of waypoint download attempt:
http://www.tjhowse.com/hackerspace/uav/errorlog.png
Screenshot of idle operation:
http://www.tjhowse.com/hackerspace/uav/errorlog2.png
.tlog file from today's testing.
http://www.tjhowse.com/hackerspace/uav/errorlog.zip
I've reduced the TX power to 100mW from the default 1W. 100mW should still be ample to reach the other end of my house, though it's no better or worse than when it's in the room with me. I've also updated the firmware on the telemetry modules to the latest.
Anyone got any ideas?
Tags:

Permalink Reply by Michael Pursifull on October 10, 2011 at 2:45am Yes; I have no personal experience with this myself, I have had some non-standard ArduPilot Digi gear on order for a month, but it is not here yet. But I have read about this problem with the extended range and also with series 2 modules.
What I understand from the reading is that maybe these other modules do not handle streaming data well. The use case that they were built for is more like brief bursts. And the APM knows nothing about the radios and how best to send data.
I have a lot of questions about this, and there are a lot of things I do not understand about it, but that is all I know. It might help you to find out more information, and maybe that will either help you find someone that knows the truth, or learn enough to investigate (and solve?) it yourself, maybe.
Digi tells me the modules I bought will ship on 10/10/2011 ;) So I can feel your pain (different modules) soon, I hope...
Permalink Reply by jim C. on October 10, 2011 at 6:24am Hi tjhowse , I also I have a pair of XT09, and supporting evidence; been doing and work well at close range, but when I go more than 10 meters is no loss of signal (the XT09 are configured with power 1watts and 57000 bps) .. and could not find the solution.
which pins are you using for the connection of the XT09?
Permalink Reply by tjhowse on October 10, 2011 at 6:28am DI, DO, GND and VCC with SHDN tied to VCC, plugged into the telemetry header on the front-left of the oilpan.
I have found no correlation between range and performance. It's equally bad at all distances.
Permalink Reply by jim C. on October 10, 2011 at 12:23pm I just used this configuration in the file APM_Config.h
# define SERIAL3_BAUD 9600
/ / # Define SERIAL3_BAUD 19200
/ / # Define SERIAL3_BAUD 38400
/ / # Define SERIAL3_BAUD 57600
/ / # Define SERIAL3_BAUD 115200
seems to work to put all the options
to operate the XT09 is an Obsession turned to me :) ......
regards.....
Permalink Reply by tjhowse on October 12, 2011 at 2:14am Which firmware does everyone use on their XT09-SIs? I've got the choice of:
9XTEND 115K HOPPING (DIGIMESH - AUSTRALIA)
9XTEND 115K HOPPING (DIGIMESH)
9XTEND 9600/115K HOPPING (DIGIMESH)
9XTEND AUSTRALIA
9XTEND-PKG 9600/115K HOPPING
I've tried them all, with varying levels of failure. Which do people generally use?
Permalink Reply by tjhowse on October 12, 2011 at 5:39am It should also be noted that the radios range test fine. 2000 successes, 16 fails. 99.2%, using the range test utility in X-CTU.
Permalink Reply by Scott Plunkett on October 12, 2011 at 6:52am Have you tried any speed higher than the 57600? - It could be a buffer problem. The problem people have with the XSC (Extended Range) XBees is that they top out at 9600. I ran my 9Xtend radios at 115200, using the 9XTEND-PKG 9600/115K HOPPING radio firmware - but I must say that I have not tried it with any of the current generation GCS, I was only using it for telemetry to a data logger. I have since then switched to a pair of microhard ehternet radios that I am attempting to get working. You were likely never getting the 1W of power out of the radios- they require 730mA at 5V to push out the 1W. I ended up creating my own power board based on Sparkfun's breakout board to give the radio a clean and separate power supply (running off of the same battery but with its own 5V1A LDO Power Regulator.) Since we are not using flow control, you need to make sure the DI (Data In) and DO (Data Out) buffers don't overflow. Make absolutely certain that the BD and BR (baud and rf data rates) are the SAME (BD set to 7 and BR set to 1) If this is not the case you will get dropouts because when the buffer gets to a certain size a request (stop sending) is passed between the radios. These radios really prefer to be run with flow control turned on, and that is why most people are having an issue. The default setting is BD / BR set to 3 and 1 which works fine for small bursts of data, but matching them to 7 and 1 works MUCH better for the longer streams we want to exchange. Give that a shot and let me know how it goes. Feel free to PM me if you need more help.
Permalink Reply by tjhowse on October 13, 2011 at 12:30am Thanks for the tip. I changed to that firmware and pegged everything to 115200 and things have improved slightly. I think it's because the interruptions to the signal occur every X seconds, and the faster the baud rate the more data it can squeeze through in that window. It's still not good enough to read out all of the parameters without having to start over three or four times.
Is the telemetry you're sending down mavlink?
Permalink Reply by Scott Plunkett on October 13, 2011 at 2:57pm I was only sending a custom serial string made up of most of the same variables, but I had also incorporated some other information. Keep in mind this was on the old ArduPilot (pre Mega.) Do you have any idea how long the string is? You are probably correct that you are just able to cram more down the pipe at the higher rate, but what puzzles me is the regularity of the interruptions. This may seem overly simplistic, but did you check the data and rf rates on both radios? Starting over three or four times just won't work.
Permalink Reply by tjhowse on October 13, 2011 at 11:24pm Yep, I have exactly the same settings on both modems.
I'm beginning to suspect one of the modems is faulty.
Season Two of the Trust Time Trial (T3) Contest has now begun. The fourth round is an accuracy round for multicopters, which requires contestants to fly a cube. The deadline is April 14th.1355 members
203 members
24 members
207 members
58 members
© 2013 Created by Chris Anderson.
Powered by
