# HG changeset patch # User Mychaela Falconia # Date 1487523854 0 # Node ID d3e2b619ff8987d58e7b64bc2d4d81bbe4373a3f # Parent bf610ca0f1b11100e8c936a773afc57787bd3010 fc-tmsh: mpw and mpr implemented diff -r bf610ca0f1b1 -r d3e2b619ff89 rvinterf/tmsh/l1cmd.c --- a/rvinterf/tmsh/l1cmd.c Sun Feb 19 16:10:25 2017 +0000 +++ b/rvinterf/tmsh/l1cmd.c Sun Feb 19 17:04:14 2017 +0000 @@ -491,3 +491,80 @@ send_etm_cmd(cmdpkt, 2); 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_mpw(argc, argv) + char **argv; +{ + u16 index, value; + u_char cmdpkt[7]; + + if (keyword_or_num(argv[1], misc_param_arg, &index)) + return(ERROR_USAGE); + value = strtol(argv[2], 0, 0); + cmdpkt[1] = MISC_PARAM_WRITE; + cmdpkt[2] = index; + cmdpkt[3] = index >> 8; + cmdpkt[4] = value; + cmdpkt[5] = value >> 8; + send_etm_cmd(cmdpkt, 5); + return(0); +} + +cmd_mpr(argc, argv) + char **argv; +{ + u16 index; + u_char cmdpkt[5]; + + if (keyword_or_num(argv[1], misc_param_arg, &index)) + return(ERROR_USAGE); + cmdpkt[1] = MISC_PARAM_READ; + cmdpkt[2] = index; + cmdpkt[3] = index >> 8; + send_etm_cmd(cmdpkt, 3); + return(0); +} diff -r bf610ca0f1b1 -r d3e2b619ff89 rvinterf/tmsh/usercmd.c --- a/rvinterf/tmsh/usercmd.c Sun Feb 19 16:10:25 2017 +0000 +++ b/rvinterf/tmsh/usercmd.c Sun Feb 19 17:04:14 2017 +0000 @@ -18,6 +18,8 @@ extern int cmd_check_ffs1(); extern int cmd_dieid(); extern int cmd_ffs2(); +extern int cmd_mpr(); +extern int cmd_mpw(); extern int cmd_omr(); extern int cmd_ping(); extern int cmd_r8(); @@ -67,6 +69,8 @@ {"etmpkt", 1, 253, cmd_tmpkt}, {"exit", 0, 0, cmd_exit}, {"ffs2", 1, 3, cmd_ffs2}, + {"mpr", 1, 1, cmd_mpr}, + {"mpw", 2, 2, cmd_mpw}, {"omr", 2, 2, cmd_omr}, {"ping", 0, 2, cmd_ping}, {"quit", 0, 0, cmd_exit},