/*
         * <launch>
         * <node name="sample_device" pkg="sample_device" type="sample_device.py" respawn="true" respawn_delay="4" >
         * <param name="telnet_host" value="192.168.1.116"/>
         * <param name="telnet_port" value="2001"/>
         *
         * <param name="rate" value="10"/>
         * <param name="read_timeout" value="4"/>
         * </node>
         * </launch>
         */
        private LaunchFileDocument GenerateLaunchFile(Configuration device)
        {
            var launchFile = new LaunchFileDocument();

            var node = new NodeElement
            {
                Name   = device.Name,
                Pkg    = "sample_device",
                Type   = "sample_device.py",
                Output = "screen"
            };

            node.SetRespawnSettings(device.Respawn, device.RespawnDelay);

            node.AddParam("telnet_host", value: device.Host);
            node.AddParam("telnet_port", value: XmlConvert.ToString(device.Port));
            node.AddParam("rate", value: XmlConvert.ToString(device.Rate));
            node.AddParam("read_timeout", value: XmlConvert.ToString(device.ReadTimeout));

            launchFile.AddNode(node);

            return(launchFile);
        }