code: def home_location(self, pos):
          
  
          if not isinstance(pos, LocationGlobal):
              raise ValueError('Expecting home_location to be set to a LocationGlobal.')
  
          # Set cached home location.
          self._home_location = copy.copy(pos)
  
          # Send MAVLink update.
          self.send_mavlink(self.message_factory.command_long_encode(
              0, 0,  # target system, target component
              mavutil.mavlink.MAV_CMD_DO_SET_HOME,  # command
              0,  # confirmation
              0,  # param 1: 1 to use current position, 0 to use the entered values.
              0, 0, 0,  # params 2-4
              pos.lat, pos.lon, pos.alt))
docs: Sets the home location (``LocationGlobal``).
  
          The value cannot be set until it has successfully been read from the vehicle. After being
          set the value is cached in the home_location attribute and does not have to be re-read.
  
          .. note::
  
              Setting the value will fail silently if the specified location is more than 50km from the EKF origin.