public void MessageReceived(LCM.LCM.LCM lcm, string channel, LCM.LCM.LCMDataInputStream dins) { Utils.lcmReceiverMessage("RECV: " + channel); if (channel == props.Lcm.Channels.neuralDecoder) { mavlcm.MDF_NEURAL_DECODER_OUTPUT lcmIn = new mavlcm.MDF_NEURAL_DECODER_OUTPUT(dins); Utils.lcmReceiverMessage("Received message of the type MDF_NEURAL_DECODER_OUTPUT:"); Utils.lcmReceiverMessage(" header = {0}", lcmIn.header); Utils.lcmReceiverMessage(" timestamp = {0:D}", lcmIn.timestamp); Utils.lcmReceiverMessage(" position = ({0:N}, {1:N}, {2:N}, {3:N})", lcmIn.decoderoutput[0], lcmIn.decoderoutput[1], lcmIn.decoderoutput[2], lcmIn.decoderoutput[3]); MDF.NEURAL_DECODER_OUTPUT rtmaOut = new MDF.NEURAL_DECODER_OUTPUT(); rtmaOut.decoderoutput = lcmIn.decoderoutput; rtmaOut.timestamp = (int)lcmIn.timestamp; rtmaTransmitter.transmit(MT.NEURAL_DECODER_OUTPUT, rtmaOut); } }
public static void Main(string[] args) { ApplicationProperties props; Console.WriteLine("LCMRTMA Connector Started"); using (var input = File.OpenText("Properties/props.yaml")) { var deserializer = new DeserializerBuilder() .WithNamingConvention(new CamelCaseNamingConvention()) .Build(); props = deserializer.Deserialize <ApplicationProperties>(input); } var appLCM = new LCM.LCM.LCM(); string rtmaServer = props.Rtma.Host + ":" + props.Rtma.Port; RTMATransmitter rtmaTransmitter = new RTMATransmitter(rtmaServer); LCMReceiver lcmReceiver = new LCMReceiver(); lcmReceiver.receive(props.Lcm.ParseRate, props, rtmaTransmitter); LCMTransmitter lcmTransmitter = new LCMTransmitter(); RTMAReceiver rtmaReceiver = new RTMAReceiver(rtmaServer, lcmTransmitter); while (true) { rtmaReceiver.receive(); } ; rtmaReceiver.disconnect(); rtmaTransmitter.disconnect(); }
public LCMReceiver() { this.lCM = new LCM.LCM.LCM(); }