FreeCalypso > hg > freecalypso-tools
diff rvinterf/tmsh/l1cmd.c @ 130:d3e2b619ff89
fc-tmsh: mpw and mpr implemented
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 19 Feb 2017 17:04:14 +0000 |
parents | bf610ca0f1b1 |
children | cae9cb333c2c |
line wrap: on
line diff
--- 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); +}