public bool Compare(Asignaciones a)
    {
        if (a.getNumCanales() != this.getNumCanales())
        {
            return(false);
        }

        foreach (int canal in this.getCanales())
        {
            if (!a.UsaChannel(canal))
            {
                return(false);
            }
        }
        return(true);
    }
    public bool Compare(Asignaciones a)
    {
        if (a.getNumCanales() != this.getNumCanales())
            return false;

        foreach (int canal in this.getCanales())
        {
            if (!a.UsaChannel(canal))
                return false;
        }
        return true;
    }
        void UpdateValues()
        {
            IndicadorSlider[] sliders = { indicadorSlider1, indicadorSlider2,  indicadorSlider3, indicadorSlider4,
                                          indicadorSlider5, indicadorSlider6,  indicadorSlider7, indicadorSlider8,
                                          indicadorSlider9, indicadorSlider10, indicadorSlider11 };
            Label[]           etiquetas = { label13, label14, label15, label16 };


            for (int i = 0; i < valores.Length && i < sliders.Length; i++)
            {
                sliders[i].PosFin    = valores[i] / 1000.0f - 1;
                sliders[i].PosInicio = 0.5f;
                sliders[i].Texto     = valores[i].ToString();
                sliders[i].Invalidate();
            }


            for (int i = 0; i < 4; i++)
            {
                if (i == ((int)estado))
                {
                    etiquetas[i].ForeColor = Color.Red;
                }
                else
                {
                    etiquetas[i].ForeColor = Color.Black;
                }
            }
            if (estado == Estados.Sleep)
            {
                if (me.Idioma == 0)
                {
                    label8.Text = "Pulse Actualizar para terminar";
                }
                else
                {
                    label8.Text = "Press Update to end";
                }

                CapturaReposo();
            }
            else if (estado == Estados.Inicio)
            {
                if (me.Idioma == 0)
                {
                    label8.Text = "Pulse Inicio para empezar";
                }
                else
                {
                    label8.Text = "Press Init to start";
                }

                CapturaReposo();
            }
            else
            {
                if (EstadoTransicion == false)
                {
                    Asignaciones tmp = CapturaCanales();

                    if (me.Idioma == 0)
                    {
                        switch (estado)
                        {
                        case Estados.Fijar_Ail:
                            label8.Text = "Mueve Alabeo Derecha";
                            break;

                        case Estados.Fijar_Ele:
                            label8.Text = "Tira mando profundidad";
                            break;

                        case Estados.Fijar_Thr:
                            label8.Text = "Mueve motor maximo";
                            break;

                        case Estados.Fijar_Tail:
                            label8.Text = "Mueve Cola Derecha";
                            break;
                        }
                    }
                    else
                    {
                        switch (estado)
                        {
                        case Estados.Fijar_Ail:
                            label8.Text = "Move Ailerons Right";
                            break;

                        case Estados.Fijar_Ele:
                            label8.Text = "Pull Elevator";
                            break;

                        case Estados.Fijar_Thr:
                            label8.Text = "Power ON Motor";
                            break;

                        case Estados.Fijar_Tail:
                            label8.Text = "Move Tail Right";
                            break;
                        }
                    }

                    for (int i = 0; i < buttons.GetLength(0); i++)
                    {
                        if (tmp.UsaChannel(i))
                        {
                            buttons[i, (int)estado].Checked = true;
                        }
                        else
                        {
                            buttons[i, (int)estado].Checked = false;
                        }

                        //buttons[i, (int)estado].Invalidate();
                    }
                    int numCanales = tmp.getNumCanales();

                    if (numCanales > 0 && numCanales <= 2)
                    {
                        canales[(int)estado] = tmp;
                        EstadoTransicion     = true;
                    }
                }
                else
                {
                    int numCanales = CapturaCanales().getNumCanales();

                    if (me.Idioma == 0)
                    {
                        if (estado == Estados.Fijar_Thr)
                        {
                            label8.Text = "Corta mando motor";
                        }
                        else
                        {
                            label8.Text = "Suelta los mandos";
                        }
                    }
                    else
                    {
                        if (estado == Estados.Fijar_Thr)
                        {
                            label8.Text = "Power Motor Off";
                        }
                        else
                        {
                            label8.Text = "Release Controls";
                        }
                    }

                    if (numCanales == 0)
                    {
                        estado++;
                        EstadoTransicion = false;

                        if (estado == Estados.Sleep)
                        {
                            AnalizaDatos();
                        }
                    }
                }
            }
        }