Square wave#
-
type uz_wavegen_square_t#
-
float uz_wavegen_square_sample(uz_wavegen_square_t *self, float amplitude, float frequency_Hz, float duty_cycle)#
Returns one sample of a square wave (+amplitude during duty, -amplitude after).
- Parameters:
self – Pointer to uz_wavegen_square instance
amplitude – Amplitude for the square wave
frequency_Hz – Frequency for the square wave in Hz. Only positive values are permitted
duty_cycle – Duty Cycle for the square wave. Only values 0.0 <= DutyCycle <= 1.0 is permitted
- Returns:
Returns one sample for current system time
Example#
1#include "uz_wavegen.h"
2int main(void) {
3 float amplitude = 6.0f;
4 float frequency_Hz = 20.0f;
5 float duty_cycle = 0.5f;
6 uz_wavegen_square_t* square = uz_wavegen_square_init();
7 float output = uz_wavegen_square_sample(square, amplitude, frequency_Hz, duty_cycle);
8}
Description#
This function calculates a square wave. The phase is tracked in the wavegen instance and advanced on each sample call.

Fig. 341 square wave