code: def idle_task(self):
          '''called in idle time'''
          try:
              data = self.port.recv(200)
          except socket.error as e:
              if e.errno in [ errno.EAGAIN, errno.EWOULDBLOCK ]:
                  return
              raise
          if len(data) > 110:
              print("DGPS data too large: %u bytes" % len(data))
              return
          try:
  
              self.master.mav.gps_inject_data_send(
                  self.target_system,
                  self.target_component,
                  len(data),
                  bytearray(data.ljust(110, '\0')))
  
          except Exception(e):
              print ("DGPS Failed:", ef idle_task(self):
          '''called in idle time'''
          try:
              data = self.port.recv(200)
          except socket.error as e:
              if e.errno in [ errno.EAGAIN, errno.EWOULDBLOCK ]:
                  return
              raise
          if len(data) > 110:
              print("DGPS data too large: %u bytes" % len(data))
              return
          try:
  
              self.master.mav.gps_inject_data_send(
                  self.target_system,
                  self.target_component,
                  len(data),
                  bytearray(data.ljust(110, '\0')))
  
          except Exception(e):
              print ("DGPS Failed:", e)
docs: called in idle time