FreeCalypso > hg > freecalypso-tools
diff rvinterf/tmsh/rftablechk.c @ 123:bc23c1cd30ae
fc-tmsh: rftw format consistency check implemented
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 19 Feb 2017 09:07:52 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rvinterf/tmsh/rftablechk.c Sun Feb 19 09:07:52 2017 +0000 @@ -0,0 +1,51 @@ +/* + * 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); +}