Hi all,
strange coincidence - I am working on exactly the same problem.
I am using a GPS module that transmits NMEA 0183 and is mounted on a data logger shield
http://www.ladyada.net/make/gpsshield/
I can get this to work no problem with the code "supplied" with the unit - SD-Basic-GPS-logger/SD_GPSLogger.pde at master · adafruit/SD-Basic-GPS-logger · GitHub. I am using an UNO so am using softwareserial for communication.
I also have a depth sounder that transmits NMEA 0183 data - a Garmin Intelliducer. I can connect it to the arduino and with a very slight modification of the gps program (get it to look for the appropriate NMEA string for depth instead of gps) I can log the data from the depth sounder. I did have to run the output of the depth transducer through an inverter but that was no big deal.
So, I then thought to define two softwareserial ports, one for gps and one for depth and alternately poll them. I have tried many iterations and versions of this but basically cannot get two softwareserial ports to alternate reliably.
Any clever folks out there with a solution? Will share all code once we get it working nicely
Thanks,
Peter