Ejemplo n.º 1
0
        /// <summary>
        /// Actualiza el estado habilitado o no del tx del botón, según el estado global Hf
        /// Se llama en los reset generales y en los cambios del estado global Hf
        /// Si la frecuencia no es HF, el TX está siempre habilitado (caso cambio destino en sectorizaciones)
        /// </summary>
        /// <param name="bt" botón sobre el que se actualiza></param>
        /// <param name="dst" destino al que corresponde el botón></param>
        private void UpdateTx(RdButton bt, RdDst dst)
        {
            if (dst.TipoFrecuencia == TipoFrecuencia_t.HF)
            {
                switch (_HfGlobalStatus)
                {
                case "DISC":
                    if (dst.Tx)
                    {
                        // Quitarlo de transimisión, ya que el gestor de HF no esta disponible
                        _CmdManager.RdForceTxOff(bt.Id);
                    }
                    bt.EnableTx(false);
                    break;

                case "NODISP":
                    // Sólo las frecuencias HF que no están ya asignadas en TX se deben de inhabilitar
                    if (!dst.Tx)
                    {
                        bt.EnableTx(false);
                    }
                    break;

                case "DISP":
                    bt.EnableTx(true);
                    break;

                default:
                    _Logger.Warn("Unknown _HfGlobalStatus {0}", _HfGlobalStatus);
                    break;
                }
            }
            else
            {
                bt.EnableTx(true);
            }
        }