view pcm/record_ctrl.c @ 18:61862af2247f

ater: E1 timeslot output (osmo_i460 mux)
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 24 Jun 2024 07:26:20 +0000
parents 631f2db08538
children
line wrap: on
line source

/*
 * Here we implement stdin commands that control recording of E1 timeslot
 * read stream.
 */

#include <stdint.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>

#include <osmocom/core/select.h>

#include "globals.h"

void cmd_record_start(int argc, char **argv)
{
	if (argc != 2) {
		printf("error: record command needs 1 argument\n");
		return;
	}
	if (record_file) {
		printf("error: recording already in progress\n");
		return;
	}
	record_file = fopen(argv[1], "w");
	if (!record_file)
		perror(argv[1]);
}

void cmd_record_stop(int argc, char **argv)
{
	if (!record_file) {
		printf("error: no recording in progress\n");
		return;
	}
	fclose(record_file);
	record_file = NULL;
}

void cmd_print_rx(int argc, char **argv)
{
	int i, j, off;

	off = 0;
	for (i = 0; i < 10; i++) {
		for (j = 0; j < 16; j++)
			printf(" %02X", readbuf[off++]);
		putchar('\n');
	}
}