aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2022-01-09 20:12:19 +0100
committerMatthias P. Braendli <matthias.braendli@mpb.li>2022-01-09 20:12:19 +0100
commitbe9dfd6f2dcdc7e44bb1400765f7bb225f5a4b40 (patch)
treedab708952bebd5b07290082d7378dfc55bda3c78
parent36276e45cc3dbca2e954515bd7b6b3b4498ddbb2 (diff)
downloadosmo-fl2k-be9dfd6f2dcdc7e44bb1400765f7bb225f5a4b40.tar.gz
osmo-fl2k-be9dfd6f2dcdc7e44bb1400765f7bb225f5a4b40.tar.bz2
osmo-fl2k-be9dfd6f2dcdc7e44bb1400765f7bb225f5a4b40.zip
Add -i to fl2k_tcp too, and document better
-rw-r--r--src/fl2k_file.c4
-rw-r--r--src/fl2k_tcp.c15
2 files changed, 14 insertions, 5 deletions
diff --git a/src/fl2k_file.c b/src/fl2k_file.c
index 6829deb..4e0d16d 100644
--- a/src/fl2k_file.c
+++ b/src/fl2k_file.c
@@ -43,7 +43,7 @@ static fl2k_dev_t *dev = NULL;
static volatile int do_exit = 0;
static int repeat = 1;
-static int interleaved = 1;
+static int interleaved = 0;
FILE *file;
char *txbuf = NULL;
@@ -55,7 +55,7 @@ void usage(void)
"\t[-d device_index (default: 0)]\n"
"\t[-r repeat file (default: 1)]\n"
"\t[-s samplerate (default: 100 MS/s)]\n"
- "\t[-i interleave (input samples are interleaved Red/Green values, useful for I/Q data, default: 0)]\n"
+ "\t[-i (0|1) (1: input samples are interleaved Red/Green values, useful for I/Q data, default: 0 Red values only)]\n"
"\tfilename (use '-' to read from stdin)\n\n"
);
exit(1);
diff --git a/src/fl2k_tcp.c b/src/fl2k_tcp.c
index 871ac26..c93777b 100644
--- a/src/fl2k_tcp.c
+++ b/src/fl2k_tcp.c
@@ -60,6 +60,7 @@ typedef int socklen_t;
static SOCKET s;
static fl2k_dev_t *dev = NULL;
+static int interleaved = 0;
static volatile int do_exit = 0;
static volatile int connected = 0;
static char *txbuf = NULL;
@@ -74,6 +75,7 @@ void usage(void)
"\t[-d device index (default: 0)]\n"
"\t[-p port (default: 1234)]\n"
"\t[-s samplerate in Hz (default: 100 MS/s)]\n"
+ "\t[-i (0|1) (1: input samples are interleaved Red/Green values, useful for I/Q data, default: 0 Red values only)]\n"
"\t[-b number of buffers (default: 4)]\n"
);
exit(1);
@@ -117,7 +119,11 @@ void fl2k_callback(fl2k_data_info_t *data_info)
return;
data_info->sampletype_signed = 1;
- data_info->r_buf = txbuf;
+ if (interleaved) {
+ data_info->iq_buf = txbuf;
+ } else {
+ data_info->r_buf = txbuf;
+ }
while (!do_exit && (left > 0)) {
FD_ZERO(&readfds);
@@ -158,12 +164,15 @@ int main(int argc, char **argv)
struct sigaction sigact, sigign;
#endif
- while ((opt = getopt(argc, argv, "d:s:a:p:b:")) != -1) {
+ while ((opt = getopt(argc, argv, "d:i:s:a:p:b:")) != -1) {
switch (opt) {
case 'd':
dev_index = (uint32_t)atoi(optarg);
dev_given = 1;
break;
+ case 'i':
+ interleaved = (int)atoi(optarg);
+ break;
case 's':
samp_rate = (uint32_t)atof(optarg);
break;
@@ -189,7 +198,7 @@ int main(int argc, char **argv)
exit(1);
}
- txbuf = malloc(FL2K_BUF_LEN);
+ txbuf = malloc(FL2K_BUF_LEN * (interleaved ? 2 : 1));
if (!txbuf) {
fprintf(stderr, "malloc error!\n");