Show usage of fabgl::SquareWaveGeneratorClass to generate square waves at various frequencies
void printHelp()
{
Serial.printf("Square Wave Generator\n");
Serial.printf("Chip Revision: %d Chip Frequency: %d MHz\n\n", ESP.getChipRevision(), ESP.getCpuFreqMHz());
Serial.printf("Commands:\n");
Serial.printf(" !number = frequency in Hz (82500...62500000)\n");
Serial.printf("Various:\n");
Serial.printf(" h = Print This help\n\n");
}
int freq;
void setFrequency(int f)
{
SquareWaveGenerator.
stop();
freq = f;
SquareWaveGenerator.
play(freq);
Serial.printf("Frequency = %dHz\n", freq);
}
void setup()
{
Serial.begin(115200);
delay(500);
SquareWaveGenerator.
begin(
true, GPIO_NUM_22, GPIO_NUM_19);
printHelp();
setFrequency(20000000);
}
void loop()
{
if (Serial.available() > 0) {
char c = Serial.read();
switch (c) {
case 'h':
printHelp();
break;
case '!':
setFrequency(atoi(Serial.readStringUntil('\n').c_str()));
break;
case '^':
for (int i = 82500; i < 62500000; ++i) {
setFrequency(i);
}
break;
}
}
}