diff rvinterf/etmsync/l1tmcmd.c @ 844:4694c7686ccd

fc-tmsync: add mpr command
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 31 Jul 2021 21:57:48 +0000
parents dd97e75620a7
children aec320fe2653
line wrap: on
line diff
--- a/rvinterf/etmsync/l1tmcmd.c	Sat Jul 31 21:00:26 2021 +0000
+++ b/rvinterf/etmsync/l1tmcmd.c	Sat Jul 31 21:57:48 2021 +0000
@@ -261,3 +261,66 @@
 	fclose(of);
 	return(0);
 }
+
+static struct kwtab misc_param_arg[] = {
+	{"adc-interval", ADC_INTERVAL},
+	{"adc-enable", ADC_ENA_FLAG},
+	{"converted-adc0", CONVERTED_ADC0},
+	{"converted-adc1", CONVERTED_ADC1},
+	{"converted-adc2", CONVERTED_ADC2},
+	{"converted-adc3", CONVERTED_ADC3},
+	{"converted-adc4", CONVERTED_ADC4},
+	{"converted-adc5", CONVERTED_ADC5},
+	{"converted-adc6", CONVERTED_ADC6},
+	{"converted-adc7", CONVERTED_ADC7},
+	{"converted-adc8", CONVERTED_ADC8},
+	{"raw-adc0", RAW_ADC0},
+	{"raw-adc1", RAW_ADC1},
+	{"raw-adc2", RAW_ADC2},
+	{"raw-adc3", RAW_ADC3},
+	{"raw-adc4", RAW_ADC4},
+	{"raw-adc5", RAW_ADC5},
+	{"raw-adc6", RAW_ADC6},
+	{"raw-adc7", RAW_ADC7},
+	{"raw-adc8", RAW_ADC8},
+	{"adc0-coeff-a", ADC0_COEFF_A},
+	{"adc1-coeff-a", ADC1_COEFF_A},
+	{"adc2-coeff-a", ADC2_COEFF_A},
+	{"adc3-coeff-a", ADC3_COEFF_A},
+	{"adc4-coeff-a", ADC4_COEFF_A},
+	{"adc5-coeff-a", ADC5_COEFF_A},
+	{"adc6-coeff-a", ADC6_COEFF_A},
+	{"adc7-coeff-a", ADC7_COEFF_A},
+	{"adc8-coeff-a", ADC8_COEFF_A},
+	{"adc0-coeff-b", ADC0_COEFF_B},
+	{"adc1-coeff-b", ADC1_COEFF_B},
+	{"adc2-coeff-b", ADC2_COEFF_B},
+	{"adc3-coeff-b", ADC3_COEFF_B},
+	{"adc4-coeff-b", ADC4_COEFF_B},
+	{"adc5-coeff-b", ADC5_COEFF_B},
+	{"adc6-coeff-b", ADC6_COEFF_B},
+	{"adc7-coeff-b", ADC7_COEFF_B},
+	{"adc8-coeff-b", ADC8_COEFF_B},
+	{"sleep-mode", SLEEP_MODE},
+	{"current-tm-mode", CURRENT_TM_MODE},
+	{0, 0}
+};
+
+cmd_mpr(argc, argv)
+	char **argv;
+{
+	u16 index, val;
+	int rc;
+
+	if (keyword_or_num(argv[1], misc_param_arg, &index))
+		return(ERROR_USAGE);
+	rc = do_mpr(index, &val);
+	if (rc)
+		return(rc);
+	if (val >= 0x8000)
+		printf("read value: 0x%04X (%u or %d)\n", val, val,
+			(int)val - 65536);
+	else
+		printf("read value: 0x%04X (%u)\n", val, val);
+	return(0);
+}