def grid_frames(params: dict):
    """
    Generate frame parameters for individual grid data frames when performed in step mode.

    :param params: run parameters
    :return: list of dictionaries representing a frame each
    """
    return (
        {
            'name': params['name'],
            'uuid': params['uuid'],
            'saved': False,
            'first': i + 1,
            'start': params['angle'],
            'delta': params['delta'],
            'exposure': params['exposure'],
            'energy': params['energy'],
            'distance': params['distance'],
            'two_theta': params.get('two_theta', 0.0),
            'attenuation': params.get('attenuation', 0.0),
            'directory': params['directory'],
            'p0': point,
        }
        for i, point in enumerate(params['grid'])
    )