I have just perfected (finally got to work) a method for sending data up to the plane while in auto and without missing a GPS frame. I've been using all my spare time for a week to get it.
It works by sharing the uart time wise. The U-blox sends data for ~28ms 4X /s. That leaves a lot of time to receive from the X-bee. The X-bee has a 256 byte buffer the will hold data until the ardu asks for it.
If the RTS(request to send) is not connected the data goes right through. If the RTS is held HIGH. the X-bee will hold the data packet until RTS goes LOW. Packets must be less than 256 bytes. No problem!
I connected the RTS to D7 on the ardu and the Tx from the X-bee goes to a diode to the ardu. Basiclly two diodes pointing away from each other and a 10 K pull up resistor. The cathode of the other diode goes to the GPS Tx. The middle goes to the ardu Rx. After the data is read from the GPS and the extra bytes in the 368 uart buffer are cleared (read and dumped), D7 is set low and the X-bee sends received data to the ardu, when that's done D7 goes HIGH again. I used Jordi's "decode" from the GS
in the ardu to read and process the received data. BTW I have a pretty good dual trace scope that I used to see what was going on. Impossible to debug without one. Will post more details and code later.I just now got it to work and have something I got to do right now. And I'am not using the shield, but it should work with one.
Update: This is a re-post of yesterdays topic, but under the right category.
Today I got it working without hoseing the UBLOX nav data. I was going into my read function after each UBLOX id. I think the UBLOX sends the entire class all at once and each id has its own chechsum. I forced the function to keep going until all the id fields used are read, then go on and read the X-bee. The stock version reads an id field and moves on and at the next call to it gets the next id end so on. After each id read I was dumping the rest of the needed data except for the nav_status I think. With this flaw I never lost the blue lock led, just got all zeros for the data or the data froze as is. After some more thurough testing/de-bugging I will post the code modifications if any one is interested.