def envelope_square(t, t_pulse, t_start=0, **not_needed_kwargs):
    """
    Envelope for a square pulse (1 or 0).

    Parameters
    ----------
    t : float
        Time at which the value of the envelope is to be returned.
    t_pulse : float
        The total duration of the pulse.
    t_start : float, default=0
        Time at which the pulse starts.

    Returns
    -------
    float
        The value of the envelope at a given time (1 or 0).

    See Also
    --------
    derenv_square
    """
    if t < t_start or t > t_start + t_pulse:
        return 0
    else:
        return 1