126 lines
5.3 KiB
C#
126 lines
5.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using cspl = LSWLib.CLog;
|
|
|
|
namespace eDosStation
|
|
{
|
|
static class DecodeResults
|
|
{
|
|
static readonly string[] names =
|
|
{
|
|
"ReadSensitivities",
|
|
"ReadDetectorThresholds",
|
|
"fReadDoses",
|
|
"ReadTotalDoses",
|
|
"ReadQualityData",
|
|
"ReadPeakRates",
|
|
"ClearTotalDose",
|
|
"ClearDose",
|
|
"ClearPeakRates",
|
|
"ClearFaultStatus",
|
|
"ClearLatchedAlarms",
|
|
"EpdOnOff",
|
|
"ReadAlarmConfiguration",
|
|
"ReadAlarmThresholds",
|
|
"WriteAlarmThresholds",
|
|
"WriteRateOffPercentage",
|
|
"DeissueEPD",
|
|
"SetBaselineCounters",
|
|
"WriteWearerId",
|
|
"ReadBaselineCounts",
|
|
"MfrLogin_R2",
|
|
"WriteSensitivities_R2",
|
|
"WriteAccessLevelAmin",
|
|
"WriteAccessLevelOpen",
|
|
"WriteQuickAccessDisplays_R3",
|
|
"WriteDisplayEnables_R3",
|
|
"WriteDisplayEnablePermissions_R3",
|
|
"WriteAlarmConfiguration_R3",
|
|
"WriteOffModeDisplay_R3",
|
|
"WriteSwitchOnFromButton_R3",
|
|
"WriteChirpSensitivity",
|
|
"WriteChirpEnable_R3","WriteRTC_R3","ReadStatus","ReadEpdIdentities","ReadCounts","ReadWearerId","ReadRTC"
|
|
,"DestroyReaderInterface" //0=ok
|
|
,"Disconnect" , "DisconnectAndNotify" //0=ok
|
|
,"StartDiscover","IssueEPD","EnableProtectedSession_R3"
|
|
,"CreateReaderInterface"
|
|
,"OpenReader","TestVibe"
|
|
};
|
|
|
|
private static string GetName(int func)
|
|
{
|
|
if (func >= 0 && func < names.Length) return names[func]; else return func.ToString();
|
|
}
|
|
private static string Getresult(int rval)
|
|
{
|
|
string rv;
|
|
switch (rval) {
|
|
case 0: rv = "r_OK"; break;
|
|
case -1: rv = "r_UnknownError"; break;
|
|
case -2: rv = "r_InvalidCommsHandle"; break;
|
|
case -3: rv = "r_InvalidPortName"; break;
|
|
case -4: rv = "r_PortAlreadyOpen"; break;
|
|
case -5: rv = "r_PortClosed"; break;
|
|
case -6: rv = "r_OperationFailed"; break;
|
|
case -7: rv = "r_InvalidState"; break;
|
|
case -8: rv = "r_InvalidCompletionToken"; break;
|
|
case -9: rv = "r_OperationTimeout"; break;
|
|
case -100: rv = "r_UnknownCmd"; break;
|
|
case -101: rv = "r_InvalidParam"; break;
|
|
case -102: rv = "r_InsufficientPriv"; break;
|
|
case -103: rv = "r_UnsupportedOp"; break;
|
|
case -104: rv = "r_FunctionFail"; break;
|
|
case -105: rv = "r_InvalidOp"; break;
|
|
case -106: rv = "r_IncompleteCommand"; break;
|
|
case -107: rv = "r_ResponseTooBig"; break; //response exceeded single frame length
|
|
case -108: rv = "r_ErrorBadStoredData"; break;
|
|
case -109: rv = "r_InvalidResponseDataLength"; break;
|
|
case -110: rv = "r_PayloadTooBig"; break;
|
|
case -111: rv = "r_ParseFailure"; break;
|
|
case -112: rv = "r_EEPROMWriteFailure"; break;
|
|
case -113: rv = "r_Busy"; break;
|
|
case -121: rv = "r_EEPROMReadFailure"; break;
|
|
case -122: rv = "r_WearerNameMismatch"; break;
|
|
case -123: rv = "r_DataTooLongForBuffer"; break;
|
|
case -200: rv = "r_ErrorUnexpectedResponse"; break;
|
|
case -201: rv = "r_ErrorNotProcessed"; break; //command not processed due to previous failure
|
|
case -202: rv = "r_ErrorNotConnected"; break;
|
|
case -203: rv = "r_ErrorUserCancelled"; break;
|
|
default: rv = rval.ToString(); break;
|
|
}
|
|
return rv;
|
|
}
|
|
|
|
public static string decodesteps(System.Collections.Generic.List<EpdBaseClr.cStepValues> Lst)
|
|
{
|
|
if (Lst != null)
|
|
{
|
|
System.Text.StringBuilder sb = new StringBuilder();
|
|
for (int s = 0; s < Lst.Count; s++)
|
|
{
|
|
sb.Append(GetName(Lst[s].func));
|
|
sb.Append(": commit : ");
|
|
sb.Append(Getresult(Lst[s].commitrv));
|
|
sb.Append(": End : ");
|
|
sb.AppendLine(Getresult(Lst[s].endrv));
|
|
}
|
|
return sb.ToString();
|
|
}
|
|
else return "List Empty";
|
|
}
|
|
|
|
public static void logsteps(string module, System.Collections.Generic.List<EpdBaseClr.cStepValues> Lst, cspl spl)
|
|
{
|
|
if (Lst!=null)
|
|
for (int s = 0; s < Lst.Count; s++)
|
|
{
|
|
string msg = $"{s} {GetName(Lst[s].func)} commit: {Getresult(Lst[s].commitrv)} end : {Getresult(Lst[s].endrv)} ({Lst[s].endrv})";
|
|
spl?.WriteSplunkLog(module, Lst[s].commitrv == 0 && Lst[s].endrv == 0 ? cspl.iseverity.info : cspl.iseverity.err,msg);
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|