예제 #1
0
        /// <summary>
        /// Gets the current processor info
        /// </summary>
        public void GetProcessorInfo()
        {
            OnBoolChange(true, 0, SystemInfoConstants.BusyBoolChange);

            try
            {
                var processor = new ProcessorInfo();
                processor.Model              = InitialParametersClass.ControllerPromptName;
                processor.SerialNumber       = CrestronEnvironment.SystemInfo.SerialNumber;
                processor.ModuleDirectory    = InitialParametersClass.ProgramDirectory.ToString();
                processor.ProgramIdTag       = InitialParametersClass.ProgramIDTag;
                processor.DevicePlatform     = CrestronEnvironment.DevicePlatform.ToString();
                processor.OsVersion          = CrestronEnvironment.OSVersion.Version.ToString();
                processor.RuntimeEnvironment = CrestronEnvironment.RuntimeEnvironment.ToString();
                processor.LocalTimeZone      = CrestronEnvironment.GetTimeZone().Offset;

                // Does not return firmware version matching a "ver" command
                // returns the "ver -v" 'CAB' version
                // example return ver -v:
                //		RMC3 Cntrl Eng [v1.503.3568.25373 (Oct 09 2018), #4001E302] @E-00107f4420f0
                //		Build: 14:05:46  Oct 09 2018 (3568.25373)
                //		Cab: 1.503.0070
                //		Applications:  1.0.6855.21351
                //		Updater: 1.4.24
                //		Bootloader: 1.22.00
                //		RMC3-SetupProgram: 1.003.0011
                //		IOPVersion: FPGA [v09] slot:7
                //		PUF: Unknown
                //Firmware = CrestronEnvironment.OSVersion.Firmware;
                //Firmware = InitialParametersClass.FirmwareVersion;

                // Use below logic to get actual firmware ver, not the 'CAB' returned by the above
                // matches console return of a "ver" and on SystemInfo page
                // example return ver:
                //		RMC3 Cntrl Eng [v1.503.3568.25373 (Oct 09 2018), #4001E302] @E-00107f4420f0
                var response = "";
                CrestronConsole.SendControlSystemCommand("ver", ref response);
                processor.Firmware     = ParseConsoleResponse(response, "Cntrl Eng", "[", "(");
                processor.FirmwareDate = ParseConsoleResponse(response, "Cntrl Eng", "(", ")");

                OnProcessorChange(processor, 0, SystemInfoConstants.ProcessorConfigChange);
            }
            catch (Exception e)
            {
                var msg = string.Format("GetProcessorInfo failed: {0}", e.Message);
                CrestronConsole.PrintLine(msg);
                //ErrorLog.Error(msg);
            }

            OnBoolChange(false, 0, SystemInfoConstants.BusyBoolChange);
        }