private static void OnTelemetryPublishAlarm(object sender, ElapsedEventArgs arg) { using (var udpClient = new UdpClient(AddressFamily.InterNetwork)) { ProsthesisCore.Telemetry.ProsthesisTelemetry telem = mContext.MachineState; ProsthesisDataPacket packet = ProsthesisCore.Messages.ProsthesisDataPacket.BoxMessage <ProsthesisCore.Telemetry.ProsthesisTelemetry>(telem); if (packet != null) { IPAddress address = IPAddress.Parse(ProsthesisCore.ProsthesisConstants.kMulticastGroupAddress); IPEndPoint ipEndPoint = new IPEndPoint(address, ProsthesisCore.ProsthesisConstants.kTelemetryPort); udpClient.JoinMulticastGroup(address, 50); udpClient.Send(packet.Bytes, packet.Bytes.Length, ipEndPoint); udpClient.Close(); } else { mLogger.LogMessage(ProsthesisCore.Utility.Logger.LoggerChannels.Telemetry, "Failed to box telemetry message"); } } }
private static void OnTelemetryReceive(ProsthesisCore.Telemetry.ProsthesisTelemetry msg) { mTelemetryLogger.LogMessage(Logger.LoggerChannels.Telemetry, msg.ToString()); }