diff options
| author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2022-01-09 20:12:19 +0100 | 
|---|---|---|
| committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2022-01-09 20:12:19 +0100 | 
| commit | be9dfd6f2dcdc7e44bb1400765f7bb225f5a4b40 (patch) | |
| tree | dab708952bebd5b07290082d7378dfc55bda3c78 | |
| parent | 36276e45cc3dbca2e954515bd7b6b3b4498ddbb2 (diff) | |
| download | osmo-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.c | 4 | ||||
| -rw-r--r-- | src/fl2k_tcp.c | 15 | 
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"); | 
