/// <summary> /// Gets string from enum /// </summary> /// <param name="m">The enum representing the message</param> /// <returns>String Message</returns> public static string GetMessageText(SimulatorMessage m, int iExtraInformation) { if (m == SimulatorMessage.PRIVILEGED_IS_READ_ONLY) { return(RegistersSettings.GetPrivilegedRegisterName(iExtraInformation) + " is read-only register"); } else if (m == SimulatorMessage.PRIVILEGED_IS_WRITE_ONLY) { return(RegistersSettings.GetPrivilegedRegisterName(iExtraInformation) + " is write-only register"); } else { return(MessagesArray[(int)m]); } }
public SimulatorMessage GetMessage() { var d2hMessage = new BacNetD2HMessage(this); double variation = 0.0; if (d2hMessage.Asset.Variation) { variation = rnd.Next(-10, 11) / 10.0; d2hMessage.Asset.Value += variation; } var d2hMessages = new BacNetD2HMessage[] { d2hMessage }; var msg = new SimulatorMessage(d2hMessages); Value -= variation; return(msg); }
public SimulatorMessage GetMessage() { StateChanged = false; switch (Mode) { case PresenceSensorMode.Unoccupied: CurrentPresence = false; break; case PresenceSensorMode.Present: CurrentPresence = true; break; case PresenceSensorMode.RandomToggleOnly: if ((rnd.NextDouble() >= 0.5) != CurrentPresence) { CurrentPresence = !CurrentPresence; } break; case PresenceSensorMode.Random: CurrentPresence = (rnd.NextDouble() >= 0.5); break; } var eventTime = DateTime.Now.ToString("M/d/yyyy h:m:s tt"); var currentSequence = Interlocked.Increment(ref sequenceNumber); var message = new SimulatorMessage(new PresenceD2HMessage(this)); message.D2CMessage.Properties.Add("MessageVersion", "1.0"); message.D2CMessage.Properties.Add("ProductOrigin", "hawthorne"); message.D2CMessage.Properties.Add("EventTime", eventTime); message.D2CMessage.Properties.Add("TransmitTime", eventTime); message.D2CMessage.Properties.Add("SequenceNumber", $"{currentSequence}"); message.D2CMessage.Properties.Add("MessageType", "event"); message.D2CMessage.Properties.Add("SensorId", SensorId); message.D2CMessage.Properties.Add("SignalType", "presence"); message.D2CMessage.Properties.Add("IsInteractive", "true"); return(message); }
/// <summary> /// Consturctor /// </summary> /// <param name="msg">Error Description</param> /// <param name="iPC">Location of the error</param> /// <param name="iExtraInformation">Extra information about the error</param> public RuntimeError(SimulatorMessage msg, int iPC, int iExtraInformation) { _ErrorCode = msg; _ExtraInformation = iExtraInformation; _PC = iPC; }