Error happens while getting GPS data from GCS

While AC gets GPS data from a GCS, it can cause some kernel panic according to the GPS data.

This can be reproduced in SITL by doing the following:

  1. param set GPS_TYPE 14
  2. reboot
  3. The GCS sends the GPS data which contain 0 as its latitude and longitude.
    For example,

master.mav.gps_input_send(
        timestamp,          #Timestamp (micros since boot or Unix epoch)
        0,          #ID of the GPS for multiple GPS inputs
        8|16|32,    #Flags indicating which fields to ignore (see GPS_INPUT_IGNORE_FLAGS enum). All other fields must be provided.
        GPStime,          #GPS time (milliseconds from start of GPS week)
        2,          #GPS week number
        3,          #0-1: no fix, 2: 2D fix, 3: 3D fix. 4: 3D with DGPS. 5: 3D with RTK
        0,          #Latitude (WGS84), in degrees * 1E7
        0,          #Longitude (WGS84), in degrees * 1E7
        alt,          #Altitude (AMSL, not WGS84), in m (positive for up)
        1,          #GPS HDOP horizontal dilution of position in m
        1,          #GPS VDOP vertical dilution of position in m
        0,          #GPS velocity in m/s in NORTH direction in earth-fixed NED frame
        0,          #GPS velocity in m/s in EAST direction in earth-fixed NED frame
        0,          #GPS velocity in m/s in DOWN direction in earth-fixed NED frame
        0,          #GPS speed accuracy in m/s
        0,          #GPS horizontal accuracy in m
        0,          #GPS vertical accuracy in m
        7           #Number of satellites visible.
    )

ArduSub and ArduPlane are okay with this situation, but ArduCopter shows kernel panic.