view rvinterf/tmsh/rftablechk.c @ 461:10e168596dfd

doc/SIM-hardware-debugging: article written
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 10 Feb 2019 20:40:56 +0000
parents bc23c1cd30ae
children
line wrap: on
line source

/*
 * This module contains the function that checks if the table format
 * and rftw index match.
 */

#include <sys/types.h>
#include <stdio.h>
#include <string.h>
#include <strings.h>
#include <stdlib.h>
#include "localtypes.h"
#include "l1tm.h"
#include "exitcodes.h"

static struct table_match {
	int	index;
	char	*format;
} matchlist[] = {
	{RX_AGC_TABLE, "agc-table"},
	{AFC_PARAMS, "afcparams"},
	{RX_AGC_GLOBAL_PARAMS, "agc-global-params"},
	{RX_IL_2_AGC_MAX, "il2agc"},
	{RX_IL_2_AGC_PWR, "il2agc"},
	{RX_IL_2_AGC_AV, "il2agc"},
	{TX_LEVELS, "tx-levels"},
	{TX_CAL_CHAN, "tx-calchan"},
	{TX_CAL_TEMP, "tx-caltemp"},
	{RX_CAL_CHAN, "rx-calchan"},
	{RX_CAL_TEMP, "rx-caltemp"},
	{RX_AGC_PARAMS, "rx-agc-params"},
	{0, 0}
};

rftw_index_format_check(index, format)
	char *format;
{
	struct table_match *tp;

	if (!strcmp(format, "raw"))
		return(0);
	for (tp = matchlist; tp->index; tp++) {
		if (tp->index == index) {
			if (!strcmp(format, tp->format))
				return(0);
			printf("error: read table of type %s, expected %s\n",
				format, tp->format);
			return(ERROR_USAGE);
		}
	}
	return(0);
}