예제 #1
0
        object systemStart(object userObject)
        {
            while (ServerIP.Length < 7)
            {
                ServerIP = CrestronEthernetHelper.GetEthernetParameter(CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_CURRENT_IP_ADDRESS, 0);
                CrestronConsole.PrintLine("ServerIP: Retry Until LAN Ready: {0}", ServerIP);
                Thread.Sleep(1000);
            }
            if (this.SupportsIROut)
            {
                IR1.LoadIRDriver("\\USER\\Samsung UE40J5100AK.ir");
                IR1.Register();
            }

            Xpan            = new Xpanel(0x03, this);
            Xpan.SigChange += new SigEventHandler(MyXPanSigChangeHandler);
            Xpan.Register();
            return(null);
        }
예제 #2
0
        /// <summary>
        /// ControlSystem Constructor. Starting point for the SIMPL#Pro program.
        /// Use the constructor to:
        /// * Initialize the maximum number of threads (max = 400)
        /// * Register devices
        /// * Register event handlers
        /// * Add Console Commands
        ///
        /// Please be aware that the constructor needs to exit quickly; if it doesn't
        /// exit in time, the SIMPL#Pro program will exit.
        ///
        /// You cannot send / receive data in the constructor
        /// </summary>
        public ControlSystem()
            : base()
        {
            try
            {
                Thread.MaxNumberOfUserThreads = 20;

                officeDin8Sw8i = new Din8Sw8i(0x3, this);
                if (officeDin8Sw8i.Register() != eDeviceRegistrationUnRegistrationResponse.Success)
                {
                    CrestronConsole.PrintLine("Unable to register for officeDin8Sw8i ");
                    CrestronConsole.PrintLine("officeDin8Sw8i failed registration. Cause: {0}", officeDin8Sw8i.RegistrationFailureReason);
                    ErrorLog.Error("officeDin8Sw8i failed registration. Cause: {0}", officeDin8Sw8i.RegistrationFailureReason);
                }
                else
                {
                    CrestronConsole.PrintLine("officeDin8Sw8i successfully registered ");
                }

                officeDinIo8 = new DinIo8(0x9, this);
                if (officeDinIo8.Register() != eDeviceRegistrationUnRegistrationResponse.Success)
                {
                    CrestronConsole.PrintLine("Unable to register for officeDinIo8 ");
                    CrestronConsole.PrintLine("officeDinIo8 failed registration. Cause: {0}", officeDinIo8.RegistrationFailureReason);
                    ErrorLog.Error("officeDinIo8 failed registration. Cause: {0}", officeDinIo8.RegistrationFailureReason);
                }
                else
                {
                    CrestronConsole.PrintLine("officeDinIo8 successfully registered ");
                }

                officeDin1DimU4 = new Din1DimU4(0x07, this);
                if (officeDin1DimU4.Register() != eDeviceRegistrationUnRegistrationResponse.Success)
                {
                    CrestronConsole.PrintLine("Unable to register for officeDinIo8 ");
                    CrestronConsole.PrintLine("officeDin1DimU4 failed registration. Cause: {0}", officeDin1DimU4.RegistrationFailureReason);
                    ErrorLog.Error("officeDin1DimU4 failed registration. Cause: {0}", officeDin1DimU4.RegistrationFailureReason);
                }
                else
                {
                    CrestronConsole.PrintLine("officeDin1DimU4 successfully registered ");
                }

                underShieldC2nCbdP = new C2nCbdP(0x5, this);
                underShieldC2nCbdP.ButtonStateChange += new ButtonEventHandler(underShieldC2nCbdP_ButtonStateChange);
                if (underShieldC2nCbdP.Register() != eDeviceRegistrationUnRegistrationResponse.Success)
                {
                    CrestronConsole.PrintLine("Unable to register for underShieldC2nCbdP ");
                    CrestronConsole.PrintLine("underShieldC2nCbdP failed registration. Cause: {0}", underShieldC2nCbdP.RegistrationFailureReason);
                    ErrorLog.Error("underShieldC2nCbdP failed registration. Cause: {0}", underShieldC2nCbdP.RegistrationFailureReason);
                }
                else
                {
                    CrestronConsole.PrintLine(" underShieldC2nCbdP successfully registered ");
                }

                entranceC2nCbdP = new C2nCbdP(0x4, this);
                entranceC2nCbdP.ButtonStateChange += new ButtonEventHandler(entranceC2nCbdP_ButtonStateChange);
                if (entranceC2nCbdP.Register() != eDeviceRegistrationUnRegistrationResponse.Success)
                {
                    CrestronConsole.PrintLine("Unable to register for entranceC2nCbdP ");
                    CrestronConsole.PrintLine("entranceC2nCbdP failed registration. Cause: {0}", entranceC2nCbdP.RegistrationFailureReason);
                    ErrorLog.Error("entranceC2nCbdP failed registration. Cause: {0}", entranceC2nCbdP.RegistrationFailureReason);
                }
                else
                {
                    CrestronConsole.PrintLine("entranceC2nCbdP successfully registered ");
                }

                meetingC2niCb = new C2niCb(0x6, this);
                meetingC2niCb.ButtonStateChange += new ButtonEventHandler(meetingC2niCb_ButtonStateChange);
                if (meetingC2niCb.Register() != eDeviceRegistrationUnRegistrationResponse.Success)
                {
                    CrestronConsole.PrintLine("Unable to register for meetingC2niCb ");
                    CrestronConsole.PrintLine("meetingC2niCb failed registration. Cause: {0}", meetingC2niCb.RegistrationFailureReason);
                    ErrorLog.Error("meetingC2niCb failed registration. Cause: {0}", meetingC2niCb.RegistrationFailureReason);
                }
                else
                {
                    CrestronConsole.PrintLine("meetingC2niCb successfully registered ");
                }

                officeIridium            = new Xpanel(0x3, this);
                officeIridium.SigChange += new SigEventHandler(officeIridium_SigChange);
                if (officeIridium.Register() != eDeviceRegistrationUnRegistrationResponse.Success)
                {
                    CrestronConsole.PrintLine("Unable to register for officeIridium ");
                    CrestronConsole.PrintLine("officeIridium failed registration. Cause: {0}", officeIridium.RegistrationFailureReason);
                    ErrorLog.Error("officeIridium failed registration. Cause: {0}", officeIridium.RegistrationFailureReason);
                }
                else
                {
                    CrestronConsole.PrintLine("officeIridium successfully registered ");
                }

                //Subscribe to the controller events (System, Program, and Ethernet)
                CrestronEnvironment.SystemEventHandler        += new SystemEventHandler(ControlSystem_ControllerSystemEventHandler);
                CrestronEnvironment.ProgramStatusEventHandler += new ProgramStatusEventHandler(ControlSystem_ControllerProgramEventHandler);
                CrestronEnvironment.EthernetEventHandler      += new EthernetEventHandler(ControlSystem_ControllerEthernetEventHandler);
            }
            catch (Exception e)
            {
                ErrorLog.Error("Error in the constructor: {0}", e.Message);
            }
        }