added square_pulse waveform