diff options
author | Michael J. Chudobiak <mjc@avtechpulse.com> | 2012-08-15 07:51:52 -0400 |
---|---|---|
committer | Michael J. Chudobiak <mjc@avtechpulse.com> | 2012-08-15 07:51:52 -0400 |
commit | 425568bfa9c5d50732ec872f4716fe9226992037 (patch) | |
tree | 9cfc77f3593594e7642b0fc1763a7d876c6b2797 /error_utils.c | |
parent | 79f06f62d4bdc3bcd62aee7527ed5730fac66d9f (diff) |
ran dos2unix
Diffstat (limited to 'error_utils.c')
-rw-r--r-- | error_utils.c | 1004 |
1 files changed, 502 insertions, 502 deletions
diff --git a/error_utils.c b/error_utils.c index 73d2999..c4eae61 100644 --- a/error_utils.c +++ b/error_utils.c @@ -1,502 +1,502 @@ -/* START LIBRARY DESCRIPTION *********************************************
-ERRCHK.LIB
- Copyright (c) 2006, Avtech Electrosystems Ltd.
-
-DESCRIPTION:
- Error-checking and reporting functions.
-
-SUPPORT LIB'S:
-END DESCRIPTION **********************************************************/
-
-
-/*** BeginHeader Error_check */
-
-#include <string.h>
-#include <glib/gprintf.h>
-#include "globals.h"
-#include "dummy_functions.h"
-#include "lcd.h"
-
-/*** EndHeader */
-
-/* FIXME */
-int Error_Screen=NO;
-
-void set_gpib_error_flags (int error_num);
-
-void set_gpib_error_flags (int error_num)
-{
-
- if (error_num == OK) {
- return;
- }
-
- /* set the error flags in the GPIB ESR register right away */
- switch (error_num) {
- case AsyncModeDisabled:
- case Unrecognized:
- case SyntaxError:
- case UnknownUnits:
- case InvalidChannel:
- GPIB_Set_Command_Error();
- break;
- case query_error_interrupted:
- case query_error_unterminated:
- GPIB_Set_Query_Error();
- break;
- case Overload_Detected:
- case Overtemp_Detected:
- case Overvolt_Detected:
- case Device_Specific_Aux_Error_Detected:
- case queue_overflow:
- case CalibrationPercentError:
- case CalibrationZeroError:
- case CalibrationMinMaxError:
- case CalibrationClosenessError:
- case CalibrationRangeError:
- case CalibrationPolarityError:
- case Soft_Limit_Exceeded:
- case SelfCalError:
- GPIB_Set_Device_Dependent_Error();
- break;
- default:
- GPIB_Set_Execution_Error();
- break;
- }
-
- return;
-}
-
-void queue_error(int error_num);
-
-void queue_error(int error_num)
-{
- if (error_num == OK) {
- return;
- }
-
- set_gpib_error_flags (error_num);
- if (globals.number_of_errors<error_queue_length) {
- ++globals.number_of_errors;
- globals.error_queue[globals.number_of_errors]=error_num;
- } else {
- globals.error_queue[globals.number_of_errors]=queue_overflow;
- }
-
- return;
-}
-
-
-
-/*----------------------------------------------------------------------------------------------------------*/
-void queue_error_and_get_text(gchar** response, int error_num)
-{
- g_assert (*response == NULL);
-
- if (error_num == OK) {
- return;
- }
- queue_error (error_num);
- get_error_text (response, error_num);
- return;
-}
-
-/*----------------------------------------------------------------------------------------------------------*/
-void queue_error_from_parser(gchar** response, int error_num)
-{
- g_assert (*response == NULL);
-
- if (error_num == OK) {
- return;
- }
- queue_error_and_get_text(response, error_num);
- Menu_Refresh();
- return;
-}
-
-
-void queue_error_for_gpib_only(int error_num);
-
-void queue_error_for_gpib_only(int error_num)
-{
-// not part of this project, but left in for coder's reference. Can be deleted for now
- if (error_num == OK) {
- return;
- }
- queue_error(error_num);
- return;
-}
-
-
-void queue_error_and_display_on_LCD(int error_num);
-
-void queue_error_and_display_on_LCD(int error_num)
-{
- gchar* response = NULL;
- queue_error_and_get_text(&response, error_num);
- LCD_display_error_message (response);
-}
-
-
-void queue_and_broadcast_sensor_alarm(int error_num);
-
-void queue_and_broadcast_sensor_alarm(int error_num)
-{
-// not part of this project, but left in for coder's reference. Can be deleted for now
-}
-
-/*----------------------------------------------------------------------------------------------------------*/
-void Error_Remove_From_Queue(void)
-{
- int i;
- for (i=1; i<globals.number_of_errors; ++i) {
- globals.error_queue[i]=globals.error_queue[i+1];
- }
- --globals.number_of_errors; /* error reported, so remove it from the error queue */
-}
-
-
-void format_error_text (gchar **response, int error_type, char *in);
-
-void format_error_text (gchar **response, int error_type, char *in)
-{
- char* prefix = NULL;
-
- switch (error_type) {
- case 0:
- prefix = g_strdup("No error");
- break;
- case -100:
- prefix=g_strdup("Command error");
- break;
- case -102:
- prefix=g_strdup("Syntax error");
- break;
- case -114:
- prefix=g_strdup("Command error");
- break;
- case -131:
- prefix=g_strdup("Invalid suffix");
- break;
- case -200:
- prefix=g_strdup("Execution error");
- break;
- case -221:
- prefix=g_strdup("Settings conflict");
- break;
- case -222:
- prefix=g_strdup("Data out of range");
- break;
- case -224:
- prefix=g_strdup("Illegal parameter value");
- break;
- case -240:
- prefix=g_strdup("Hardware error");
- break;
- case -300:
- prefix=g_strdup("Device-specific error");
- break;
- case -340:
- prefix=g_strdup("Calibration failed");
- break;
- case -350:
- prefix=g_strdup("Queue overflow");
- break;
- case -400:
- prefix=g_strdup("Query error");
- break;
- default:
- prefix=g_strdup("System error");
- break;
- }
-
-
- *response = g_strdup_printf("%d, \"%s; %s\"", error_type, prefix, in);
- g_free(prefix);
-}
-
-
-void get_error_text(gchar **response, int error_num)
-{
- switch (error_num) {
-
- case OK:
- format_error_text(response,0,"");
- break;
-
- case Unrecognized:
- format_error_text(response,-102,"Unrecognized command.");
- break;
-
- case AsyncModeDisabled:
- format_error_text(response,-102,"Async gating not available.");
- break;
-
- case SyntaxError:
- format_error_text(response,-100,"Recognized command, but improper syntax.");
- break;
-
- case InvalidChannel:
- format_error_text(response,-114,"Invalid channel suffix.");
- break;
-
- case OutOfRange:
- format_error_text(response,-222,"Too high or too low.");
- break;
-
- case Negative_Not_Allowed:
- format_error_text(response,-222,"Negative value not allowed.");
- break;
-
- case IllegalParameter:
- case amplitude_confined_values:
- format_error_text(response,-224,"Not in list of allowed values.");
- break;
-
- case UnknownUnits:
- format_error_text(response,-131,"Unrecognized units.");
- break;
-
- case Route_Range_Error:
- format_error_text(response,-224,"Ranges are not supported.");
- break;
-
- case AB_Mode_Error:
- format_error_text(response,-221,"This PW mode is not valid for the current trigger mode.");
- break;
-
- case Valid_For_RS232_TELNET_Only:
- format_error_text(response,-221,"Command valid in RS232 or TELNET modes only.");
- break;
-
- case PW_Exceeds_Period:
- format_error_text(response,-221,"PW can not exceed period.");
- break;
-
- case Delay_Exceeds_95Period:
- format_error_text(response,-221,"Delay can not exceed 95% of period.");
- break;
-
- case NeedNonZeroAmpl:
- format_error_text(response,-222,"Amplitude must be non-zero.");
- break;
-
- case freq_lower_limit:
- format_error_text(response,-222,"PRF too low.");
- break;
-
- case freq_upper_limit:
- format_error_text(response,-222,"PRF too high.");
- break;
-
- case pw_lower_limit:
- format_error_text(response,-222,"PW too low.");
- break;
-
- case pw_upper_limit:
- format_error_text(response,-222,"PW too high.");
- break;
-
- case max_rise_time_error:
- format_error_text(response,-222,"Rise time too high.");
- break;
-
- case min_rise_time_error:
- format_error_text(response,-222,"Rise time too low.");
- break;
-
- case max_slew_error:
- format_error_text(response,-222,"Slew rate too high.");
- break;
-
- case min_slew_error:
- format_error_text(response,-222,"Slew rate too low.");
- break;
-
- case max_load_type_error:
- format_error_text(response,-222,"Resistance too high.");
- break;
-
- case min_load_type_error:
- format_error_text(response,-222,"Duty cycle too high or load resistance too low.");
- break;
-
- case max_soft_current_limit_error:
- format_error_text(response,-222,"Current limit too high.");
- break;
-
- case min_soft_current_limit_error:
- format_error_text(response,-222,"Current limit too low.");
- break;
-
- case duty_cycle_upper_limit:
- format_error_text(response,-222,"Duty cycle too high.");
- break;
-
- case Average_Amplitude_Too_High:
- format_error_text(response,-222,"Average amplitude too high.");
- break;
-
- case delay_lower_limit:
- format_error_text(response,-222,"Delay too low.");
- break;
-
- case delay_upper_limit:
- format_error_text(response,-222,"Delay too high.");
- break;
-
- case amplitude_lower_limit:
- format_error_text(response,-222,"Amplitude too low.");
- break;
-
- case amplitude_upper_limit:
- format_error_text(response,-222,"Amplitude too high.");
- break;
-
- case peak_power_limit:
- format_error_text(response,-222,"Peak power too high.");
- break;
-
- case average_power_limit:
- format_error_text(response,-222,"Average power too high.");
- break;
-
- case offset_lower_limit:
- format_error_text(response,-222,"Offset too low.");
- break;
-
- case offset_upper_limit:
- format_error_text(response,-222,"Offset too high.");
- break;
-
- case ampl_plus_os_lower_limit:
- format_error_text(response,-222,"AMPL+OS too low.");
- break;
-
- case ampl_plus_os_upper_limit:
- format_error_text(response,-222,"AMPL+OS too high.");
- break;
-
- case DutyTriggerError:
- format_error_text(response,-221,"Duty cycle can not be set. Set PW instead.");
- break;
-
- case PW_Exceeds_Double_Separation:
- format_error_text(response,-221,"PW can not exceed double pulse separation.");
- break;
-
- case Double_Separation_Too_Large:
- format_error_text(response,-221,"Double pulse separation is too high. It must be < 95% of the period.");
- break;
-
- case queue_overflow:
- format_error_text(response,-350,"Clear with *cls or syst:err.");
- break;
-
- case query_error_interrupted:
- format_error_text(response,-400,"Data lost in output buffer.");
- break;
-
- case query_error_unterminated:
- format_error_text(response,-400,"No data to send.");
- break;
-
- case Overload_Detected:
- format_error_text(response,-300,"Power supply overload detected. The output has been turned off.");
- break;
-
- case Overtemp_Detected:
- format_error_text(response,-300,"Overheating problem. The output has been turned off.");
- break;
-
- case Overvolt_Detected:
- format_error_text(response,-300,"Over-voltage or over-current! The output has been turned off.");
- break;
-
- case Soft_Limit_Exceeded:
- format_error_text(response,-300,"Monitor current limit exceeded! The output has been turned off.");
- break;
-
- case Device_Specific_Aux_Error_Detected:
- // replace with "FIXME" if Flash not implemented yet
- format_error_text(response,-300,globals.Flash.aux_error_message);
- break;
-
- case CalibrationPercentError:
- format_error_text(response,-340,"Percent change is too large.");
- break;
-
- case CalibrationPolarityError:
- format_error_text(response,-340,"Old and new polarities disagree.");
- break;
-
- case CalibrationZeroError:
- format_error_text(response,-340,"Zero point can not be changed.");
- break;
-
- case CalibrationMinMaxError:
- format_error_text(response,-340,"Would prevent operation at the minimum or maximum settings.");
- break;
-
- case CalibrationClosenessError:
- format_error_text(response,-340,"Too few calibration points, or they are too closely spaced.");
- break;
-
- case CalibrationRangeError:
- format_error_text(response,-340,"Top or bottom of range. Can not be deleted.");
- break;
-
- case SelfCalError:
- format_error_text(response,-340,"Calibration problem.");
- break;
-
- case HardwareError:
- format_error_text(response,-240,"Not possible with the current calibration settings.");
- break;
-
- case CalibrationTimingProblem:
- format_error_text(response,-221,"Set timing to allow operation at minimum and maximum amplitudes.");
- break;
-
- case Coupled_OS_Ampl_Error:
- format_error_text(response,-221,"If ampl > 0, ampl+offset must be > 0, if ampl < 0, ampl+offset must be < 0.");
- break;
-
- case PW_Distort_Error:
- format_error_text(response,-240,"Not possible with the current PW distortion settings.");
- break;
-
- case burst_duty_error:
- format_error_text(response,-222,"Duty cycle inside burst is too high.");
- break;
-
- case min_burst_period_error:
- format_error_text(response,-222,"Time between consecutive rising edges inside burst is too low.");
- break;
-
- case max_burst_count_error:
- format_error_text(response,-222,"Too many pulses per burst.");
- break;
-
- case min_burst_gap_error:
- format_error_text(response,-222,"Pulse separation too low.");
- break;
-
- case max_burst_gap_error:
- format_error_text(response,-222,"Pulse separation too high.");
- break;
-
- case Burst_Exceeds_Period:
- format_error_text(response,-222,"Burst width can not exceed period.");
- break;
-
- case password_change_error:
- format_error_text(response,-222,"Incorrect old password, or new password is too long or short. ");
- break;
-
- default:
- format_error_text(response,-200,"Specific problem unknown.");
- }
-
-}
-
+/* START LIBRARY DESCRIPTION ********************************************* +ERRCHK.LIB + Copyright (c) 2006, Avtech Electrosystems Ltd. + +DESCRIPTION: + Error-checking and reporting functions. + +SUPPORT LIB'S: +END DESCRIPTION **********************************************************/ + + +/*** BeginHeader Error_check */ + +#include <string.h> +#include <glib/gprintf.h> +#include "globals.h" +#include "dummy_functions.h" +#include "lcd.h" + +/*** EndHeader */ + +/* FIXME */ +int Error_Screen=NO; + +void set_gpib_error_flags (int error_num); + +void set_gpib_error_flags (int error_num) +{ + + if (error_num == OK) { + return; + } + + /* set the error flags in the GPIB ESR register right away */ + switch (error_num) { + case AsyncModeDisabled: + case Unrecognized: + case SyntaxError: + case UnknownUnits: + case InvalidChannel: + GPIB_Set_Command_Error(); + break; + case query_error_interrupted: + case query_error_unterminated: + GPIB_Set_Query_Error(); + break; + case Overload_Detected: + case Overtemp_Detected: + case Overvolt_Detected: + case Device_Specific_Aux_Error_Detected: + case queue_overflow: + case CalibrationPercentError: + case CalibrationZeroError: + case CalibrationMinMaxError: + case CalibrationClosenessError: + case CalibrationRangeError: + case CalibrationPolarityError: + case Soft_Limit_Exceeded: + case SelfCalError: + GPIB_Set_Device_Dependent_Error(); + break; + default: + GPIB_Set_Execution_Error(); + break; + } + + return; +} + +void queue_error(int error_num); + +void queue_error(int error_num) +{ + if (error_num == OK) { + return; + } + + set_gpib_error_flags (error_num); + if (globals.number_of_errors<error_queue_length) { + ++globals.number_of_errors; + globals.error_queue[globals.number_of_errors]=error_num; + } else { + globals.error_queue[globals.number_of_errors]=queue_overflow; + } + + return; +} + + + +/*----------------------------------------------------------------------------------------------------------*/ +void queue_error_and_get_text(gchar** response, int error_num) +{ + g_assert (*response == NULL); + + if (error_num == OK) { + return; + } + queue_error (error_num); + get_error_text (response, error_num); + return; +} + +/*----------------------------------------------------------------------------------------------------------*/ +void queue_error_from_parser(gchar** response, int error_num) +{ + g_assert (*response == NULL); + + if (error_num == OK) { + return; + } + queue_error_and_get_text(response, error_num); + Menu_Refresh(); + return; +} + + +void queue_error_for_gpib_only(int error_num); + +void queue_error_for_gpib_only(int error_num) +{ +// not part of this project, but left in for coder's reference. Can be deleted for now + if (error_num == OK) { + return; + } + queue_error(error_num); + return; +} + + +void queue_error_and_display_on_LCD(int error_num); + +void queue_error_and_display_on_LCD(int error_num) +{ + gchar* response = NULL; + queue_error_and_get_text(&response, error_num); + LCD_display_error_message (response); +} + + +void queue_and_broadcast_sensor_alarm(int error_num); + +void queue_and_broadcast_sensor_alarm(int error_num) +{ +// not part of this project, but left in for coder's reference. Can be deleted for now +} + +/*----------------------------------------------------------------------------------------------------------*/ +void Error_Remove_From_Queue(void) +{ + int i; + for (i=1; i<globals.number_of_errors; ++i) { + globals.error_queue[i]=globals.error_queue[i+1]; + } + --globals.number_of_errors; /* error reported, so remove it from the error queue */ +} + + +void format_error_text (gchar **response, int error_type, char *in); + +void format_error_text (gchar **response, int error_type, char *in) +{ + char* prefix = NULL; + + switch (error_type) { + case 0: + prefix = g_strdup("No error"); + break; + case -100: + prefix=g_strdup("Command error"); + break; + case -102: + prefix=g_strdup("Syntax error"); + break; + case -114: + prefix=g_strdup("Command error"); + break; + case -131: + prefix=g_strdup("Invalid suffix"); + break; + case -200: + prefix=g_strdup("Execution error"); + break; + case -221: + prefix=g_strdup("Settings conflict"); + break; + case -222: + prefix=g_strdup("Data out of range"); + break; + case -224: + prefix=g_strdup("Illegal parameter value"); + break; + case -240: + prefix=g_strdup("Hardware error"); + break; + case -300: + prefix=g_strdup("Device-specific error"); + break; + case -340: + prefix=g_strdup("Calibration failed"); + break; + case -350: + prefix=g_strdup("Queue overflow"); + break; + case -400: + prefix=g_strdup("Query error"); + break; + default: + prefix=g_strdup("System error"); + break; + } + + + *response = g_strdup_printf("%d, \"%s; %s\"", error_type, prefix, in); + g_free(prefix); +} + + +void get_error_text(gchar **response, int error_num) +{ + switch (error_num) { + + case OK: + format_error_text(response,0,""); + break; + + case Unrecognized: + format_error_text(response,-102,"Unrecognized command."); + break; + + case AsyncModeDisabled: + format_error_text(response,-102,"Async gating not available."); + break; + + case SyntaxError: + format_error_text(response,-100,"Recognized command, but improper syntax."); + break; + + case InvalidChannel: + format_error_text(response,-114,"Invalid channel suffix."); + break; + + case OutOfRange: + format_error_text(response,-222,"Too high or too low."); + break; + + case Negative_Not_Allowed: + format_error_text(response,-222,"Negative value not allowed."); + break; + + case IllegalParameter: + case amplitude_confined_values: + format_error_text(response,-224,"Not in list of allowed values."); + break; + + case UnknownUnits: + format_error_text(response,-131,"Unrecognized units."); + break; + + case Route_Range_Error: + format_error_text(response,-224,"Ranges are not supported."); + break; + + case AB_Mode_Error: + format_error_text(response,-221,"This PW mode is not valid for the current trigger mode."); + break; + + case Valid_For_RS232_TELNET_Only: + format_error_text(response,-221,"Command valid in RS232 or TELNET modes only."); + break; + + case PW_Exceeds_Period: + format_error_text(response,-221,"PW can not exceed period."); + break; + + case Delay_Exceeds_95Period: + format_error_text(response,-221,"Delay can not exceed 95% of period."); + break; + + case NeedNonZeroAmpl: + format_error_text(response,-222,"Amplitude must be non-zero."); + break; + + case freq_lower_limit: + format_error_text(response,-222,"PRF too low."); + break; + + case freq_upper_limit: + format_error_text(response,-222,"PRF too high."); + break; + + case pw_lower_limit: + format_error_text(response,-222,"PW too low."); + break; + + case pw_upper_limit: + format_error_text(response,-222,"PW too high."); + break; + + case max_rise_time_error: + format_error_text(response,-222,"Rise time too high."); + break; + + case min_rise_time_error: + format_error_text(response,-222,"Rise time too low."); + break; + + case max_slew_error: + format_error_text(response,-222,"Slew rate too high."); + break; + + case min_slew_error: + format_error_text(response,-222,"Slew rate too low."); + break; + + case max_load_type_error: + format_error_text(response,-222,"Resistance too high."); + break; + + case min_load_type_error: + format_error_text(response,-222,"Duty cycle too high or load resistance too low."); + break; + + case max_soft_current_limit_error: + format_error_text(response,-222,"Current limit too high."); + break; + + case min_soft_current_limit_error: + format_error_text(response,-222,"Current limit too low."); + break; + + case duty_cycle_upper_limit: + format_error_text(response,-222,"Duty cycle too high."); + break; + + case Average_Amplitude_Too_High: + format_error_text(response,-222,"Average amplitude too high."); + break; + + case delay_lower_limit: + format_error_text(response,-222,"Delay too low."); + break; + + case delay_upper_limit: + format_error_text(response,-222,"Delay too high."); + break; + + case amplitude_lower_limit: + format_error_text(response,-222,"Amplitude too low."); + break; + + case amplitude_upper_limit: + format_error_text(response,-222,"Amplitude too high."); + break; + + case peak_power_limit: + format_error_text(response,-222,"Peak power too high."); + break; + + case average_power_limit: + format_error_text(response,-222,"Average power too high."); + break; + + case offset_lower_limit: + format_error_text(response,-222,"Offset too low."); + break; + + case offset_upper_limit: + format_error_text(response,-222,"Offset too high."); + break; + + case ampl_plus_os_lower_limit: + format_error_text(response,-222,"AMPL+OS too low."); + break; + + case ampl_plus_os_upper_limit: + format_error_text(response,-222,"AMPL+OS too high."); + break; + + case DutyTriggerError: + format_error_text(response,-221,"Duty cycle can not be set. Set PW instead."); + break; + + case PW_Exceeds_Double_Separation: + format_error_text(response,-221,"PW can not exceed double pulse separation."); + break; + + case Double_Separation_Too_Large: + format_error_text(response,-221,"Double pulse separation is too high. It must be < 95% of the period."); + break; + + case queue_overflow: + format_error_text(response,-350,"Clear with *cls or syst:err."); + break; + + case query_error_interrupted: + format_error_text(response,-400,"Data lost in output buffer."); + break; + + case query_error_unterminated: + format_error_text(response,-400,"No data to send."); + break; + + case Overload_Detected: + format_error_text(response,-300,"Power supply overload detected. The output has been turned off."); + break; + + case Overtemp_Detected: + format_error_text(response,-300,"Overheating problem. The output has been turned off."); + break; + + case Overvolt_Detected: + format_error_text(response,-300,"Over-voltage or over-current! The output has been turned off."); + break; + + case Soft_Limit_Exceeded: + format_error_text(response,-300,"Monitor current limit exceeded! The output has been turned off."); + break; + + case Device_Specific_Aux_Error_Detected: + // replace with "FIXME" if Flash not implemented yet + format_error_text(response,-300,globals.Flash.aux_error_message); + break; + + case CalibrationPercentError: + format_error_text(response,-340,"Percent change is too large."); + break; + + case CalibrationPolarityError: + format_error_text(response,-340,"Old and new polarities disagree."); + break; + + case CalibrationZeroError: + format_error_text(response,-340,"Zero point can not be changed."); + break; + + case CalibrationMinMaxError: + format_error_text(response,-340,"Would prevent operation at the minimum or maximum settings."); + break; + + case CalibrationClosenessError: + format_error_text(response,-340,"Too few calibration points, or they are too closely spaced."); + break; + + case CalibrationRangeError: + format_error_text(response,-340,"Top or bottom of range. Can not be deleted."); + break; + + case SelfCalError: + format_error_text(response,-340,"Calibration problem."); + break; + + case HardwareError: + format_error_text(response,-240,"Not possible with the current calibration settings."); + break; + + case CalibrationTimingProblem: + format_error_text(response,-221,"Set timing to allow operation at minimum and maximum amplitudes."); + break; + + case Coupled_OS_Ampl_Error: + format_error_text(response,-221,"If ampl > 0, ampl+offset must be > 0, if ampl < 0, ampl+offset must be < 0."); + break; + + case PW_Distort_Error: + format_error_text(response,-240,"Not possible with the current PW distortion settings."); + break; + + case burst_duty_error: + format_error_text(response,-222,"Duty cycle inside burst is too high."); + break; + + case min_burst_period_error: + format_error_text(response,-222,"Time between consecutive rising edges inside burst is too low."); + break; + + case max_burst_count_error: + format_error_text(response,-222,"Too many pulses per burst."); + break; + + case min_burst_gap_error: + format_error_text(response,-222,"Pulse separation too low."); + break; + + case max_burst_gap_error: + format_error_text(response,-222,"Pulse separation too high."); + break; + + case Burst_Exceeds_Period: + format_error_text(response,-222,"Burst width can not exceed period."); + break; + + case password_change_error: + format_error_text(response,-222,"Incorrect old password, or new password is too long or short. "); + break; + + default: + format_error_text(response,-200,"Specific problem unknown."); + } + +} + |