GPS Emulator Madness!!!

EmulatorwGroundstation.gifMy GPS Emulator will now output ArduPilot sentences for groundstation testing. It now includes an installer for com0com's null modem emulator. With this tool it is possible to tie two COM ports together for testing purposes.When you first run the emulator, you'll see a button that says "Install Feedback Ports" right on the main screen next to the exit button. Once the com0com installer has been run, you can click Options, Setup Feedback Ports and select the two new virtual COM ports you'd like to use (IE COM254 and COM255). Once these ports are created, you can specify one port for the emulator and the other on your application (ie: ArduIMU test application, ground station, u-Center, MiniGPS, etc). Now, you're ready to emulate.On the main screen, you have menu options to enable NMEA, uBlox or ArduPilot messages. The new ArduPilot messages include:ArduPilot Attitude = RER, THH, PSET, CRTArduPilot Waypoints = STT, WPN, DSTGPS Data = LAT, LNG, SPD, ALT, ALH, BERArduPilot Sensors = BTV, ASP, THH, RLL, PCHArduPilot IMU = RLL, PCH, YAW, COG, SOG, FIX, ALT, LAT, LNG, EX0-EX8, AN0-AN5Sample Output - Everything but IMU*** Ardu 12/3/2009 2:00:08 AM = UTC: 070008.718 ***!!!RER:-24,THH:40,PSET:-16,CRT:0,STT:1,WPN:4,DST:180,LAT:48861598,LON:2291760,SPD:143.9999998848,ALT:1896.789,ALH:1911.789,BER:212***+++BTV:12.4,ASP:40,THH:35,RLL:24,PCH:16***Sample Output - IMU*** Ardu 12/3/2009 1:57:38 AM = UTC: 065738.78 ***!!!RER:0,THH:40,PSET:0,CRT:0,STT:1,WPN:0,DST:740,LAT:48858125,LON:2291207,SPD:143.9999998848,ALT:100,ALH:115,BER:0***+++BTV:12.4,ASP:40,THH:35,RLL:0,PCH:0***EDIT: There seems to be some confusion about what exactly I'm trying to show here. The graphical gauges shown above are a part of Dr Mike Black's additions to Jordi's LabView ground station. My software is shown in the top right corner and runs indepentantly of the ground station. It's simply an example of one function you can accomplish with it. Here's an overview of what the emulator is.Simply put, it generates GPS and ArudPilot messages as if you had a GPS or ArduPilot connected to the serial port.Function #1) Remzibi's OSD. The program started as a way to fake out Remzibi's OSD and show lat, long, speed, alt, etc object change on the screen. I use a USB to serial cable connected from the PC to the OSD and use my emulator to connect to that COM port. At which point, the OSD comes to life (it stops searching and finds what it thinks are NMEA sentences from the GPS) and starts parsing my data. I have the ability to "fake" out the flight of the plane by moving sliders and making the place fly in circles or change altitude or speed...Function #2) ArduPilot missions. The second thing I added was the ability to connect the emulator to the ArduPilot via the USB to serial cable and again start streaming NMEA sentences. Additionally, I started listening for ArduPilot messages back in through the COM port and would change my course based on the messages from the ArduPilot. If it said to turn left, my emulator would turn left. If it said go up, the emulator would go up. I used Google Maps to show the location and flight path.Function #3) uBlox functionality. The third thing I added was the uBlox protocol. It really was just to help with Function #2 and for Function #4. However, with the use of the com0com null port software (included with the emulator) it's easy to specify COM254 and COM255 as virtual serial ports so no hardware is needed to talk from the emulator to the u-center and MiniGPS applications for sentence testing and verification. I spent a bunch of time making fake responses to satellite queries (NAV-SVINFO and GPGSA) to make random strong and weak signals and all sorts of stuff with GPS lock that nobody but me will ever play with.Function #4) Ground Station Software. The fourth thing I added was ArduPilot messaging on the output. It is possible to use the com0com null port software to create the virtual ports and have the emulator start pumping ArduPilot messages (!!!LAT:XXXX,LON:XXXX*** etc) out the COM port to be received by Dr Mike Black's ground station software in LabView.Function #5) ArduIMU Software. The fifth thing is the ArduIMU sentences. I'm not 100% done with this because I'd like to add some faked data for EX0-EX8 and AN0-AN5 to make it seems like the board just moved when the sliders get moved, but for the moment, it does fake out the roll, pitch and yaw as well as speed, lat, long and alt parts of the message.General Info) The emulator currently works from COM1 to COM255, bauds 4800 to 115200 and Hertz 1 to 10. It will also calculate the bandwidth based on the number of messages you are sending. You can turn every message on or off individually (7 NMEA message types, 11 uBlox message types, 5 ArduPilot message types)I wrote it specifically for software developers who are creating an OSD, Auto Pilot, ground station, ArduIMU application or any other device that parses GPS or ArduPilot/ArduIMU messages.
E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • BUMP
    Just checking the latest news on this.........
  • This might be a really really easy question... but where do I download this from? I would like to test my GCS code!
  • Very, very nice looking!
  • Absolutely. Please email me. happy@happykillmore.com
  • Happy,

    Only just grasped the gravity (pardon the pun) of how good this software is!!!!!!

    that is truly the doggies dangly bits....WOW.....

    Perhaps if you wish to , can we get together..erm.in a vitual sence..and im trying to put the uploading capability into 2.6.5/6 GCS versions so everyone has a compact process, would you be willing to help me do this?

    Doc.
    Under Construction
  • Yes, yes, yes! You can run the ArduPilot config tool, build up a mission and then run the missing using the GPS emulator. This doesn't show the newest uBlox functionality... but it's the same concept.

  • Hey nice buddy ! Most of your talks are going above my head as I don;'t have that much of kiddeny to understand !
    Can I test my autopilot in this software without going for a actual flight and see Ardupilot doing well !
  • The downside to MSCOMM is the limit of COM16 as a max.... I really need to make it .NET....
  • Well Done Happy,

    Skipped past my GCS and then clocked a new window on it....had to take a second look..


    Superb work, working 2.6.5GCs at the mo,weather terrible so this will be excellent to test with instead of runnnign around in the rain!!!


    Can you use mscomm as your in VB6 instead of Mashallsoft....ms is open as far as i know, well at least its downloadable fre on the net...
    again well done!!!!

    Doc.
This reply was deleted.