remove-stl : prepare migration to ggvector

This commit is contained in:
Georgi Gerganov
2022-06-07 21:22:54 +03:00
parent 60c4bb950b
commit c8d6d6df3c
4 changed files with 304 additions and 239 deletions

View File

@@ -68,13 +68,15 @@ int main(int argc, char** argv) {
if (printTones) {
printf("Printing generated waveform tones (Hz):\n");
const auto & protocol = protocols[txProtocolId];
const auto tones = ggWave->txTones();
for (int i = 0; i < (int) tones.size(); ++i) {
printf(" - frame %3d: ", i);
for (int j = 0; j < (int) tones[i].size(); ++j) {
printf("%8.2f ", tones[i][j].freq_hz);
if (tones[i] < 0) {
printf(" - end tx\n");
continue;
}
printf("\n");
const auto freq_hz = (protocol.freqStart + tones[i])*ggWave->hzPerSample();
printf(" - tone %3d: %f\n", i, freq_hz);
}
}
} else {

View File

@@ -132,26 +132,12 @@ int main(int argc, char** argv) {
ggWave.init(message.size(), message.data(), GGWave::TxProtocolId(txProtocolId), 10);
ggWave.encode();
int nFrames = 0;
double lastF = -1.0f;
auto tones = ggWave.txTones();
for (auto & tonesCur : tones) {
if (tonesCur.size() == 0) continue;
const auto & tone = tonesCur.front();
if (tone.freq_hz != lastF) {
if (nFrames > 0) {
processTone(fd, lastF, nFrames*tone.duration_ms, useBeep, printTones, printArduino);
}
nFrames = 0;
lastF = tone.freq_hz;
}
++nFrames;
}
if (nFrames > 0) {
const auto & tone = tones.front().front();
processTone(fd, lastF, nFrames*tone.duration_ms, useBeep, printTones, printArduino);
const auto & protocol = protocols[txProtocolId];
const auto tones = ggWave.txTones();
const auto duration_ms = protocol.txDuration_ms(ggWave.samplesPerFrame(), ggWave.sampleRateOut());
for (auto & tone : tones) {
const auto freq_hz = (protocol.freqStart + tone)*ggWave.hzPerSample();
processTone(fd, freq_hz, duration_ms, useBeep, printTones, printArduino);
}
return 0;