def upload(self, timeout=None):
        """
        Call ``upload()`` after :py:func:`adding <CommandSequence.add>` or :py:func:`clearing <CommandSequence.clear>` mission commands.

        After the return from ``upload()`` any writes are guaranteed to have completed (or thrown an
        exception) and future reads will see their effects.

        :param int timeout: The timeout for uploading the mission. No timeout if not provided or set to None.
        """
        if self._vehicle._wpts_dirty:
            self._vehicle._master.waypoint_clear_all_send()
            start_time = time.time()
            if self._vehicle._wploader.count() > 0:
                self._vehicle._wp_uploaded = [False] * self._vehicle._wploader.count()
                self._vehicle._master.waypoint_count_send(self._vehicle._wploader.count())
                while False in self._vehicle._wp_uploaded:
                    if timeout and time.time() - start_time > timeout:
                        raise TimeoutError
                    time.sleep(0.1)
                self._vehicle._wp_uploaded = None
            self._vehicle._wpts_dirty = False
def upload ( self , timeout = None ) : if self . _vehicle . _wpts_dirty : self . _vehicle . _master . waypoint_clear_all_send ( ) start_time = time . time ( ) if self . _vehicle . _wploader . count ( ) > 0 : self . _vehicle . _wp_uploaded = [ False ] * self . _vehicle . _wploader . count ( ) self . _vehicle . _master . waypoint_count_send ( self . _vehicle . _wploader . count ( ) ) while False in self . _vehicle . _wp_uploaded : if timeout and time . time ( ) - start_time > timeout : raise TimeoutError time . sleep ( 0.1 ) self . _vehicle . _wp_uploaded = None self . _vehicle . _wpts_dirty = False
Call ``upload()`` after :py:func:`adding <CommandSequence.add>` or :py:func:`clearing <CommandSequence.clear>` mission commands.

        After the return from ``upload()`` any writes are guaranteed to have completed (or thrown an
        exception) and future reads will see their effects.

        :param int timeout: The timeout for uploading the mission. No timeout if not provided or set to None.