74 lines
3.0 KiB
C#
74 lines
3.0 KiB
C#
namespace PamhagenSysCtrl.Helpers {
|
|
public enum T1Error {
|
|
UNKNOWN_ERROR = -1,
|
|
NO_ERROR = 0,
|
|
SYSTEM_POWER_ON = 10,
|
|
SYSTEM_POWER_OFF = 11,
|
|
RAM_CHECK_ERROR = 20,
|
|
PROGRAM_BCC_ERROR = 21,
|
|
BATTERY_VOLTAGE_DROP = 22,
|
|
EEPROM_BCC_ERROR = 23,
|
|
EEPROM_WARNING = 26,
|
|
SYSTEM_RAM_CHECK_ERROR = 30,
|
|
SYSTEM_ROM_BCC_ERROR = 31,
|
|
PERIPHERAL_LSI_ERROR = 32,
|
|
CLOCK_CALENDAR_CHECK_ERROR = 33,
|
|
ILLEGAL_SYSTEM_INTERRUPT = 34,
|
|
WD_TIMER_ERROR = 35,
|
|
IO_BUS_ERROR = 40,
|
|
IO_MISMATCH = 41,
|
|
IO_NO_ANSWER = 42,
|
|
IO_PARITY_ERROR = 43,
|
|
ILLEGAL_IO_REGISTER = 46,
|
|
COMMUNICATION_BUSY = 51,
|
|
FORMAT_ERROR = 52,
|
|
SCAN_TIME_OVER = 64,
|
|
NO_END_IRET_ERROR = 80,
|
|
PAIR_INSTRUCTION_ERROR = 81,
|
|
OPERAND_ERROR = 82,
|
|
INVALID_PROGRAM = 83,
|
|
NO_SUBROUTINE_ENTRY = 86,
|
|
NO_RET_ERROR = 87,
|
|
SUBROUTINE_NESTING_ERROR = 88,
|
|
LOOP_NESTING_ERROR = 89,
|
|
INVALID_FUNCTION_INSTRUCTION = 98,
|
|
PASSWORD_PROTECT = 106,
|
|
ILLEGAL_INSTRUCTION = 110,
|
|
REGISTER_ADDRESS_ERROR = 111,
|
|
BOUNDARY_ERROR = 112,
|
|
MEMORY_FULL = 113,
|
|
MODE_MISMATCH = 114,
|
|
REGISTER_ADDRESS_SIZE_ERROR = 115,
|
|
DUPLICATE_ENTRY_NR = 121,
|
|
}
|
|
|
|
public static class T1ErrorExtension {
|
|
public static bool IsError(this T1Error error) {
|
|
return error switch {
|
|
T1Error.NO_ERROR => false,
|
|
T1Error.SYSTEM_POWER_ON => false,
|
|
T1Error.SYSTEM_POWER_OFF => false,
|
|
_ => true,
|
|
};
|
|
}
|
|
public static string GetName(this T1Error error) {
|
|
return error switch {
|
|
T1Error.NO_ERROR => "No error",
|
|
T1Error.SYSTEM_POWER_ON => "System power on",
|
|
T1Error.SYSTEM_POWER_OFF => "System power off",
|
|
// TODO
|
|
_ => "Unknown error",
|
|
};
|
|
}
|
|
public static string? GetDescription(this T1Error error) {
|
|
return error switch {
|
|
T1Error.NO_ERROR => "No error recorded",
|
|
T1Error.SYSTEM_POWER_ON => "Power on (no error)",
|
|
T1Error.SYSTEM_POWER_OFF => "Power off (no error)",
|
|
// TODO
|
|
_ => null,
|
|
};
|
|
}
|
|
}
|
|
}
|