Is it possible to have two devices communicate with one gps receiver? I ask since I'd like to use an OSD and an ArduPilot with just one shared GPS receiver but don't know if it is doable with a serial interface. Thanks.
You need to be a member of diydrones to add comments!
Great stuff - two GPS sensors on one'plane would look daft.
I'm trying to think of reasons to not jump yet - too many projects on the go!
Only two such issues remain:
1. I have read that a $70 dedicated XYZ sensor will be on the market Dec 2009 - has anyone else heard of this?
2. Not clear why I need a 'shield' board (airspeed... notalot else?) for this; the earlier versions didn't seem to need it?
Well here's another potential Ardupilot user with an OSD, wondering if I can save 50 quid and plug in my existing GPS output to the Ardupilot board (or shield)?
I see a lot of speculation on this thread, but no-one saying they've got this to work - either with the standard settings, or after hours of fiendish code hacking.
So, a year on, has anyone successfully bought the bits for an Ardupilot setup, and for a GPS just piggybacked in the output at 19200 from an EB85 already plugged into an IFOSD?
I share my LocoSys LS20031 GPS with two separate ArduPilot boards without problem. The first is running the AP 1.0 code and functions as autopilot. The second board has a double function (I still have hard work optimizing loops, though):
- processing head tracking data from xbee for pan and tilt camera
- parsing GGA and RMC NMEA data from GPS, parsing bearing and waypoint range from autopilot board, and finally feeding emulated and raw NMEA sentences to my OSD. So my OSD is diplaying GPS information including next waypoint, range and bearing to next waypoint without being connected directly to the GPS chip.
Sharing GPS works great as long as you do not have to write to the GPS!
I have the ArduPilot 2.x with the EM-406A GPS and an EagleTree OSD. I have little knowledge, but it sounds as if I can tap the GPS for the OSD - only I don't know the pinout/schematic to run into the EagleTree OSD from the above GPS cable. I've been unsuccessfully Googling, does someone have a link or the info, or how I can figure it out? TIA
-DA
It looks like it may be very well as simple as splitting out the data lines. While I don't have an ArduPilot yet, I tested it out on an Arduino Duemilanove with the Intelligent Flight OSD that uses the LOCOSYS LS20033 gps module. So I let the IFOSD power and initialize the gps receiver and just tap into the serial data line and the ground and connect it to the Arduino. Since the OSD does all initialization for the GPS, I don't have to send anything (just have to remember that the baud rate is 19200). I cobbled together some code (mainly pilfering from the ArduPilot gps parser) that reads the number of satellites from the $GPGGA data and lights a corresponding number of LEDs while confirming that the OSD was functioning correctly and presenting the same results.
For this particular case, in order to use the ArduPilot with the IFOSD, I'll have to modify the gps parser since the only two data strings sent to the OSD are $GPGGA and $GPVTG. It looks like all the necessary data is there, though, but I have yet to confirm it.
This kind of stuff quickly turns into an obsessive little hobby, doesn't it?
&Chris: Isn't this what you guys are doing with the GPS daughterboard, i.e., splitting the serial stream to both the ArduPilot and a Xbee for telemetry? Having installed the Eagle software to look at the schematic, this is what it looks like.
I had the same idea, to use one GPS module between an RVOSD and the Ardupilot, and someone told me it wouldnt work out. I dont remember who, but as far as I know it is only one way communication from the GPS chip to the component, so it should theoretically work. Not positive though....
Replies
I'm trying to think of reasons to not jump yet - too many projects on the go!
Only two such issues remain:
1. I have read that a $70 dedicated XYZ sensor will be on the market Dec 2009 - has anyone else heard of this?
2. Not clear why I need a 'shield' board (airspeed... notalot else?) for this; the earlier versions didn't seem to need it?
I see a lot of speculation on this thread, but no-one saying they've got this to work - either with the standard settings, or after hours of fiendish code hacking.
So, a year on, has anyone successfully bought the bits for an Ardupilot setup, and for a GPS just piggybacked in the output at 19200 from an EB85 already plugged into an IFOSD?
- processing head tracking data from xbee for pan and tilt camera
- parsing GGA and RMC NMEA data from GPS, parsing bearing and waypoint range from autopilot board, and finally feeding emulated and raw NMEA sentences to my OSD. So my OSD is diplaying GPS information including next waypoint, range and bearing to next waypoint without being connected directly to the GPS chip.
Sharing GPS works great as long as you do not have to write to the GPS!
-DA
For this particular case, in order to use the ArduPilot with the IFOSD, I'll have to modify the gps parser since the only two data strings sent to the OSD are $GPGGA and $GPVTG. It looks like all the necessary data is there, though, but I have yet to confirm it.
This kind of stuff quickly turns into an obsessive little hobby, doesn't it?
-tychoc