public string DailySnap_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
        {
            int timeDiff = TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now).Hours;
            int curTime  = MemoryRegisters.DailyGMTHourRead.Value + timeDiff;

            if (curTime < 0)
            {
                curTime = 24 + curTime;
            }

            if (curTime == 0)
            {
                return(MIDNIGHT);
            }
            else if (curTime <= 11)
            {
                return(curTime + AM);
            }
            else if (curTime == 12)
            {
                return(NOON);
            }
            else if (curTime > 12 &&
                     curTime < 24)
            {
                return((curTime - 12) + PM);
            }
            else
            {
                return(OFF);
            }
        }
Exemple #2
0
        public bool Equals(MemoryOverload <T> other)
        {
            if (other == null)
            {
                return(false);
            }

            if (this.registerIds.Length == other.registerIds.Length)
            {
                for (int i = this.registerIds.Length - 1; i >= 0; i--)
                {
                    if (!string.Equals(this.registerIds[i], other.registerIds[i]))
                    {
                        return(false);
                    }
                }
            }

            bool ok_id          = string.Equals(this.id, other.id);
            bool ok_description = string.Equals(this.description, other.description);
            bool ok_methodId    = string.Equals(this.methodId, other.methodId);

            return(ok_id &&
                   ok_description &&
                   ok_methodId);
        }
        public string PCBNumber_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
        {
            string tempString = string.Empty;

            //ASCII RANGE FOR PCBSupplierCode
            if (MemoryRegisters.PCBSupplierCode.Value >= 65 &&
                MemoryRegisters.PCBSupplierCode.Value <= 90)
            {
                tempString = tempString + Convert.ToChar(MemoryRegisters.PCBSupplierCode.Value) + "-";
            }

            if (MemoryRegisters.PCBCoreNumber.Value >= 0)
            {
                tempString = tempString + string.Format(PCBFORMAT, MemoryRegisters.PCBCoreNumber.Value);
            }

            if (MemoryRegisters.PCBProductRevision.Value >= 65 &&
                MemoryRegisters.PCBProductRevision.Value <= 90)
            {
                tempString = tempString + "-" + Convert.ToChar(MemoryRegisters.PCBProductRevision.Value);
            }

            string result = (string.IsNullOrEmpty(tempString)) ? NTAVAILABLE : tempString;

            return(result);
        }
Exemple #4
0
        public async Task <string> DaysOfNoFlow_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
        {
            string reply = string.Empty;
            string param = Convert.ToString(await MemoryRegisters.FlowState.GetValue(), INDEX_STATE)
                           .PadLeft(PAD_LEFT, ZERO)
                           .Substring(3, 3);

            switch (param)
            {
            case CASE_000: reply = CASE_000_TX; break;

            case CASE_001: reply = CASE_001_TX; break;

            case CASE_010: reply = CASE_010_TX; break;

            case CASE_011: reply = CASE_011_TX; break;

            case CASE_100: reply = CASE_100_TX; break;

            case CASE_101: reply = CASE_101_TX; break;

            case CASE_110: reply = CASE_110_TX; break;
            }
            return(reply + CASE_NOFLOW);
        }
Exemple #5
0
 public async Task <string> MtuSoftVersionString342x_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
 {
     return(string.Format(MTU_SOFTVERSION_LONG,
                          await MemoryRegisters.MtuSoftVersionMajor.GetValue(),
                          await MemoryRegisters.MtuSoftVersionMinor.GetValue(),
                          await MemoryRegisters.MtuSoftBuildNumber.GetValue()));
 }
 public string MtuSoftVersionString342x_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
 {
     return(string.Format(MTU_SOFTVERSION_LONG,
                          MemoryRegisters.MtuSoftVersionMajor.Value,
                          MemoryRegisters.MtuSoftVersionMinor.Value,
                          MemoryRegisters.MtuSoftBuildNumber.Value));
 }
        public string DaysOfLeak_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
        {
            string reply = string.Empty;
            string param = Convert.ToString(MemoryRegisters.LeakState.Value, INDEX_STATE)
                           .PadLeft(PAD_LEFT, ZERO)
                           .Substring(2, 3);

            switch (param)
            {
            case CASE_000: reply = CASE_000_TX; break;

            case CASE_001: reply = CASE_001_TX; break;

            case CASE_010: reply = CASE_010_TX; break;

            case CASE_011: reply = CASE_011_TX; break;

            case CASE_100: reply = CASE_100_TX; break;

            case CASE_101: reply = CASE_101_TX; break;

            case CASE_110: reply = CASE_110_TX; break;
            }
            return(reply + CASE_LEAK);
        }
Exemple #8
0
 public async Task <int> MtuSoftVersion_Get(MemoryOverload <int> memoryOverload, dynamic MemoryRegisters)
 {
     if (await MemoryRegisters.MtuSoftVersionNew.GetValue() == 255)
     {
         return(await MemoryRegisters.MtuSoftVersionLegacy.GetValue());
     }
     return(await MemoryRegisters.MtuSoftVersionNew.GetValue());
 }
 public int MtuSoftVersion_Get(MemoryOverload <int> memoryOverload, dynamic MemoryRegisters)
 {
     if (MemoryRegisters.MtuSoftVersionNew.Value == 255)
     {
         return(MemoryRegisters.MtuSoftVersionLegacy.Value);
     }
     return(MemoryRegisters.MtuSoftVersionNew.Value);
 }
        public string MtuSoftVersionString_Get(MemoryOverload <string> memoryOverload, dynamic MemoryRegisters)
        {
            int mtuSoftVersion = MemoryRegisters.MtuSoftVersion.Value;

            if (mtuSoftVersion == 254)
            {
                return(string.Format(MTU_SOFTVERSION_LONG,
                                     MemoryRegisters.MtuSoftRevYear.Value,
                                     MemoryRegisters.MtuSoftRevMonth.Value,
                                     MemoryRegisters.MtuSoftBuildNumber.Value));
            }

            return(string.Format(MTU_SOFTVERSION_SMALL, mtuSoftVersion));
        }
Exemple #11
0
        public async Task <string> LeakDetection_Get(MemoryOverload <string> MemoryOverload, dynamic[] MemoryRegisters)
        {
            string reply = string.Empty;
            string param = Convert.ToString(await MemoryRegisters[0].GetValue(), INDEX_STATE)
                           .PadLeft(PAD_LEFT, ZERO)
                           .Substring(5, 2);

            switch (param)
            {
            case CASE_00: reply = CASE_00_LKD; break;

            case CASE_01: reply = CASE_01_LKD; break;

            case CASE_10: reply = CASE_10_LKD; break;
            }
            return(reply);
        }
        public string LeakDetection_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
        {
            string reply = string.Empty;
            string param = Convert.ToString(MemoryRegisters.LeakState.Value, INDEX_STATE)
                           .PadLeft(PAD_LEFT, ZERO)
                           .Substring(5, 2);

            switch (param)
            {
            case CASE_00: reply = CASE_00_LKD; break;

            case CASE_01: reply = CASE_01_LKD; break;

            case CASE_10: reply = CASE_10_LKD; break;
            }
            return(reply);
        }
        public string BackFlowState_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
        {
            string reply = string.Empty;
            string param = Convert.ToString(MemoryRegisters.FlowState.Value, INDEX_STATE)
                           .PadLeft(PAD_LEFT, ZERO)
                           .Substring(6);

            switch (param)
            {
            case CASE_00: reply = CASE_00_BFS; break;

            case CASE_01: reply = CASE_01_BFS; break;

            case CASE_10: reply = CASE_10_BFS; break;
            }
            return(reply);
        }
Exemple #14
0
        public async Task <string> DailySnap_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
        {
            Global global = Singleton.Get.Configuration.Global;
            Mtu    mtu    = Singleton.Get.Action.CurrentMtu;

            if (!global.AllowDailyReads ||
                !mtu.DailyReads)
            {
                return(DISABLED);
            }

            int timeDiff = TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now).Hours;
            int curTime  = await MemoryRegisters.DailyGMTHourRead.GetValue() + timeDiff;

            if (curTime < 0)
            {
                curTime = 24 + curTime;
            }

            if (curTime == 0)
            {
                return(MIDNIGHT);
            }
            else if (curTime <= 11)
            {
                return(curTime + AM);
            }
            else if (curTime == 12)
            {
                return(NOON);
            }
            else if (curTime > 12 &&
                     curTime < 24)
            {
                return((curTime - 12) + PM);
            }
            else
            {
                return(DISABLED);
            }
        }
Exemple #15
0
        public async Task <string> MtuSoftVersionString_Get(MemoryOverload <string> memoryOverload, dynamic MemoryRegisters)
        {
            int mtuSoftVersion = await MemoryRegisters.MtuSoftVersion.GetValue();

            // NOTE: MtuSoftVersion in Encoders/E-coders seems to be always 254 and
            // the bytes for registers used creating MTU_SOFTVERSION_LONG are the same,
            // changing only the name ( e.g. MtuSoftRevYear and MtuSoftVersionMajor both 245 )
            // For example mtuSoftVersion for MTUs..
            // For 138, 149, 151 is 41
            // For 146, 148 is 50
            // For 159 is 47
            if (mtuSoftVersion == 254)
            {
                return(string.Format(MTU_SOFTVERSION_LONG,
                                     await MemoryRegisters.MtuSoftRevYear.GetValue(),
                                     await MemoryRegisters.MtuSoftRevMonth.GetValue(),
                                     await MemoryRegisters.MtuSoftBuildNumber.GetValue()));
            }

            return(string.Format(MTU_SOFTVERSION_SMALL, mtuSoftVersion));
        }
 public string Encryption_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
 {
     return((MemoryRegisters.Encrypted.Value) ? YES : NO);
 }
 public int MtuSoftVersion342x_Get(MemoryOverload <int> memoryOverload, dynamic MemoryRegisters)
 {
     return(MemoryRegisters.MtuSoftFormatFlag.Value);
 }
 public string InstallConfirmationStatus_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
 {
     return((MemoryRegisters.InstallConfirmationNotSynced.Value) ? NTCONFIRMED : CONFIRMED);
 }
 public string MtuVoltageBattery_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
 {
     return(((MemoryRegisters.MtuMiliVoltageBattery.Value * 1.0) / 1000).ToString(MTUVLFORMAT));
 }
 public string F12WAYRegister14_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
 {
     return(HEX_PREFIX + MemoryRegisters.F12WAYRegister14Int.Value.ToString(FWAYFORMAT));
 }
 public string Frequency2WayRx_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
 {
     return(String.Format(new CultureInfo("en-us"), "{0:0.000}", (MemoryRegisters.Frequency2WayRxHz.Value / 1000000.0)));
 }
 public string InsufficentMemory_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
 {
     return((MemoryRegisters.InsufficentMemoryTamper.Value) ? ENABLED : TRIGGERED);
 }
 public string P2Status_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
 {
     return(GetPortStatus(MemoryRegisters.P2StatusFlag.Value));
 }
 public string P2ReadingError_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
 {
     return(TranslateErrorCodes(MemoryRegisters.P2ReadingErrorCode.Value));
 }
 public string InterfaceTamperStatus_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
 {
     return(GetTemperStatus(MemoryRegisters.P1InterfaceAlarm.Value, MemoryRegisters.ProgrammingCoilInterfaceTamper.Value));
 }
 public string ReverseFlowTamperStatus_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
 {
     return(GetTemperStatus(MemoryRegisters.P1ReverseFlowAlarm.Value, MemoryRegisters.ReverseFlowTamper.Value));
 }
 public string MagneticTamperStatus_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
 {
     return(GetTemperStatus(MemoryRegisters.P1MagneticAlarm.Value, MemoryRegisters.MagneticTamper.Value));
 }
 public string TiltTamperStatus_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
 {
     return(GetTemperStatus(MemoryRegisters.P1TiltAlarm.Value, MemoryRegisters.TiltTamper.Value));
 }
 public string FastMessagingMode_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
 {
     return((MemoryRegisters.Fast2Way.Value) ? MESAG_FAST : MESAG_SLOW);
 }
 public string LastGasp_Get(MemoryOverload <string> MemoryOverload, dynamic MemoryRegisters)
 {
     return((MemoryRegisters.LastGaspTamper.Value) ? ENABLED : TRIGGERED);
 }