async def stream_frames(self, frames="allframes", components=None, on_packet=None):
        """Stream measured frames from QTM until :func:`~qtm.QRTConnection.stream_frames_stop`
           is called.


        :param frames: Which frames to receive, possible values are 'allframes',
            'frequency:n' or 'frequencydivisor:n' where n should be desired value.
        :param components: A list of components to receive, could be 'all' or any combination of
                '2d', '2dlin', '3d', '3dres', '3dnolabels',
                '3dnolabelsres', 'force', 'forcesingle', '6d', '6dres',
                '6deuler', '6deulerres', 'gazevector', 'image', 'timecode',
                'skeleton', 'skeleton:global'

        :rtype: The string 'Ok' if successful
        """

        if components is None:
            components = ["all"]
        else:
            _validate_components(components)

        self._protocol.set_on_packet(on_packet)

        cmd = "streamframes %s %s" % (frames, " ".join(components))
        return await asyncio.wait_for(
            self._protocol.send_command(cmd), timeout=self._timeout
        )
async def stream_frames(self, frames="allframes", components=None, on_packet=None):
        """Stream measured frames from QTM until :func:`~qtm.QRTConnection.stream_frames_stop`
           is called.


        :param frames: Which frames to receive, possible values are 'allframes',
            'frequency:n' or 'frequencydivisor:n' where n should be desired value.
        :param components: A list of components to receive, could be 'all' or any combination of
                '2d', '2dlin', '3d', '3dres', '3dnolabels',
                '3dnolabelsres', 'force', 'forcesingle', '6d', '6dres',
                '6deuler', '6deulerres', 'gazevector', 'image', 'timecode',
                'skeleton', 'skeleton:global'

        :rtype: The string 'Ok' if successful
        """

        if components is None:
            components = ["all"]
        else:
            _validate_components(components)

        self._protocol.set_on_packet(on_packet)

        cmd = "streamframes %s %s" % (frames, " ".join(components))
        return await asyncio.wait_for(
            self._protocol.send_command(cmd), timeout=self._timeout
        )
async def stream_frames ( self , frames = "allframes" , components = None , on_packet = None ) : if components is None : components = [ "all" ] else : _validate_components ( components ) self . _protocol . set_on_packet ( on_packet ) cmd = "streamframes %s %s" % ( frames , " " . join ( components ) ) return await asyncio . wait_for ( self . _protocol . send_command ( cmd ) , timeout = self . _timeout )
Stream measured frames from QTM until :func:`~qtm.QRTConnection.stream_frames_stop`
           is called.


        :param frames: Which frames to receive, possible values are 'allframes',
            'frequency:n' or 'frequencydivisor:n' where n should be desired value.
        :param components: A list of components to receive, could be 'all' or any combination of
                '2d', '2dlin', '3d', '3dres', '3dnolabels',
                '3dnolabelsres', 'force', 'forcesingle', '6d', '6dres',
                '6deuler', '6deulerres', 'gazevector', 'image', 'timecode',
                'skeleton', 'skeleton:global'

        :rtype: The string 'Ok' if successful
Stream measured frames from QTM until : func : ~qtm . QRTConnection . stream_frames_stop is called .