summaryrefslogtreecommitdiff
path: root/parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'parser.c')
-rw-r--r--parser.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/parser.c b/parser.c
index 34b9c29..ebee94f 100644
--- a/parser.c
+++ b/parser.c
@@ -353,6 +353,8 @@ static int Parser_id_word(char *id_me, int *channel, int *with_id_code)
id_code = 108;
} else if (!strcmp(id_me,"attenuator") || !strcmp(id_me,"att")) {
id_code = 109;
+ } else if (!strcmp(id_me,"distort")) {
+ id_code = 110;
} else {
id_code = 9999;
}
@@ -479,6 +481,7 @@ static int Parser_find_commands(int commands[], int command_depth)
{88,37}, /* calibration:frequency - 101 */
{23,57,108}, /* diag:eprom:reset - 102 */
{23,109,16|optional}, /* diag:attenuator:state - 103 */
+ {23,32,110,88,93}, /* diag:ampl:distort:calib:point - 104 */
};
@@ -1047,6 +1050,10 @@ void Parser_main (char *raw_in, int interactive_terminal, void(*cbfunc)(gpointer
case 103:
error_num=Go_atten_103(&response,channel,parameter,units,command_type);
break;
+ case 104:
+ error_num=Go_amp_pnt_83(&response,channel,parameter,units,command_type,pwl_distort_values);
+ break;
+
case 9999:
// was only whitespace, ignore
break;
@@ -3451,6 +3458,15 @@ static int Go_amp_pnt_83(gchar** response, int channel, char *parameter,char *un
return Unrecognized;
}
break;
+ case pwl_distort_values:
+ if (status = check_channel_ok (channel, globals.Flash.channels, globals.Flash.ChanKey_amplitude)) {
+ return status;
+ }
+ if (!globals.Flash.distort_enabled[channel]) {
+ return Unrecognized;
+ }
+ break;
+
case pwl_rise_time_values:
if (status = check_channel_ok (channel, globals.Flash.channels, globals.Flash.ChanKey_rise_time)) {
return status;