aboutsummaryrefslogtreecommitdiff
path: root/demo/freedv_700d_tx.c
diff options
context:
space:
mode:
Diffstat (limited to 'demo/freedv_700d_tx.c')
-rw-r--r--demo/freedv_700d_tx.c44
1 files changed, 23 insertions, 21 deletions
diff --git a/demo/freedv_700d_tx.c b/demo/freedv_700d_tx.c
index d678905..4c22594 100644
--- a/demo/freedv_700d_tx.c
+++ b/demo/freedv_700d_tx.c
@@ -5,16 +5,17 @@
DATE CREATED: April 2021
Demo transmit program using the FreeDV API (700D mode).
-
+
usage:
-
+
cd ~/codec2/build_linux
- cat ../raw/ve9qrp_10s.raw | ./demo/freedv_700d_tx | ./demo/freedv_700d_rx | aplay -f S16_LE
+ cat ../raw/ve9qrp_10s.raw | ./demo/freedv_700d_tx | ./demo/freedv_700d_rx |
+aplay -f S16_LE
Listen to the modulated Tx signal:
-
+
cat ../raw/ve9qrp_10s.raw | ./demo/freedv_700d_tx | aplay -f S16_LE
-
+
\*---------------------------------------------------------------------------*/
/*
@@ -35,32 +36,33 @@
*/
#include <assert.h>
-#include <stdlib.h>
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
#include "freedv_api.h"
int main(int argc, char *argv[]) {
- struct freedv *freedv;
+ struct freedv *freedv;
- freedv = freedv_open(FREEDV_MODE_700D);
- assert(freedv != NULL);
+ freedv = freedv_open(FREEDV_MODE_700D);
+ assert(freedv != NULL);
- /* handy functions to set buffer sizes */
- int n_speech_samples = freedv_get_n_speech_samples(freedv);
- short speech_in[n_speech_samples];
- int n_nom_modem_samples = freedv_get_n_nom_modem_samples(freedv);
- short mod_out[n_nom_modem_samples];
+ /* handy functions to set buffer sizes */
+ int n_speech_samples = freedv_get_n_speech_samples(freedv);
+ short speech_in[n_speech_samples];
+ int n_nom_modem_samples = freedv_get_n_nom_modem_samples(freedv);
+ short mod_out[n_nom_modem_samples];
- /* OK main loop --------------------------------------- */
+ /* OK main loop --------------------------------------- */
- while(fread(speech_in, sizeof(short), n_speech_samples, stdin) == n_speech_samples) {
- freedv_tx(freedv, mod_out, speech_in);
- fwrite(mod_out, sizeof(short), n_nom_modem_samples, stdout);
- }
+ while (fread(speech_in, sizeof(short), n_speech_samples, stdin) ==
+ n_speech_samples) {
+ freedv_tx(freedv, mod_out, speech_in);
+ fwrite(mod_out, sizeof(short), n_nom_modem_samples, stdout);
+ }
- freedv_close(freedv);
+ freedv_close(freedv);
- return 0;
+ return 0;
}