Пример #1
0
        /// <summary>
        /// Motor wird nicht vom FlightStabiliser gesetzt setze bei Änderung selber
        /// </summary>
        /// <param name="param"></param>
        /// <param name="isremote"></param>
        void Motor_ValueChanged(UAVParameter param, bool isremote)
        {
            // Console.WriteLine(param.Name);
            // dval = param.Value;

            if ((param.GetStringPath().ToLower().Contains("gps")) || (param.GetStringPath().ToLower().Contains("gps")))
            {
                return;
            }
            // Console.WriteLine("MotorWerte:"+param.Name + ": " + param.Value);

            //   Console.WriteLine("Wert:"+param.Name+": "+param.Value.ToString());

            /* if (param.Name == "throttleout")
             * {
             *   uavData["Motor"].Value = param.Value;
             * }
             */

            /*
             * Peter: bitte ignorieren
             *
             *
             */
            if (!stabilise)
            {
                try
                {
                    string ValueStr = param.Value.ToString().Replace(",", "."); //
                    Double dval     = 0;
                    if (ValueStr.Contains("."))
                    {
                        string komma = ValueStr.Split('.')[1];
                        dval = Convert.ToDouble(komma) / Math.Pow(10, komma.Length);
                        //      Console.WriteLine("ValueStr: " + Convert.ToDouble(komma) + dval);
                    }
                    if (ValueStr == "1")
                    {
                        dval = 1;
                    }
                    // Console.WriteLine("preAusgabe");


                    /*
                     * Max: Setze Ausgänge
                     *
                     */

                    if (param.Name == "theta_rollrateout") //"phi_rollrateout"
                    {
                        uavData["Höhenruder"].Value = dval * 1000 + 1000;
                        // Console.WriteLine("Ausgabe");
                    }
                    else if (param.Name == "phi_rollrateout")//"psi_rollrateout"
                    {
                        uavData["Querruder"].Value = dval * 1000 + 1000;
                        //  Console.WriteLine("Ausgabe");
                    }
                    else if (param.Name == "psi_rollrateout")//""
                    {
                        uavData["Seitenruder"].Value = dval * 1000 + 1000;
                        //  Console.WriteLine("Ausgabe");
                    }
                    else if (param.Name == "throttleout")//"theta_rollrateout"
                    {
                        uavData["Motor"].Value = dval * 1000 + 1000;
                        //    Console.WriteLine("Ausgabe");
                    }
                }

                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message + ex.StackTrace.ToString());
                }
            }
        }
Пример #2
0
        /// <summary>
        /// Motor wird nicht vom FlightStabiliser gesetzt setze bei Änderung selber
        /// </summary>
        /// <param name="param"></param>
        /// <param name="isremote"></param>
        void Motor_ValueChanged(UAVParameter param, bool isremote)
        {
            // Console.WriteLine(param.Name);
            // dval = param.Value;

            if ((param.GetStringPath().ToLower().Contains("gps")) || (param.GetStringPath().ToLower().Contains("gps"))) return;
            // Console.WriteLine("MotorWerte:"+param.Name + ": " + param.Value);

            //   Console.WriteLine("Wert:"+param.Name+": "+param.Value.ToString());
            /* if (param.Name == "throttleout")
             {
                 uavData["Motor"].Value = param.Value;
             }
            */

            /*
             * Peter: bitte ignorieren
             *
             *
             */
            if (!stabilise)
            {
                try
                {
                    string ValueStr = param.Value.ToString().Replace(",", "."); //
                    Double dval = 0;
                    if (ValueStr.Contains("."))
                    {

                        string komma = ValueStr.Split('.')[1];
                        dval = Convert.ToDouble(komma) / Math.Pow(10, komma.Length);
                        //      Console.WriteLine("ValueStr: " + Convert.ToDouble(komma) + dval);

                    }
                    if (ValueStr == "1")
                    {
                        dval = 1;
                    }
                    // Console.WriteLine("preAusgabe");

                    /*
                     * Max: Setze Ausgänge
                     *
                     */

                    if (param.Name == "theta_rollrateout") //"phi_rollrateout"
                    {
                        uavData["Höhenruder"].Value = dval * 1000 + 1000;
                        // Console.WriteLine("Ausgabe");

                    }
                    else if (param.Name == "phi_rollrateout")//"psi_rollrateout"
                    {
                        uavData["Querruder"].Value = dval * 1000 + 1000;
                        //  Console.WriteLine("Ausgabe");

                    }
                    else if (param.Name == "psi_rollrateout")//""
                    {
                        uavData["Seitenruder"].Value = dval * 1000 + 1000;
                        //  Console.WriteLine("Ausgabe");

                    }
                    else if (param.Name == "throttleout")//"theta_rollrateout"
                    {
                        uavData["Motor"].Value = dval * 1000 + 1000;
                        //    Console.WriteLine("Ausgabe");

                    }
                }

                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message + ex.StackTrace.ToString());
                }
            }
        }