view ater/record_ctrl.c @ 52:626180a15857 default tip

ater play-d144: emit E-data frames manually, osmo_trau_frame_encode() is currently broken for this frame type
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 25 Sep 2024 06:40:43 +0000
parents 98ae717734d6
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');
	}
}