diff options
Diffstat (limited to 'parser.c')
-rw-r--r-- | parser.c | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -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; |