iPerlCommunicationForm: 40x libRfid.dll for each serial port, DewaRework( ) fixed, ver. 2.26.1751

This commit is contained in:
Milan Hanajik 2021-09-24 09:31:05 +02:00
parent 30845f4ca3
commit 5c55b2540a
2 changed files with 491 additions and 116 deletions

View File

@ -122,55 +122,342 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
[DllImport("libRfid4.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort4(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid4.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort4(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid5.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion5();
[DllImport("libRfid5.dll", EntryPoint = "openPort")] static extern unsafe int openPort5(int comPort);
[DllImport("libRfid5.dll", EntryPoint = "closePort")] static extern unsafe int closePort5();
[DllImport("libRfid5.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort5(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid5.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort5(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid6.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion6();
[DllImport("libRfid6.dll", EntryPoint = "openPort")] static extern unsafe int openPort6(int comPort);
[DllImport("libRfid6.dll", EntryPoint = "closePort")] static extern unsafe int closePort6();
[DllImport("libRfid6.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort6(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid6.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort6(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid7.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion7();
[DllImport("libRfid7.dll", EntryPoint = "openPort")] static extern unsafe int openPort7(int comPort);
[DllImport("libRfid7.dll", EntryPoint = "closePort")] static extern unsafe int closePort7();
[DllImport("libRfid7.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort7(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid7.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort7(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid8.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion8();
[DllImport("libRfid8.dll", EntryPoint = "openPort")] static extern unsafe int openPort8(int comPort);
[DllImport("libRfid8.dll", EntryPoint = "closePort")] static extern unsafe int closePort8();
[DllImport("libRfid8.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort8(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid8.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort8(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid9.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion9();
[DllImport("libRfid9.dll", EntryPoint = "openPort")] static extern unsafe int openPort9(int comPort);
[DllImport("libRfid9.dll", EntryPoint = "closePort")] static extern unsafe int closePort9();
[DllImport("libRfid9.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort9(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid9.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort9(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid10.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion10();
[DllImport("libRfid10.dll", EntryPoint = "openPort")] static extern unsafe int openPort10(int comPort);
[DllImport("libRfid10.dll", EntryPoint = "closePort")] static extern unsafe int closePort10();
[DllImport("libRfid10.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort10(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid10.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort10(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid11.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion11();
[DllImport("libRfid11.dll", EntryPoint = "openPort")] static extern unsafe int openPort11(int comPort);
[DllImport("libRfid11.dll", EntryPoint = "closePort")] static extern unsafe int closePort11();
[DllImport("libRfid11.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort11(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid11.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort11(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid12.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion12();
[DllImport("libRfid12.dll", EntryPoint = "openPort")] static extern unsafe int openPort12(int comPort);
[DllImport("libRfid12.dll", EntryPoint = "closePort")] static extern unsafe int closePort12();
[DllImport("libRfid12.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort12(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid12.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort12(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid13.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion13();
[DllImport("libRfid13.dll", EntryPoint = "openPort")] static extern unsafe int openPort13(int comPort);
[DllImport("libRfid13.dll", EntryPoint = "closePort")] static extern unsafe int closePort13();
[DllImport("libRfid13.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort13(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid13.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort13(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid14.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion14();
[DllImport("libRfid14.dll", EntryPoint = "openPort")] static extern unsafe int openPort14(int comPort);
[DllImport("libRfid14.dll", EntryPoint = "closePort")] static extern unsafe int closePort14();
[DllImport("libRfid14.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort14(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid14.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort14(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid15.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion15();
[DllImport("libRfid15.dll", EntryPoint = "openPort")] static extern unsafe int openPort15(int comPort);
[DllImport("libRfid15.dll", EntryPoint = "closePort")] static extern unsafe int closePort15();
[DllImport("libRfid15.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort15(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid15.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort15(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid16.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion16();
[DllImport("libRfid16.dll", EntryPoint = "openPort")] static extern unsafe int openPort16(int comPort);
[DllImport("libRfid16.dll", EntryPoint = "closePort")] static extern unsafe int closePort16();
[DllImport("libRfid16.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort16(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid16.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort16(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid17.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion17();
[DllImport("libRfid17.dll", EntryPoint = "openPort")] static extern unsafe int openPort17(int comPort);
[DllImport("libRfid17.dll", EntryPoint = "closePort")] static extern unsafe int closePort17();
[DllImport("libRfid17.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort17(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid17.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort17(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid18.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion18();
[DllImport("libRfid18.dll", EntryPoint = "openPort")] static extern unsafe int openPort18(int comPort);
[DllImport("libRfid18.dll", EntryPoint = "closePort")] static extern unsafe int closePort18();
[DllImport("libRfid18.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort18(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid18.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort18(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid19.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion19();
[DllImport("libRfid19.dll", EntryPoint = "openPort")] static extern unsafe int openPort19(int comPort);
[DllImport("libRfid19.dll", EntryPoint = "closePort")] static extern unsafe int closePort19();
[DllImport("libRfid19.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort19(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid19.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort19(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid20.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion20();
[DllImport("libRfid20.dll", EntryPoint = "openPort")] static extern unsafe int openPort20(int comPort);
[DllImport("libRfid20.dll", EntryPoint = "closePort")] static extern unsafe int closePort20();
[DllImport("libRfid20.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort20(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid20.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort20(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid21.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion21();
[DllImport("libRfid21.dll", EntryPoint = "openPort")] static extern unsafe int openPort21(int comPort);
[DllImport("libRfid21.dll", EntryPoint = "closePort")] static extern unsafe int closePort21();
[DllImport("libRfid21.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort21(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid21.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort21(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid22.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion22();
[DllImport("libRfid22.dll", EntryPoint = "openPort")] static extern unsafe int openPort22(int comPort);
[DllImport("libRfid22.dll", EntryPoint = "closePort")] static extern unsafe int closePort22();
[DllImport("libRfid22.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort22(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid22.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort22(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid23.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion23();
[DllImport("libRfid23.dll", EntryPoint = "openPort")] static extern unsafe int openPort23(int comPort);
[DllImport("libRfid23.dll", EntryPoint = "closePort")] static extern unsafe int closePort23();
[DllImport("libRfid23.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort23(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid23.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort23(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid24.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion24();
[DllImport("libRfid24.dll", EntryPoint = "openPort")] static extern unsafe int openPort24(int comPort);
[DllImport("libRfid24.dll", EntryPoint = "closePort")] static extern unsafe int closePort24();
[DllImport("libRfid24.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort24(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid24.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort24(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid25.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion25();
[DllImport("libRfid25.dll", EntryPoint = "openPort")] static extern unsafe int openPort25(int comPort);
[DllImport("libRfid25.dll", EntryPoint = "closePort")] static extern unsafe int closePort25();
[DllImport("libRfid25.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort25(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid25.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort25(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid26.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion26();
[DllImport("libRfid26.dll", EntryPoint = "openPort")] static extern unsafe int openPort26(int comPort);
[DllImport("libRfid26.dll", EntryPoint = "closePort")] static extern unsafe int closePort26();
[DllImport("libRfid26.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort26(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid26.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort26(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid27.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion27();
[DllImport("libRfid27.dll", EntryPoint = "openPort")] static extern unsafe int openPort27(int comPort);
[DllImport("libRfid27.dll", EntryPoint = "closePort")] static extern unsafe int closePort27();
[DllImport("libRfid27.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort27(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid27.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort27(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid28.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion28();
[DllImport("libRfid28.dll", EntryPoint = "openPort")] static extern unsafe int openPort28(int comPort);
[DllImport("libRfid28.dll", EntryPoint = "closePort")] static extern unsafe int closePort28();
[DllImport("libRfid28.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort28(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid28.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort28(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid29.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion29();
[DllImport("libRfid29.dll", EntryPoint = "openPort")] static extern unsafe int openPort29(int comPort);
[DllImport("libRfid29.dll", EntryPoint = "closePort")] static extern unsafe int closePort29();
[DllImport("libRfid29.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort29(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid29.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort29(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid30.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion30();
[DllImport("libRfid30.dll", EntryPoint = "openPort")] static extern unsafe int openPort30(int comPort);
[DllImport("libRfid30.dll", EntryPoint = "closePort")] static extern unsafe int closePort30();
[DllImport("libRfid30.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort30(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid30.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort30(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid31.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion31();
[DllImport("libRfid31.dll", EntryPoint = "openPort")] static extern unsafe int openPort31(int comPort);
[DllImport("libRfid31.dll", EntryPoint = "closePort")] static extern unsafe int closePort31();
[DllImport("libRfid31.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort31(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid31.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort31(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid32.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion32();
[DllImport("libRfid32.dll", EntryPoint = "openPort")] static extern unsafe int openPort32(int comPort);
[DllImport("libRfid32.dll", EntryPoint = "closePort")] static extern unsafe int closePort32();
[DllImport("libRfid32.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort32(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid32.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort32(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid33.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion33();
[DllImport("libRfid33.dll", EntryPoint = "openPort")] static extern unsafe int openPort33(int comPort);
[DllImport("libRfid33.dll", EntryPoint = "closePort")] static extern unsafe int closePort33();
[DllImport("libRfid33.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort33(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid33.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort33(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid34.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion34();
[DllImport("libRfid34.dll", EntryPoint = "openPort")] static extern unsafe int openPort34(int comPort);
[DllImport("libRfid34.dll", EntryPoint = "closePort")] static extern unsafe int closePort34();
[DllImport("libRfid34.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort34(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid34.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort34(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid35.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion35();
[DllImport("libRfid35.dll", EntryPoint = "openPort")] static extern unsafe int openPort35(int comPort);
[DllImport("libRfid35.dll", EntryPoint = "closePort")] static extern unsafe int closePort35();
[DllImport("libRfid35.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort35(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid35.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort35(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid36.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion36();
[DllImport("libRfid36.dll", EntryPoint = "openPort")] static extern unsafe int openPort36(int comPort);
[DllImport("libRfid36.dll", EntryPoint = "closePort")] static extern unsafe int closePort36();
[DllImport("libRfid36.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort36(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid36.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort36(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid37.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion37();
[DllImport("libRfid37.dll", EntryPoint = "openPort")] static extern unsafe int openPort37(int comPort);
[DllImport("libRfid37.dll", EntryPoint = "closePort")] static extern unsafe int closePort37();
[DllImport("libRfid37.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort37(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid37.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort37(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid38.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion38();
[DllImport("libRfid38.dll", EntryPoint = "openPort")] static extern unsafe int openPort38(int comPort);
[DllImport("libRfid38.dll", EntryPoint = "closePort")] static extern unsafe int closePort38();
[DllImport("libRfid38.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort38(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid38.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort38(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid39.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion39();
[DllImport("libRfid39.dll", EntryPoint = "openPort")] static extern unsafe int openPort39(int comPort);
[DllImport("libRfid39.dll", EntryPoint = "closePort")] static extern unsafe int closePort39();
[DllImport("libRfid39.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort39(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid39.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort39(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid40.dll", EntryPoint = "getDllVersion")] public static extern unsafe int getDllVersion40();
[DllImport("libRfid40.dll", EntryPoint = "openPort")] static extern unsafe int openPort40(int comPort);
[DllImport("libRfid40.dll", EntryPoint = "closePort")] static extern unsafe int closePort40();
[DllImport("libRfid40.dll", EntryPoint = "readRequestPort")] static extern unsafe int readRequestPort40(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
[DllImport("libRfid40.dll", EntryPoint = "writeRequestPort")] static extern unsafe int writeRequestPort40(MessageID messageId, int offset, int lenght, byte* ptr, int timeout_ms);
/// <summary>
/// Wrapper function with safe interface and unsafe body
/// </summary>
/// <param name="threadID">0..3</param>
/// <param name="iperlHead">Water meter (iPerlHead) object</param>
/// <returns>Value returned by openPort(...)</returns>
public static unsafe int OpenPort(int threadID, IperlHead iperlHead)
public static unsafe int OpenPort(IperlHead iperlHead)
{
if (iperlHead.DebugLevel != DebugMode.Normal) return 0; /// No function in debug mode
switch (threadID)
switch (iperlHead.Position)
{
default:
case 0: return openPort1(iperlHead.RfidComPortNr);
case 1: return openPort2(iperlHead.RfidComPortNr);
case 2: return openPort3(iperlHead.RfidComPortNr);
case 3: return openPort4(iperlHead.RfidComPortNr);
case 1: return openPort1(iperlHead.RfidComPortNr);
case 2: return openPort2(iperlHead.RfidComPortNr);
case 3: return openPort3(iperlHead.RfidComPortNr);
case 4: return openPort4(iperlHead.RfidComPortNr);
case 5: return openPort5(iperlHead.RfidComPortNr);
case 6: return openPort6(iperlHead.RfidComPortNr);
case 7: return openPort7(iperlHead.RfidComPortNr);
case 8: return openPort8(iperlHead.RfidComPortNr);
case 9: return openPort9(iperlHead.RfidComPortNr);
case 10: return openPort10(iperlHead.RfidComPortNr);
case 11: return openPort11(iperlHead.RfidComPortNr);
case 12: return openPort12(iperlHead.RfidComPortNr);
case 13: return openPort13(iperlHead.RfidComPortNr);
case 14: return openPort14(iperlHead.RfidComPortNr);
case 15: return openPort15(iperlHead.RfidComPortNr);
case 16: return openPort16(iperlHead.RfidComPortNr);
case 17: return openPort17(iperlHead.RfidComPortNr);
case 18: return openPort18(iperlHead.RfidComPortNr);
case 19: return openPort19(iperlHead.RfidComPortNr);
case 20: return openPort20(iperlHead.RfidComPortNr);
case 21: return openPort21(iperlHead.RfidComPortNr);
case 22: return openPort22(iperlHead.RfidComPortNr);
case 23: return openPort23(iperlHead.RfidComPortNr);
case 24: return openPort24(iperlHead.RfidComPortNr);
case 25: return openPort25(iperlHead.RfidComPortNr);
case 26: return openPort26(iperlHead.RfidComPortNr);
case 27: return openPort27(iperlHead.RfidComPortNr);
case 28: return openPort28(iperlHead.RfidComPortNr);
case 29: return openPort29(iperlHead.RfidComPortNr);
case 30: return openPort30(iperlHead.RfidComPortNr);
case 31: return openPort31(iperlHead.RfidComPortNr);
case 32: return openPort32(iperlHead.RfidComPortNr);
case 33: return openPort33(iperlHead.RfidComPortNr);
case 34: return openPort34(iperlHead.RfidComPortNr);
case 35: return openPort35(iperlHead.RfidComPortNr);
case 36: return openPort36(iperlHead.RfidComPortNr);
case 37: return openPort37(iperlHead.RfidComPortNr);
case 38: return openPort38(iperlHead.RfidComPortNr);
case 39: return openPort39(iperlHead.RfidComPortNr);
case 40: return openPort40(iperlHead.RfidComPortNr);
}
}
/// <summary>
/// Wrapper function with safe interface and unsafe body
/// </summary>
/// <param name="threadID">0..3</param>
/// <param name="iperlHead">Water meter (iPerlHead) object</param>
/// <returns>Value returned by openPort(...)</returns>
public static unsafe int ClosePort(int threadID, IperlHead iperlHead)
public static unsafe int ClosePort(IperlHead iperlHead)
{
if (iperlHead.DebugLevel != DebugMode.Normal) return 0; /// No function in debug mode
switch (threadID)
switch (iperlHead.Position)
{
default:
case 0: return closePort1();
case 1: return closePort2();
case 2: return closePort3();
case 3: return closePort4();
case 1: return closePort1();
case 2: return closePort2();
case 3: return closePort3();
case 4: return closePort4();
case 5: return closePort5();
case 6: return closePort6();
case 7: return closePort7();
case 8: return closePort8();
case 9: return closePort9();
case 10: return closePort10();
case 11: return closePort11();
case 12: return closePort12();
case 13: return closePort13();
case 14: return closePort14();
case 15: return closePort15();
case 16: return closePort16();
case 17: return closePort17();
case 18: return closePort18();
case 19: return closePort19();
case 20: return closePort20();
case 21: return closePort21();
case 22: return closePort22();
case 23: return closePort23();
case 24: return closePort24();
case 25: return closePort25();
case 26: return closePort26();
case 27: return closePort27();
case 28: return closePort28();
case 29: return closePort29();
case 30: return closePort30();
case 31: return closePort31();
case 32: return closePort32();
case 33: return closePort33();
case 34: return closePort34();
case 35: return closePort35();
case 36: return closePort36();
case 37: return closePort37();
case 38: return closePort38();
case 39: return closePort39();
case 40: return closePort40();
}
}
/// <summary>
/// Wrapper function with safe interface and unsafe body
/// </summary>
/// <param name="threadID">0..3</param>
/// <param name="iperlHead">Water meter (iPerlHead) object</param>
/// <returns>Value returned by readRequestPort(...)</returns>
public static unsafe int ReadRequestPort(int threadID, IperlHead iperlHead, MessageID messageID, int offset, int length, out byte[] buffer, int timeout)
public static unsafe int ReadRequestPort(IperlHead iperlHead, MessageID messageID, int offset, int length, out byte[] buffer, int timeout)
{
Thread.Sleep(Math.Max(250, cfg.DelayBetweenRetries));
if (iperlHead.DebugLevel != DebugMode.Normal)
{
///
@ -215,13 +502,49 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
{
int retv;
switch (threadID)
switch (iperlHead.Position)
{
default:
case 0: retv = readRequestPort1(messageID, offset, length, pBuf, timeout); break;
case 1: retv = readRequestPort2(messageID, offset, length, pBuf, timeout); break;
case 2: retv = readRequestPort3(messageID, offset, length, pBuf, timeout); break;
case 3: retv = readRequestPort4(messageID, offset, length, pBuf, timeout); break;
case 1: retv = readRequestPort1(messageID, offset, length, pBuf, timeout); break;
case 2: retv = readRequestPort2(messageID, offset, length, pBuf, timeout); break;
case 3: retv = readRequestPort3(messageID, offset, length, pBuf, timeout); break;
case 4: retv = readRequestPort4(messageID, offset, length, pBuf, timeout); break;
case 5: retv = readRequestPort5(messageID, offset, length, pBuf, timeout); break;
case 6: retv = readRequestPort6(messageID, offset, length, pBuf, timeout); break;
case 7: retv = readRequestPort7(messageID, offset, length, pBuf, timeout); break;
case 8: retv = readRequestPort8(messageID, offset, length, pBuf, timeout); break;
case 9: retv = readRequestPort9(messageID, offset, length, pBuf, timeout); break;
case 10: retv = readRequestPort10(messageID, offset, length, pBuf, timeout); break;
case 11: retv = readRequestPort11(messageID, offset, length, pBuf, timeout); break;
case 12: retv = readRequestPort12(messageID, offset, length, pBuf, timeout); break;
case 13: retv = readRequestPort13(messageID, offset, length, pBuf, timeout); break;
case 14: retv = readRequestPort14(messageID, offset, length, pBuf, timeout); break;
case 15: retv = readRequestPort15(messageID, offset, length, pBuf, timeout); break;
case 16: retv = readRequestPort16(messageID, offset, length, pBuf, timeout); break;
case 17: retv = readRequestPort17(messageID, offset, length, pBuf, timeout); break;
case 18: retv = readRequestPort18(messageID, offset, length, pBuf, timeout); break;
case 19: retv = readRequestPort19(messageID, offset, length, pBuf, timeout); break;
case 20: retv = readRequestPort20(messageID, offset, length, pBuf, timeout); break;
case 21: retv = readRequestPort21(messageID, offset, length, pBuf, timeout); break;
case 22: retv = readRequestPort22(messageID, offset, length, pBuf, timeout); break;
case 23: retv = readRequestPort23(messageID, offset, length, pBuf, timeout); break;
case 24: retv = readRequestPort24(messageID, offset, length, pBuf, timeout); break;
case 25: retv = readRequestPort25(messageID, offset, length, pBuf, timeout); break;
case 26: retv = readRequestPort26(messageID, offset, length, pBuf, timeout); break;
case 27: retv = readRequestPort27(messageID, offset, length, pBuf, timeout); break;
case 28: retv = readRequestPort28(messageID, offset, length, pBuf, timeout); break;
case 29: retv = readRequestPort29(messageID, offset, length, pBuf, timeout); break;
case 30: retv = readRequestPort30(messageID, offset, length, pBuf, timeout); break;
case 31: retv = readRequestPort31(messageID, offset, length, pBuf, timeout); break;
case 32: retv = readRequestPort32(messageID, offset, length, pBuf, timeout); break;
case 33: retv = readRequestPort33(messageID, offset, length, pBuf, timeout); break;
case 34: retv = readRequestPort34(messageID, offset, length, pBuf, timeout); break;
case 35: retv = readRequestPort35(messageID, offset, length, pBuf, timeout); break;
case 36: retv = readRequestPort36(messageID, offset, length, pBuf, timeout); break;
case 37: retv = readRequestPort37(messageID, offset, length, pBuf, timeout); break;
case 38: retv = readRequestPort38(messageID, offset, length, pBuf, timeout); break;
case 39: retv = readRequestPort39(messageID, offset, length, pBuf, timeout); break;
case 40: retv = readRequestPort40(messageID, offset, length, pBuf, timeout); break;
}
for (int i = 0; i < length; i++) buffer[i] = buf[i];
@ -250,31 +573,65 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
}
/// <summary>
/// Wrapper function with safe interface adn unsafe body
/// Wrapper function with safe interface and unsafe body
/// </summary>
/// <param name="threadID">0..3</param>
/// <param name="iperlHead">Water meter (iPerlHead) object</param>
/// <returns>Value returned by writeRequestPort(...)</returns>
public static unsafe int WriteRequestPort(int threadID, IperlHead iperlHead, MessageID messageID, int offset, int length, byte[] buffer, int timeout)
public static unsafe int WriteRequestPort(IperlHead iperlHead, MessageID messageID, int offset, int length, byte[] buffer, int timeout)
{
Thread.Sleep(Math.Max(250, cfg.DelayBetweenRetries));
if (iperlHead.DebugLevel != DebugMode.Normal) return 0;
fixed (byte* pBuf = buffer)
{
int retv;
switch (threadID)
switch (iperlHead.Position)
{
default:
case 0: retv = writeRequestPort1(messageID, offset, length, pBuf, timeout); break;
case 1: retv = writeRequestPort2(messageID, offset, length, pBuf, timeout); break;
case 2: retv = writeRequestPort3(messageID, offset, length, pBuf, timeout); break;
case 3: retv = writeRequestPort4(messageID, offset, length, pBuf, timeout); break;
case 1: retv = writeRequestPort1(messageID, offset, length, pBuf, timeout); break;
case 2: retv = writeRequestPort2(messageID, offset, length, pBuf, timeout); break;
case 3: retv = writeRequestPort3(messageID, offset, length, pBuf, timeout); break;
case 4: retv = writeRequestPort4(messageID, offset, length, pBuf, timeout); break;
case 5: retv = writeRequestPort5(messageID, offset, length, pBuf, timeout); break;
case 6: retv = writeRequestPort6(messageID, offset, length, pBuf, timeout); break;
case 7: retv = writeRequestPort7(messageID, offset, length, pBuf, timeout); break;
case 8: retv = writeRequestPort8(messageID, offset, length, pBuf, timeout); break;
case 9: retv = writeRequestPort9(messageID, offset, length, pBuf, timeout); break;
case 10: retv = writeRequestPort10(messageID, offset, length, pBuf, timeout); break;
case 11: retv = writeRequestPort11(messageID, offset, length, pBuf, timeout); break;
case 12: retv = writeRequestPort12(messageID, offset, length, pBuf, timeout); break;
case 13: retv = writeRequestPort13(messageID, offset, length, pBuf, timeout); break;
case 14: retv = writeRequestPort14(messageID, offset, length, pBuf, timeout); break;
case 15: retv = writeRequestPort15(messageID, offset, length, pBuf, timeout); break;
case 16: retv = writeRequestPort16(messageID, offset, length, pBuf, timeout); break;
case 17: retv = writeRequestPort17(messageID, offset, length, pBuf, timeout); break;
case 18: retv = writeRequestPort18(messageID, offset, length, pBuf, timeout); break;
case 19: retv = writeRequestPort19(messageID, offset, length, pBuf, timeout); break;
case 20: retv = writeRequestPort20(messageID, offset, length, pBuf, timeout); break;
case 21: retv = writeRequestPort21(messageID, offset, length, pBuf, timeout); break;
case 22: retv = writeRequestPort22(messageID, offset, length, pBuf, timeout); break;
case 23: retv = writeRequestPort23(messageID, offset, length, pBuf, timeout); break;
case 24: retv = writeRequestPort24(messageID, offset, length, pBuf, timeout); break;
case 25: retv = writeRequestPort25(messageID, offset, length, pBuf, timeout); break;
case 26: retv = writeRequestPort26(messageID, offset, length, pBuf, timeout); break;
case 27: retv = writeRequestPort27(messageID, offset, length, pBuf, timeout); break;
case 28: retv = writeRequestPort28(messageID, offset, length, pBuf, timeout); break;
case 29: retv = writeRequestPort29(messageID, offset, length, pBuf, timeout); break;
case 30: retv = writeRequestPort30(messageID, offset, length, pBuf, timeout); break;
case 31: retv = writeRequestPort31(messageID, offset, length, pBuf, timeout); break;
case 32: retv = writeRequestPort32(messageID, offset, length, pBuf, timeout); break;
case 33: retv = writeRequestPort33(messageID, offset, length, pBuf, timeout); break;
case 34: retv = writeRequestPort34(messageID, offset, length, pBuf, timeout); break;
case 35: retv = writeRequestPort35(messageID, offset, length, pBuf, timeout); break;
case 36: retv = writeRequestPort36(messageID, offset, length, pBuf, timeout); break;
case 37: retv = writeRequestPort37(messageID, offset, length, pBuf, timeout); break;
case 38: retv = writeRequestPort38(messageID, offset, length, pBuf, timeout); break;
case 39: retv = writeRequestPort39(messageID, offset, length, pBuf, timeout); break;
case 40: retv = writeRequestPort40(messageID, offset, length, pBuf, timeout); break;
}
/// Delay min. 250 ms
Thread.Sleep(Math.Max(250, cfg.DelayBetweenRetries));
///
/// Logging
///
@ -814,9 +1171,9 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
/// RFID communication functions below require a reference to water meter entity (wm != null)
///
else if (wm == null) error = CommErr.CommFailed;
else if (currentActivity.ToLower().Contains(ReadConfigurationStr.ToLower())) error = ReadConfiguration(threadID, ihead, wm, ref resultStr);
else if (currentActivity.ToLower() == ReadCalibrationStr.ToLower()) error = ReadCalibration(threadID, ihead, wm, ref resultStr);
else if (currentActivity.ToLower() == ReadCalibrationV4Str.ToLower()) error = ReadCalibrationV4(threadID, ihead, wm, ref resultStr);
else if (currentActivity.ToLower().Contains(ReadConfigurationStr.ToLower())) error = ReadConfiguration(ihead, wm, ref resultStr);
else if (currentActivity.ToLower() == ReadCalibrationStr.ToLower()) error = ReadCalibration(ihead, wm, ref resultStr);
else if (currentActivity.ToLower() == ReadCalibrationV4Str.ToLower()) error = ReadCalibrationV4(ihead, wm, ref resultStr);
else if (currentActivity.ToLower().Contains(WriteCalibrationFactorStr.ToLower())) error = WriteCalibrationFactor(threadID, ihead, wm, ref resultStr);
else if (currentActivity.ToLower().Contains(WriteCalibrationV4FactorsStr.ToLower())) error = WriteCalibrationV4Factors(threadID, ihead, wm, ref resultStr);
else if (currentActivity.ToLower() == NormalizeCalibrationFactorStr.ToLower()) error = NormalizeCalibrationFactor(threadID, ihead, wm, ref resultStr);
@ -844,7 +1201,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
else if (currentActivity.ToLower() == Reset2HzCorrectionStr.ToLower()) error = Reset2HzCorrection(threadID, ihead, wm, ref resultStr);
else if (currentActivity.ToLower() == Write2HzCorrectionStr.ToLower()) error = Write2HzCorrection(threadID, ihead, wm, ref resultStr);
else if (currentActivity.ToLower() == GetDefaultQ2CorrectionsStr.ToLower()) error = GetQ2PreCorrectionsFormRest(threadID, ihead, wm, ref resultStr);
else if (currentActivity.ToLower() == DewaReworkStr.ToLower()) error = DewaRework(threadID, ihead, wm, ref resultStr);
else if (currentActivity.ToLower() == DewaReworkStr.ToLower()) error = DewaRework(ihead, wm, ref resultStr);
#endif
else
@ -925,12 +1282,11 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
/// <summary>
/// Read a complete configuration structure of the watermeter
/// </summary>
/// <param name="threadId">Thread ID passed to RFID communication functions</param>
/// <param name="ihead">iPERL head object</param>
/// <param name="wm">Water meter object</param>
/// <param name="resultStr">String passed to caller</param>
/// <returns>true on success</returns>
static CommErr ReadConfiguration(int threadId, IperlHead ihead, Results.Entities.WaterMeter wm, ref string resultStr)
static CommErr ReadConfiguration(IperlHead ihead, Results.Entities.WaterMeter wm, ref string resultStr)
{
///
/// The activity is "Read configuration" (this enables the watermeter, resets error flag)
@ -945,7 +1301,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
ihead.ConfigStruct = null; /// Clear previous ConfigStruct, avoid reuse of (not anymore valid) PCB Number
if (OpenPort(threadId, ihead) != 0) return CommErr.OpenPort; /// Open RFID port
if (OpenPort(ihead) != 0) return CommErr.OpenPort; /// Open RFID port
CommErr error = CommErr.Read;
int readRetVal = 0;
@ -954,7 +1310,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
byte[] config = null;
for (int j = 0; j < cfg.MaxCommRetries; j++)
{
readRetVal = ReadRequestPort(threadId, ihead, MessageID.Configuration, 0, ConfigStruct.Length, out config, cfg.CommTimeout);
readRetVal = ReadRequestPort(ihead, MessageID.Configuration, 0, ConfigStruct.Length, out config, cfg.CommTimeout);
if (readRetVal == 0)
{
error = CommErr.None;
@ -967,7 +1323,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
if (cfg.DelayBetweenRetries > 0) Thread.Sleep(cfg.DelayBetweenRetries);
}
ClosePort(threadId, ihead); /// Close RFID port
ClosePort(ihead); /// Close RFID port
return error + Math.Max(0, Math.Min(readRetVal, 4));
}
@ -1007,7 +1363,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
}
/// Communication necessary
if (OpenPort(threadId, ihead) != 0) return CommErr.OpenPort; /// Open RFID port
if (OpenPort(ihead) != 0) return CommErr.OpenPort; /// Open RFID port
CommErr error = CommErr.None;
@ -1018,7 +1374,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
byte[] cmd = new byte[1] { (byte)Command.SetActiveMode };
for (int j = 0; j < cfg.MaxCommRetries; j++)
{
if (0 == WriteRequestPort(threadId, ihead, MessageID.Command, 0, 1, cmd, cfg.CommTimeout))
if (0 == WriteRequestPort(ihead, MessageID.Command, 0, 1, cmd, cfg.CommTimeout))
{
error = CommErr.None;
break;
@ -1039,7 +1395,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
byte[] tstMdCfg = new byte[1] { testModeConfig };
for (int j = 0; j < cfg.MaxCommRetries; j++)
{
if (0 == WriteRequestPort(threadId, ihead, MessageID.Configuration, 21, 1, tstMdCfg, cfg.CommTimeout))
if (0 == WriteRequestPort(ihead, MessageID.Configuration, 21, 1, tstMdCfg, cfg.CommTimeout))
{
ihead.ConfigStruct.Update(21, tstMdCfg);
error = CommErr.None;
@ -1061,7 +1417,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
byte[] cmd = new byte[1] { (byte)Command.SetTestMode };
for (int j = 0; j < cfg.MaxCommRetries; j++)
{
if (0 == WriteRequestPort(threadId, ihead, MessageID.Command, 0, 1, cmd, cfg.CommTimeout))
if (0 == WriteRequestPort(ihead, MessageID.Command, 0, 1, cmd, cfg.CommTimeout))
{
error = CommErr.None;
break;
@ -1083,7 +1439,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
byte[] config = null;
for (int j = 0; j < cfg.MaxCommRetries; j++)
{
if (0 == ReadRequestPort(threadId, ihead, MessageID.Configuration, 0, ConfigStruct.Length, out config, cfg.CommTimeout))
if (0 == ReadRequestPort(ihead, MessageID.Configuration, 0, ConfigStruct.Length, out config, cfg.CommTimeout))
{
ihead.ConfigStruct = ConfigStruct.FromByteArray(config);
if ((ihead.ConfigStruct.MeterState == MeterState.Test) && (ihead.ConfigStruct.TestModeConfig == testModeConfig))
@ -1099,7 +1455,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
}
}
ClosePort(threadId, ihead); /// Close RFID port
ClosePort(ihead); /// Close RFID port
return error;
}
@ -1114,7 +1470,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
/// <returns>true on success</returns>
static CommErr SetActiveMode(int threadId, IperlHead ihead, ref string resultStr)
{
if (OpenPort(threadId, ihead) != 0) return CommErr.OpenPort; /// Open RFID port
if (OpenPort(ihead) != 0) return CommErr.OpenPort; /// Open RFID port
CommErr error = CommErr.CmdActive;
@ -1122,7 +1478,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
byte[] cmd = new byte[1] { (byte)Command.SetActiveMode };
for (int j = 0; j < cfg.MaxCommRetries; j++)
{
if (0 == WriteRequestPort(threadId, ihead, MessageID.Command, 0, 1, cmd, cfg.CommTimeout))
if (0 == WriteRequestPort(ihead, MessageID.Command, 0, 1, cmd, cfg.CommTimeout))
{
error = CommErr.None;
break;
@ -1169,7 +1525,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
}
#endif
ClosePort(threadId, ihead); /// Close RFID port
ClosePort(ihead); /// Close RFID port
return error;
}
@ -1181,11 +1537,11 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
/// <param name="ihead">Water meter object</param>
/// <param name="resultStr">String passed to caller</param>
/// <returns>true on success</returns>
static CommErr ReadCalibration(int threadId, IperlHead ihead, Results.Entities.WaterMeter wm, ref string resultStr)
static CommErr ReadCalibration(IperlHead ihead, Results.Entities.WaterMeter wm, ref string resultStr)
{
if (ihead.CommFailed) return CommErr.CommFailed;
if (OpenPort(threadId, ihead) != 0) return CommErr.OpenPort; /// Open RFID port
if (OpenPort(ihead) != 0) return CommErr.OpenPort; /// Open RFID port
CommErr error = CommErr.Read;
int readRetVal = 0;
@ -1194,7 +1550,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
byte[] calib = null;
for (int j = 0; j < cfg.MaxCommRetries; j++)
{
readRetVal = ReadRequestPort(threadId, ihead, MessageID.Calibration, 0, CalibrationStruct.Length, out calib, cfg.CommTimeout);
readRetVal = ReadRequestPort(ihead, MessageID.Calibration, 0, CalibrationStruct.Length, out calib, cfg.CommTimeout);
if (readRetVal == 0)
{
ihead.CalibrationStruct = CalibrationStruct.FromByteArray(calib);
@ -1214,7 +1570,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
if (cfg.DelayBetweenRetries > 0) Thread.Sleep(cfg.DelayBetweenRetries);
}
ClosePort(threadId, ihead); /// Close RFID port
ClosePort(ihead); /// Close RFID port
return error + Math.Max(0, Math.Min(readRetVal, 4));
}
@ -1226,11 +1582,11 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
/// <param name="ihead">Water meter object</param>
/// <param name="resultStr">String passed to caller</param>
/// <returns>true on success</returns>
static CommErr ReadCalibrationV4(int threadId, IperlHead ihead, Results.Entities.WaterMeter wm, ref string resultStr)
static CommErr ReadCalibrationV4(IperlHead ihead, Results.Entities.WaterMeter wm, ref string resultStr)
{
if (ihead.CommFailed) return CommErr.CommFailed;
if (OpenPort(threadId, ihead) != 0) return CommErr.OpenPort; /// Open RFID port
if (OpenPort(ihead) != 0) return CommErr.OpenPort; /// Open RFID port
CommErr error = CommErr.Read;
int readRetVal = 0;
@ -1239,7 +1595,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
byte[] calib = null;
for (int j = 0; j < cfg.MaxCommRetries; j++)
{
readRetVal = ReadRequestPort(threadId, ihead, MessageID.Calibration, 0, CalibrationStructV4.Length, out calib, cfg.CommTimeout);
readRetVal = ReadRequestPort(ihead, MessageID.Calibration, 0, CalibrationStructV4.Length, out calib, cfg.CommTimeout);
if (readRetVal == 0)
{
ihead.CalibrationStructV4 = CalibrationStructV4.FromByteArray(calib);
@ -1260,7 +1616,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
if (cfg.DelayBetweenRetries > 0) Thread.Sleep(cfg.DelayBetweenRetries);
}
ClosePort(threadId, ihead); /// Close RFID port
ClosePort(ihead); /// Close RFID port
return error + Math.Max(0, Math.Min(readRetVal, 4));
}
@ -1369,7 +1725,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
///
/// Start communication with iPerl
///
if (OpenPort(threadId, ihead) != 0) return CommErr.OpenPort; /// Open RFID port
if (OpenPort(ihead) != 0) return CommErr.OpenPort; /// Open RFID port
CommErr error;
byte[] data = new byte[2] { (byte)(newCalibFactor & 0x00FF), (byte)((newCalibFactor >> 8) & 0x00FF) };
@ -1380,14 +1736,14 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
/// Write the new calibration factor (up to cfg.MaxCommRetries tims)
///
error = CommErr.Write;
if (0 == WriteRequestPort(threadId, ihead, MessageID.Calibration, 2, 2, data, cfg.CommTimeout))
if (0 == WriteRequestPort(ihead, MessageID.Calibration, 2, 2, data, cfg.CommTimeout))
{
///
/// Read and verify the calibration factor
///
error = CommErr.ReadAfterWrite;
byte[] calib_2_3 = null;
if (0 == ReadRequestPort(threadId, ihead, MessageID.Calibration, 2, 2, out calib_2_3, cfg.CommTimeout))
if (0 == ReadRequestPort(ihead, MessageID.Calibration, 2, 2, out calib_2_3, cfg.CommTimeout))
{
error = CommErr.Verify;
if (calib_2_3 != null && calib_2_3.Length == 2 && data[0] == calib_2_3[0] && data[1] == calib_2_3[1])
@ -1405,7 +1761,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
}
while (++writeAndVerifyRetries <= cfg.MaxCommRetries);
ClosePort(threadId, ihead); /// Close RFID port
ClosePort(ihead); /// Close RFID port
return error;
}
@ -1535,7 +1891,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
///
/// Start communication with iPerl
///
if (OpenPort(threadId, ihead) != 0) return CommErr.OpenPort; /// Open RFID port
if (OpenPort(ihead) != 0) return CommErr.OpenPort; /// Open RFID port
CommErr error;
byte[] data = new byte[2] { (byte)(newCalibFactor & 0x00FF), (byte)((newCalibFactor >> 8) & 0x00FF) };
@ -1547,8 +1903,8 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
/// Write the new calibration factor (up to cfg.MaxCommRetries tims)
///
error = CommErr.Write;
if (0 == WriteRequestPort(threadId, ihead, MessageID.Calibration, 2, 2, data, cfg.CommTimeout) &&
0 == WriteRequestPort(threadId, ihead, MessageID.Calibration, 34, 2, dataLNA, cfg.CommTimeout))
if (0 == WriteRequestPort(ihead, MessageID.Calibration, 2, 2, data, cfg.CommTimeout) &&
0 == WriteRequestPort(ihead, MessageID.Calibration, 34, 2, dataLNA, cfg.CommTimeout))
{
///
/// Read and verify the calibration factor
@ -1556,8 +1912,8 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
error = CommErr.ReadAfterWrite;
byte[] calib_2_3 = null;
byte[] calib_34_35 = null;
if (0 == ReadRequestPort(threadId, ihead, MessageID.Calibration, 2, 2, out calib_2_3, cfg.CommTimeout) &&
0 == ReadRequestPort(threadId, ihead, MessageID.Calibration, 34, 2, out calib_34_35, cfg.CommTimeout))
if (0 == ReadRequestPort(ihead, MessageID.Calibration, 2, 2, out calib_2_3, cfg.CommTimeout) &&
0 == ReadRequestPort(ihead, MessageID.Calibration, 34, 2, out calib_34_35, cfg.CommTimeout))
{
error = CommErr.Verify;
if (calib_2_3 != null && calib_2_3.Length == 2 && data[0] == calib_2_3[0] && data[1] == calib_2_3[1] &&
@ -1587,7 +1943,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
}
while (writeAndVerifyRetries <= cfg.MaxCommRetries);
ClosePort(threadId, ihead); /// Close RFID port
ClosePort(ihead); /// Close RFID port
return error;
}
@ -1641,7 +1997,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
return CommErr.None; /// No need to update the calibration factor
}
if (OpenPort(threadId, ihead) != 0) return CommErr.OpenPort; /// Open RFID port
if (OpenPort(ihead) != 0) return CommErr.OpenPort; /// Open RFID port
CommErr error = CommErr.Write;
@ -1674,7 +2030,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
byte[] data = new byte[2] { (byte)(defaultCalibFactor & 0x00FF), (byte)((defaultCalibFactor >> 8) & 0x00FF) };
for (int j = 0; j < cfg.MaxCommRetries; j++)
{
if (0 == WriteRequestPort(threadId, ihead, MessageID.Calibration, 2, 2, data, cfg.CommTimeout))
if (0 == WriteRequestPort(ihead, MessageID.Calibration, 2, 2, data, cfg.CommTimeout))
{
error = CommErr.None;
ihead.CalibrationStruct.Update(data, 2);
@ -1693,7 +2049,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
byte[] calib_2_3 = null;
for (int j = 0; j < cfg.MaxCommRetries; j++)
{
if (0 == ReadRequestPort(threadId, ihead, MessageID.Calibration, 2, 2, out calib_2_3, cfg.CommTimeout))
if (0 == ReadRequestPort(ihead, MessageID.Calibration, 2, 2, out calib_2_3, cfg.CommTimeout))
{
error = CommErr.None;
ihead.CalibrationStruct.Update(calib_2_3, 2);
@ -1706,7 +2062,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
}
}
ClosePort(threadId, ihead); /// Close RFID port
ClosePort(ihead); /// Close RFID port
return error;
}
@ -1728,7 +2084,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
return CommErr.None; /// No need to update the calibration factor
}
if (OpenPort(threadId, ihead) != 0) return CommErr.OpenPort; /// Open RFID port
if (OpenPort(ihead) != 0) return CommErr.OpenPort; /// Open RFID port
CommErr error = CommErr.Write;
@ -1761,7 +2117,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
byte[] data = new byte[2] { (byte)(defaultCalibFactor & 0x00FF), (byte)((defaultCalibFactor >> 8) & 0x00FF) };
for (int j = 0; j < cfg.MaxCommRetries; j++)
{
if (0 == WriteRequestPort(threadId, ihead, MessageID.Calibration, 2, 2, data, cfg.CommTimeout))
if (0 == WriteRequestPort(ihead, MessageID.Calibration, 2, 2, data, cfg.CommTimeout))
{
error = CommErr.None;
ihead.CalibrationStructV4.Update(data, 2);
@ -1780,7 +2136,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
byte[] calib_2_3 = null;
for (int j = 0; j < cfg.MaxCommRetries; j++)
{
if (0 == ReadRequestPort(threadId, ihead, MessageID.Calibration, 2, 2, out calib_2_3, cfg.CommTimeout))
if (0 == ReadRequestPort(ihead, MessageID.Calibration, 2, 2, out calib_2_3, cfg.CommTimeout))
{
error = CommErr.None;
ihead.CalibrationStructV4.Update(calib_2_3, 2);
@ -1793,7 +2149,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
}
}
ClosePort(threadId, ihead); /// Close RFID port
ClosePort(ihead); /// Close RFID port
return error;
}
@ -1810,7 +2166,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
{
if (ihead.CommFailed) return CommErr.CommFailed;
if (OpenPort(threadId, ihead) != 0) return CommErr.OpenPort; /// Open RFID port
if (OpenPort(ihead) != 0) return CommErr.OpenPort; /// Open RFID port
CommErr error = CommErr.Read;
@ -1819,7 +2175,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
///
for (int j = 0; j < cfg.MaxCommRetries; j++)
{
if (0 == ReadRequestPort(threadId, ihead, MessageID.MetrologyMemory, Q2CorrFactorsAddr, 2, out rdData, cfg.CommTimeout))
if (0 == ReadRequestPort(ihead, MessageID.MetrologyMemory, Q2CorrFactorsAddr, 2, out rdData, cfg.CommTimeout))
{
error = CommErr.None;
break;
@ -1836,7 +2192,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
wm.Q2CorrRL = ihead.Q2CorrRL = (int)((SByte)rdData[1]);
}
ClosePort(threadId, ihead); /// Close RFID port
ClosePort(ihead); /// Close RFID port
return error;
}
@ -1920,7 +2276,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
{
if (ihead.CommFailed) return CommErr.CommFailed;
if (OpenPort(threadId, ihead) != 0) return CommErr.OpenPort; /// Open RFID port
if (OpenPort(ihead) != 0) return CommErr.OpenPort; /// Open RFID port
CommErr error = CommErr.Write;
@ -1929,7 +2285,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
///
for (int j = 0; j < cfg.MaxCommRetries; j++)
{
if (0 == WriteRequestPort(threadId, ihead, MessageID.MetrologyMemory, Q2CorrFactorsAddr, wrData.Length, wrData, cfg.CommTimeout))
if (0 == WriteRequestPort(ihead, MessageID.MetrologyMemory, Q2CorrFactorsAddr, wrData.Length, wrData, cfg.CommTimeout))
{
wm.Q2CorrRL = ihead.Q2CorrRL = factorRL;
wm.Q2CorrLR = ihead.Q2CorrLR = factorLR;
@ -1973,7 +2329,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
}
#endif
ClosePort(threadId, ihead); /// Close RFID port
ClosePort(ihead); /// Close RFID port
return error;
}
@ -2046,7 +2402,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
{
if (ihead.CommFailed) return CommErr.CommFailed;
if (OpenPort(threadId, ihead) != 0) return CommErr.OpenPort; /// Open RFID port
if (OpenPort(ihead) != 0) return CommErr.OpenPort; /// Open RFID port
CommErr error = CommErr.Write;
@ -2055,7 +2411,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
///
for (int j = 0; j < cfg.MaxCommRetries; j++)
{
if (0 == WriteRequestPort(threadId, ihead, MessageID.MetrologyMemory, Hz2CorrFactorsAddr, wrData.Length, wrData, cfg.CommTimeout))
if (0 == WriteRequestPort(ihead, MessageID.MetrologyMemory, Hz2CorrFactorsAddr, wrData.Length, wrData, cfg.CommTimeout))
{
error = CommErr.None;
break;
@ -2099,7 +2455,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
}
#endif
ClosePort(threadId, ihead); /// Close RFID port
ClosePort(ihead); /// Close RFID port
return error;
}
@ -2354,7 +2710,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
///
if (ihead.CommFailed) return CommErr.CommFailed;
if (OpenPort(threadId, ihead) != 0) return CommErr.OpenPort; /// Open RFID port
if (OpenPort(ihead) != 0) return CommErr.OpenPort; /// Open RFID port
CommErr error = CommErr.Write;
if (q2CorrType == Q2CorrType.RL || q2CorrType == Q2CorrType.RL_incl_05 || q2CorrType == Q2CorrType.ConditionalUpdateRL)
{
@ -2364,7 +2720,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
byte[] wrData = new byte[1] { (byte)q2CorrRL };
for (int j = 0; j < cfg.MaxCommRetries; j++)
{
if (0 == WriteRequestPort(threadId, ihead, MessageID.MetrologyMemory, Q2CorrFactorsAddrRL, wrData.Length, wrData, cfg.CommTimeout))
if (0 == WriteRequestPort(ihead, MessageID.MetrologyMemory, Q2CorrFactorsAddrRL, wrData.Length, wrData, cfg.CommTimeout))
{
error = CommErr.None;
wm.Q2CorrRL = ihead.Q2CorrRL = q2CorrRL;
@ -2383,7 +2739,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
byte[] wrData = new byte[1] { (byte)q2CorrLR };
for (int j = 0; j < cfg.MaxCommRetries; j++)
{
if (0 == WriteRequestPort(threadId, ihead, MessageID.MetrologyMemory, Q2CorrFactorsAddrLR, wrData.Length, wrData, cfg.CommTimeout))
if (0 == WriteRequestPort(ihead, MessageID.MetrologyMemory, Q2CorrFactorsAddrLR, wrData.Length, wrData, cfg.CommTimeout))
{
error = CommErr.None;
wm.Q2CorrLR = ihead.Q2CorrLR = q2CorrLR;
@ -2402,7 +2758,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
byte[] wrData = new byte[2] { (byte)q2CorrLR, (byte)q2CorrRL };
for (int j = 0; j < cfg.MaxCommRetries; j++)
{
if (0 == WriteRequestPort(threadId, ihead, MessageID.MetrologyMemory, Q2CorrFactorsAddr, wrData.Length, wrData, cfg.CommTimeout))
if (0 == WriteRequestPort(ihead, MessageID.MetrologyMemory, Q2CorrFactorsAddr, wrData.Length, wrData, cfg.CommTimeout))
{
error = CommErr.None;
wm.Q2CorrRL = ihead.Q2CorrRL = q2CorrRL;
@ -2472,7 +2828,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
}
#endif
ClosePort(threadId, ihead); /// Close RFID port
ClosePort(ihead); /// Close RFID port
return error;
}
@ -2499,7 +2855,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
return CommErr.None;
}
if (OpenPort(threadId, ihead) != 0) return CommErr.OpenPort; /// Open RFID port
if (OpenPort(ihead) != 0) return CommErr.OpenPort; /// Open RFID port
CommErr error = CommErr.Write;
@ -2508,7 +2864,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
///
for (int j = 0; j < cfg.MaxCommRetries; j++)
{
if (0 == WriteRequestPort(threadId, ihead, MessageID.MetrologyMemory, Hz2CorrFactorsAddr, wrData.Length, wrData, cfg.CommTimeout))
if (0 == WriteRequestPort(ihead, MessageID.MetrologyMemory, Hz2CorrFactorsAddr, wrData.Length, wrData, cfg.CommTimeout))
{
error = CommErr.None;
wm.Hz2Correction = ihead.Hz2Correction = hz2CorrectionFactor;
@ -2559,7 +2915,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
}
#endif
ClosePort(threadId, ihead); /// Close RFID port
ClosePort(ihead); /// Close RFID port
return error;
}
@ -2572,8 +2928,12 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
/// <param name="wm">Water meter object</param>
/// <param name="resultStr">String passed to caller</param>
/// <returns>true on success</returns>
static CommErr DewaRework(int threadId, IperlHead ihead, Results.Entities.WaterMeter wm, ref string resultStr)
static CommErr DewaRework(IperlHead ihead, Results.Entities.WaterMeter wm, ref string resultStr)
{
if (ihead.CommFailed) return CommErr.CommFailed;
if (OpenPort(ihead) != 0) return CommErr.OpenPort; /// Open RFID port
iPerlDataWrite[] dataToBeWritten = new iPerlDataWrite[]
{
new iPerlDataWrite(MessageID.MetrologyMemory, 0x19A1, new byte[] { (byte)0xA5 }, "Open Sealing"),
@ -2589,8 +2949,6 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
(byte)0x6E, (byte)0x0F, (byte)0x97, (byte)0xC3, }, "AES Key Crypted"),
};
if (ihead.CommFailed) return CommErr.CommFailed;
int successfyllyWrittenFlags = 0; /// Ones in this word represent communication failures, LSB represents the first step
int mask = 1;
foreach (var wData in dataToBeWritten)
@ -2598,7 +2956,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
bool isSuccessfullyWritten = false;
for (int j = 0; j < cfg.MaxCommRetries; j++)
{
if (0 == WriteRequestPort(threadId, ihead, wData.MessageID, wData.Offset, wData.Data.Length, wData.Data, cfg.CommTimeout))
if (0 == WriteRequestPort(ihead, wData.MessageID, wData.Offset, wData.Data.Length, wData.Data, cfg.CommTimeout))
{
isSuccessfullyWritten = true;
break;
@ -2617,7 +2975,24 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
mask = (mask << 1); /// Adjust the mask for the next step
}
return (successfyllyWrittenFlags == 0) ? CommErr.None : CommErr.Write;
ClosePort(ihead); /// Close RFID port
if (successfyllyWrittenFlags == 0)
{
/// Success
if (ihead.ConfigStruct != null)
{
ihead.ConfigStruct.MeterState = MeterState.Active;
ihead.ConfigStruct.TestModeConfig = (byte)0xA0;
}
resultStr = "OK";
return CommErr.None;
}
else
{
return CommErr.Write;
}
}

View File

@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("2.26.1742.0")]
[assembly: AssemblyFileVersion("2.26.1742.0")]
[assembly: AssemblyVersion("2.26.1751.0")]
[assembly: AssemblyFileVersion("2.26.1751.0")]