Exemplo n.º 1
0
        public void Eisc_SigChange(BasicTriList currentDevice, SigEventArgs args)
        {
            switch (args.Sig.Type)
            {
            case eSigType.Bool:
                switch (args.Sig.Number)
                {
                case 7:
                    // ErrorLog.Notice(String.Format(LogHeader + "Got remote vol pop"));
                    // here we use a digital from a remote system to display the volume bar
                    remote01.PageActiveFeedback.ShowVolumeSubpage.BoolValue = args.Sig.BoolValue;
                    break;

                case 16:
                    // show the mute "subpage" on the MLX3
                    remote01.PageActiveFeedback.ShowMuteSubpage.BoolValue = args.Sig.BoolValue;
                    break;
                }
                break;

            case eSigType.String:
                break;

            case eSigType.UShort:
                switch (args.Sig.Number)
                {
                case 1:
                    ushort volumeLevel = Convert.ToUInt16(args.Sig.UShortValue / 655.35);
                    remote01.PageActiveFeedback.VolumeLevel(volumeLevel);          // There seems to be an issue on the MLX3 - the volume bar graph does not populate. But otherwise, this line should work.
                    break;
                }

                break;
            }
        }
Exemplo n.º 2
0
 public UIButton(BasicTriList device, uint pressDigitalJoinNumber, uint feedbackDigitalJoinNumber,
                 uint textSerialJoinNumber)
     : this(device.BooleanOutput[pressDigitalJoinNumber],
            device.BooleanInput[feedbackDigitalJoinNumber],
            device.StringInput[textSerialJoinNumber])
 {
 }
Exemplo n.º 3
0
 //Event handlers
 void _xpanel_SigChange(BasicTriList currentDevice, SigEventArgs args)
 {
     if (args.Event == eSigEvent.BoolChange && args.Sig.BoolValue)
     {
         if (args.Sig.Number == 12)
         {
             _receiver.RxHandler.Identify = !_receiver.RxHandler.Identify;
         }
         else if (args.Sig.Number == 13)
         {
             _receiver.RxHandler.MuteSwitchActive = !_receiver.RxHandler.MuteSwitchActive;
         }
         else if (args.Sig.Number == 22)
         {
             _receiver.AudioHandler.LowCut = !_receiver.AudioHandler.LowCut;
         }
         else if (args.Sig.Number >= 23 && args.Sig.Number <= 29)
         {
             _receiver.AudioHandler.OutputGain = (SldwAudioHandler.eSldwAudioOutputGain)(args.Sig.Number - 23);
         }
         else if (args.Sig.Number >= 30 && args.Sig.Number <= 34)
         {
             _receiver.AudioHandler.Eq = (SldwAudioHandler.eSldwAudioEq)(args.Sig.Number - 30);
         }
     }
     else if (args.Event == eSigEvent.UShortChange)
     {
         if (args.Sig.Number == 15)
         {
             _receiver.DeviceHandler.Brightness = args.Sig.UShortValue / 65535.0;
         }
     }
 }
        public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
        {
            var joinMap = new IDigitalInputJoinMap(joinStart);

            var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);

            if (!string.IsNullOrEmpty(joinMapSerialized))
            {
                joinMap = JsonConvert.DeserializeObject <IDigitalInputJoinMap>(joinMapSerialized);
            }

            bridge.AddJoinMap(Key, joinMap);

            try
            {
                Debug.Console(1, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));

                // Link feedback for input state
                InputStateFeedback.LinkInputSig(trilist.BooleanInput[joinMap.InputState.JoinNumber]);
            }
            catch (Exception e)
            {
                Debug.Console(1, this, "Unable to link device '{0}'.  Input is null", Key);
                Debug.Console(1, this, "Error: {0}", e);
            }
        }
Exemplo n.º 5
0
 public UIColorChip(BasicTriList device, uint redJoin, uint greenJoin, uint blueJoin)
     : base(device)
 {
     _redJoin   = device.UShortInput[redJoin];
     _greenJoin = device.UShortInput[greenJoin];
     _blueJoin  = device.UShortInput[blueJoin];
 }
Exemplo n.º 6
0
        /// <summary>
        /// Links the plugin device to the EISC bridge
        /// </summary>
        /// <param name="trilist"></param>
        /// <param name="joinStart"></param>
        /// <param name="joinMapKey"></param>
        /// <param name="bridge"></param>
        public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
        {
            var joinMap = new EssentialsPluginBridgeJoinMapTemplate(joinStart);

            // This adds the join map to the collection on the bridge
            if (bridge != null)
            {
                bridge.AddJoinMap(Key, joinMap);
            }

            var customJoins = JoinMapHelper.TryGetJoinMapAdvancedForDevice(joinMapKey);

            if (customJoins != null)
            {
                joinMap.SetCustomJoinData(customJoins);
            }

            Debug.Console(1, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
            Debug.Console(0, "Linking to Bridge Type {0}", GetType().Name);

            // TODO [ ] Implement bridge links as needed

            // links to bridge
            trilist.SetString(joinMap.DeviceName.JoinNumber, Name);

            trilist.OnlineStatusChange += (o, a) =>
            {
                if (!a.DeviceOnLine)
                {
                    return;
                }

                trilist.SetString(joinMap.DeviceName.JoinNumber, Name);
            };
        }
        void ui_SigChange(BasicTriList currentDevice, SigEventArgs args)
        {
            Sig sig = args.Sig;

            OnDebug(eDebugEventType.Info, "{0} SigChange in {1} type: {2}, sig: {3}, Name: {4}", currentDevice.ToString(), currentDevice.ID.ToString(), sig.Type.ToString(), sig.Number.ToString(), sig.Name);
            switch (sig.Type)
            {
            case eSigType.Bool:
                if (sig.BoolValue)     // press
                {
                    OnDebug(eDebugEventType.Info, "Press event on sig number: {0}", sig.Number);
                    switch (sig.Number)
                    {
                    case DIG_TOGGLE_POWER:
                        UI.ToggleDigitalJoin(currentDevice, sig.Number);
                        break;

                    case DIG_MACRO:
                        UI.PulseDigitalJoin(currentDevice, DIG_TOGGLE_POWER);
                        var randomNumber = new Random().Next(ushort.MaxValue);
                        UI.SetAnalogJoin(currentDevice, ANA_RANDOM, (ushort)randomNumber);
                        UI.SetSerialJoin(currentDevice, SER_VALUE, randomNumber.ToString());
                        break;
                    }
                }
                else     // release
                {
                }
                break;

            case eSigType.UShort:
                OnDebug(eDebugEventType.Info, "UShortValue: {0}", sig.UShortValue.ToString());
                switch (sig.Number)
                {
                case ANA_BAR_GRAPH:
                    UI.SetAnalogJoin(currentDevice, sig.Number, sig.UShortValue);
                    UI.SetSerialJoin(currentDevice, SER_VALUE, sig.UShortValue.ToString());
                    break;

                case ANA_RANDOM:
                    UI.SetAnalogJoin(currentDevice, ANA_BAR_GRAPH, sig.UShortValue);
                    break;
                }
                break;

            case eSigType.String:
                OnDebug(eDebugEventType.Info, "StringValue: {0}", sig.StringValue);
                switch (sig.Number)
                {
                case SER_INPUT:
                    UI.SetSerialJoin(currentDevice, SER_VALUE, sig.StringValue.ToString());
                    break;
                }
                break;

            default:
                OnDebug(eDebugEventType.Info, "Unhandled sig type: {0}", sig.Type.ToString());
                break;
            }
        }
Exemplo n.º 8
0
        public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
        {
            var joinMap = new C2nRthsControllerJoinMap(joinStart);

            var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);

            if (!string.IsNullOrEmpty(joinMapSerialized))
            {
                joinMap = JsonConvert.DeserializeObject <C2nRthsControllerJoinMap>(joinMapSerialized);
            }

            bridge.AddJoinMap(Key, joinMap);

            Debug.Console(1, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));


            trilist.SetBoolSigAction(joinMap.TemperatureFormat.JoinNumber, SetTemperatureFormat);



            IsOnline.LinkInputSig(trilist.BooleanInput[joinMap.IsOnline.JoinNumber]);
            TemperatureFeedback.LinkInputSig(trilist.UShortInput[joinMap.Temperature.JoinNumber]);
            HumidityFeedback.LinkInputSig(trilist.UShortInput[joinMap.Humidity.JoinNumber]);

            trilist.StringInput[joinMap.Name.JoinNumber].StringValue = Name;
        }
Exemplo n.º 9
0
 public static void LinkButtons(this IPower dev, BasicTriList triList)
 {
     triList.SetSigFalseAction(101, dev.PowerOn);
     triList.SetSigFalseAction(102, dev.PowerOff);
     triList.SetSigFalseAction(103, dev.PowerToggle);
     dev.PowerIsOnFeedback.LinkInputSig(triList.BooleanInput[101]);
 }
Exemplo n.º 10
0
        public static void LinkToApi(this IDigitalInput input, BasicTriList trilist, uint joinStart, string joinMapKey)
        {
            IDigitalInputJoinMap joinMap = new IDigitalInputJoinMap();

            var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);

            if (!string.IsNullOrEmpty(joinMapSerialized))
            {
                joinMap = JsonConvert.DeserializeObject <IDigitalInputJoinMap>(joinMapSerialized);
            }

            joinMap.OffsetJoinNumbers(joinStart);

            try
            {
                Debug.Console(1, input as Device, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));

                // Link feedback for input state
                input.InputStateFeedback.LinkInputSig(trilist.BooleanInput[joinMap.InputState]);
            }
            catch (Exception e)
            {
                Debug.Console(1, input as Device, "Unable to link device '{0}'.  Input is null", (input as Device).Key);
                Debug.Console(1, input as Device, "Error: {0}", e);
                return;
            }
        }
Exemplo n.º 11
0
        /// <summary>
        /// This method gets called by the EiscApi bridge and calls your bridge extension method
        /// </summary>
        /// <param name="trilist"></param>
        /// <param name="joinStart"></param>
        /// <param name="joinMapKey"></param>
        public void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
        {
            // Construct the default join map
            var joinMap = new MockOccupancyDetectorBridgeJoinMap(joinStart);

            // Attempt to get a custom join map if specified in config
            var joinMapSerialized = JoinMapHelper.GetJoinMapForDevice(joinMapKey);

            // If we find a custom join map, deserialize it
            if (!string.IsNullOrEmpty(joinMapSerialized))
            {
                joinMap = JsonConvert.DeserializeObject <MockOccupancyDetectorBridgeJoinMap>(joinMapSerialized);
            }

            //Checking if the bridge is null allows for backwards compatability with configurations that use EiscApi instead of EiscApiAdvanced
            if (bridge != null)
            {
                bridge.AddJoinMap(Key, joinMap);
            }

            // Set all your join actions here


            // Link all your feedbacks to joins here
        }
        public static void LinkToApi(this StatusSignController ssDevice, BasicTriList trilist, uint joinStart,
                                     string joinMapKey)
        {
            var joinMap = new StatusSignControllerJoinMap();

            var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);

            if (!string.IsNullOrEmpty(joinMapSerialized))
            {
                joinMap = JsonConvert.DeserializeObject <StatusSignControllerJoinMap>(joinMapSerialized);
            }

            joinMap.OffsetJoinNumbers(joinStart);

            Debug.Console(1, ssDevice, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));

            trilist.SetBoolSigAction(joinMap.RedControl, b => EnableControl(trilist, joinMap, ssDevice));
            trilist.SetBoolSigAction(joinMap.GreenControl, b => EnableControl(trilist, joinMap, ssDevice));
            trilist.SetBoolSigAction(joinMap.BlueControl, b => EnableControl(trilist, joinMap, ssDevice));

            trilist.SetUShortSigAction(joinMap.RedLed, u => SetColor(trilist, joinMap, ssDevice));
            trilist.SetUShortSigAction(joinMap.GreenLed, u => SetColor(trilist, joinMap, ssDevice));
            trilist.SetUShortSigAction(joinMap.BlueLed, u => SetColor(trilist, joinMap, ssDevice));

            trilist.StringInput[joinMap.Name].StringValue = ssDevice.Name;

            ssDevice.IsOnline.LinkInputSig(trilist.BooleanInput[joinMap.IsOnline]);
            ssDevice.RedLedEnabledFeedback.LinkInputSig(trilist.BooleanInput[joinMap.RedControl]);
            ssDevice.BlueLedEnabledFeedback.LinkInputSig(trilist.BooleanInput[joinMap.BlueControl]);
            ssDevice.GreenLedEnabledFeedback.LinkInputSig(trilist.BooleanInput[joinMap.GreenControl]);

            ssDevice.RedLedBrightnessFeedback.LinkInputSig(trilist.UShortInput[joinMap.RedLed]);
            ssDevice.BlueLedBrightnessFeedback.LinkInputSig(trilist.UShortInput[joinMap.BlueLed]);
            ssDevice.GreenLedBrightnessFeedback.LinkInputSig(trilist.UShortInput[joinMap.GreenLed]);
        }
Exemplo n.º 13
0
 // To create a clear interlock with non consecutive number, we pass an array
 void resetInterlockArray(ushort[] indexes, BasicTriList myXpanel)
 {
     foreach (ushort index in indexes)
     {
         myXpanel.BooleanInput[index].BoolValue = false;
     }
 }
Exemplo n.º 14
0
        private void InterfaceSigChange(BasicTriList currentDevice, SigEventArgs args)
        {
            switch (args.Sig.Type)
            {
            case eSigType.Bool:
                if (args.Sig.BoolValue)
                {
                    // Print results to console
                    CrestronConsole.PrintLine("Result of display configuration build:");
                    foreach (IDisplay d in displays)
                    {
                        CrestronConsole.PrintLine("{0} - pwr={1}; mute={2}", d.ID, d.Power, d.ShowVideo);
                    }
                }
                break;

            case eSigType.String:
                break;

            case eSigType.UShort:
                break;

            case eSigType.NA:
            default:
                break;
            }
        }
Exemplo n.º 15
0
 public static void UnlinkButtons(this IColor dev, BasicTriList triList)
 {
     triList.ClearBoolSigAction(155);
     triList.ClearBoolSigAction(156);
     triList.ClearBoolSigAction(157);
     triList.ClearBoolSigAction(158);
 }
Exemplo n.º 16
0
 public void clearInterlock(ushort startIndex, ushort endIndex, BasicTriList myXpanel)
 {
     for (ushort i = startIndex; i <= endIndex; i++)
     {
         myXpanel.BooleanInput[i].BoolValue = false;
     }
 }
Exemplo n.º 17
0
 public static void LinkButtons(this IColor dev, BasicTriList TriList)
 {
     TriList.SetBoolSigAction(155, dev.Red);
     TriList.SetBoolSigAction(156, dev.Green);
     TriList.SetBoolSigAction(157, dev.Yellow);
     TriList.SetBoolSigAction(158, dev.Blue);
 }
Exemplo n.º 18
0
        void userInterface_SigChange(BasicTriList currentDevice, SigEventArgs args)
        {
            switch (args.Sig.Type)
            {
            //Digital
            case eSigType.Bool:
            {
                if (args.Sig.BoolValue)
                {
                    if (args.Sig.Number == 101)
                    {
                        userInterface.BooleanInput[101].BoolValue = true;
                    }
                    else if (args.Sig.Number == 100)
                    {
                        userInterface.BooleanInput[101].BoolValue = false;
                    }
                }

                break;
            }

            //Analog
            case eSigType.UShort:
            {
                break;
            }

            //Serial
            case eSigType.String:
            {
                break;
            }
            }
        }
Exemplo n.º 19
0
        public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
        {
            var joinMap = new StatusSignControllerJoinMap(joinStart);

            var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);

            if (!string.IsNullOrEmpty(joinMapSerialized))
            {
                joinMap = JsonConvert.DeserializeObject <StatusSignControllerJoinMap>(joinMapSerialized);
            }

            bridge.AddJoinMap(Key, joinMap);

            Debug.Console(1, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));

            trilist.SetBoolSigAction(joinMap.RedControl.JoinNumber, b => EnableControl(trilist, joinMap, this));
            trilist.SetBoolSigAction(joinMap.GreenControl.JoinNumber, b => EnableControl(trilist, joinMap, this));
            trilist.SetBoolSigAction(joinMap.BlueControl.JoinNumber, b => EnableControl(trilist, joinMap, this));

            trilist.SetUShortSigAction(joinMap.RedLed.JoinNumber, u => SetColor(trilist, joinMap, this));
            trilist.SetUShortSigAction(joinMap.GreenLed.JoinNumber, u => SetColor(trilist, joinMap, this));
            trilist.SetUShortSigAction(joinMap.BlueLed.JoinNumber, u => SetColor(trilist, joinMap, this));

            trilist.StringInput[joinMap.Name.JoinNumber].StringValue = Name;

            IsOnline.LinkInputSig(trilist.BooleanInput[joinMap.IsOnline.JoinNumber]);
            RedLedEnabledFeedback.LinkInputSig(trilist.BooleanInput[joinMap.RedControl.JoinNumber]);
            BlueLedEnabledFeedback.LinkInputSig(trilist.BooleanInput[joinMap.BlueControl.JoinNumber]);
            GreenLedEnabledFeedback.LinkInputSig(trilist.BooleanInput[joinMap.GreenControl.JoinNumber]);

            RedLedBrightnessFeedback.LinkInputSig(trilist.UShortInput[joinMap.RedLed.JoinNumber]);
            BlueLedBrightnessFeedback.LinkInputSig(trilist.UShortInput[joinMap.BlueLed.JoinNumber]);
            GreenLedBrightnessFeedback.LinkInputSig(trilist.UShortInput[joinMap.GreenLed.JoinNumber]);
        }
Exemplo n.º 20
0
        public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
        {
            var joinMap = new DmpsAudioOutputControllerJoinMap(joinStart);

            var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);

            if (!string.IsNullOrEmpty(joinMapSerialized))
            {
                joinMap = JsonConvert.DeserializeObject <DmpsAudioOutputControllerJoinMap>(joinMapSerialized);
            }

            bridge.AddJoinMap(Key, joinMap);

            Debug.Console(1, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));

            if (MasterVolumeLevel != null)
            {
                SetUpDmpsAudioOutputJoins(trilist, MasterVolumeLevel, joinMap.MasterVolumeLevel.JoinNumber);
            }

            if (SourceVolumeLevel != null)
            {
                SetUpDmpsAudioOutputJoins(trilist, SourceVolumeLevel, joinMap.SourceVolumeLevel.JoinNumber);
            }

            if (Codec1VolumeLevel != null)
            {
                SetUpDmpsAudioOutputJoins(trilist, Codec1VolumeLevel, joinMap.Codec1VolumeLevel.JoinNumber);
            }

            if (Codec2VolumeLevel != null)
            {
                SetUpDmpsAudioOutputJoins(trilist, Codec2VolumeLevel, joinMap.Codec2VolumeLevel.JoinNumber);
            }
        }
Exemplo n.º 21
0
        public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
        {
            var joinMap = LinkLightingToApi(this, trilist, joinStart, joinMapKey, bridge);

            CommunicationMonitor.IsOnlineFeedback.LinkInputSig(trilist.BooleanInput[joinMap.IsOnline.JoinNumber]);
            trilist.SetStringSigAction(joinMap.IntegrationIdSet.JoinNumber, s => IntegrationId = s);
        }
Exemplo n.º 22
0
 public UIColorPicker(BasicTriList device, uint redJoin, uint greenJoin, uint blueJoin)
 {
     Owner      = device;
     _RedJoin   = redJoin;
     _GreenJoin = greenJoin;
     _BlueJoin  = blueJoin;
 }
Exemplo n.º 23
0
        private void SetLanguageInfo(BasicTriList trilist, I18NUtilityJoinMap joinMap)
        {
            if (_languagesConfig == null)
            {
                Debug.Console(0, this, Debug.ErrorLogLevel.Notice, "No Language configs loaded.");
                return;
            }
            Debug.Console(1, this, "Setting supported language information");
            ushort i = 0;

            if (_languagesConfig.LanguageDefinitions.Count == 0)
            {
                return;
            }

            foreach (var lang in _languagesConfig.LanguageDefinitions.Select(language => language.Value))
            {
                Debug.Console(1, this, "Setting supported language information for locale {0}", lang.LocaleName);

                trilist.SetBool(joinMap.SupportedLanguageEnable.JoinNumber + i, lang.Enable);
                trilist.SetString(joinMap.SupportedLanguagesStart.JoinNumber + i, lang.LocaleName);
                trilist.SetString(joinMap.SupportedLanguagesDescriptionStart.JoinNumber + i, lang.FriendlyName);

                i++;
            }
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="trilist"></param>
 public HabaneroKeyboardController(BasicTriList trilist)
 {
     TriList            = trilist;
     Output             = new StringBuilder();
     OutputFeedback     = new StringFeedback(() => Output.ToString());
     DotComButtonString = ".com";
 }
Exemplo n.º 25
0
        public static void LinkToApi(this C2nRthsController device, BasicTriList triList, uint joinStart,
                                     string joinMapKey)
        {
            var joinMap = new C2nRthsControllerJoinMap();

            var joinMapSerialized = JoinMapHelper.GetJoinMapForDevice(joinMapKey);

            if (!string.IsNullOrEmpty(joinMapSerialized))
            {
                joinMap = JsonConvert.DeserializeObject <C2nRthsControllerJoinMap>(joinMapSerialized);
            }

            joinMap.OffsetJoinNumbers(joinStart);

            Debug.Console(1, device, "Linking to Trilist '{0}'", triList.ID.ToString("X"));


            triList.SetBoolSigAction(joinMap.TemperatureFormat, device.SetTemperatureFormat);

            device.IsOnline.LinkInputSig(triList.BooleanInput[joinMap.IsOnline]);
            device.TemperatureFeedback.LinkInputSig(triList.UShortInput[joinMap.Temperature]);
            device.HumidityFeedback.LinkInputSig(triList.UShortInput[joinMap.Humidity]);

            triList.StringInput[joinMap.Name].StringValue = device.Name;
        }
Exemplo n.º 26
0
        public static void LinkToApi(this DigitalLogger DigitalLogger, BasicTriList trilist, uint joinStart, string joinMapKey)
        {
            DigitalLoggerJoinMap joinMap = new DigitalLoggerJoinMap();

            var joinMapSerialized = JoinMapHelper.GetJoinMapForDevice(joinMapKey);

            if (!string.IsNullOrEmpty(joinMapSerialized))
            {
                joinMap = JsonConvert.DeserializeObject <DigitalLoggerJoinMap>(joinMapSerialized);
            }

            joinMap.OffsetJoinNumbers(joinStart);

            Debug.Console(1, DigitalLogger, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
            for (uint i = 1; i <= DigitalLogger.CircuitCount; i++)
            {
                var circuit = i;
                DigitalLogger.CircuitNameFeedbacks[circuit - 1].LinkInputSig(trilist.StringInput[joinMap.CircuitNames + circuit]);
                DigitalLogger.CircuitIsCritical[circuit - 1].LinkInputSig(trilist.BooleanInput[joinMap.CircuitIsCritical + circuit]);
                DigitalLogger.CircuitState[circuit - 1].LinkInputSig(trilist.BooleanInput[joinMap.CircuitState + circuit]);
                trilist.SetSigTrueAction(joinMap.CircuitCycle + circuit, () => DigitalLogger.CycleCircuit(circuit - 1));
                trilist.SetSigTrueAction(joinMap.CircuitOnCmd + circuit, () => DigitalLogger.TurnOnCircuit(circuit - 1));
                trilist.SetSigTrueAction(joinMap.CircuitOffCmd + circuit, () => DigitalLogger.TurnOffCircuit(circuit - 1));
            }
        }
Exemplo n.º 27
0
        public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
        {
            var joinMap = new SystemMonitorJoinMap();

            var joinMapSerialized = JoinMapHelper.GetSerializedJoinMapForDevice(joinMapKey);

            if (!string.IsNullOrEmpty(joinMapSerialized))
            {
                joinMap = JsonConvert.DeserializeObject <SystemMonitorJoinMap>(joinMapSerialized);
            }

            joinMap.OffsetJoinNumbers(joinStart);

            Debug.Console(1, "Linking to Trilist '{0}'", trilist.ID.ToString("X"));
            Debug.Console(2, this, "Linking API starting at join: {0}", joinStart);

            TimeZoneFeedback.LinkInputSig(trilist.UShortInput[joinMap.TimeZone]);
            TimeZoneTextFeedback.LinkInputSig(trilist.StringInput[joinMap.TimeZoneName]);

            IoControllerVersionFeedback.LinkInputSig(trilist.StringInput[joinMap.IOControllerVersion]);
            SnmpVersionFeedback.LinkInputSig(trilist.StringInput[joinMap.SnmpAppVersion]);
            BaCnetAppVersionFeedback.LinkInputSig(trilist.StringInput[joinMap.BACnetAppVersion]);
            ControllerVersionFeedback.LinkInputSig(trilist.StringInput[joinMap.ControllerVersion]);
            SerialNumberFeedback.LinkInputSig(trilist.StringInput[joinMap.SerialNumber]);
            ModelFeedback.LinkInputSig(trilist.StringInput[joinMap.Model]);
            UptimeFeedback.LinkInputSig(trilist.StringInput[joinMap.Uptime]);
            LastStartFeedback.LinkInputSig(trilist.StringInput[joinMap.LastBoot]);

            // iterate the program status feedback collection and map all the joins
            LinkProgramInfoJoins(this, trilist, joinMap);

            LinkEthernetInfoJoins(this, trilist, joinMap);
        }
Exemplo n.º 28
0
 public static void UnlinkButtons(this IPower dev, BasicTriList triList)
 {
     triList.ClearBoolSigAction(101);
     triList.ClearBoolSigAction(102);
     triList.ClearBoolSigAction(103);
     dev.PowerIsOnFeedback.UnlinkInputSig(triList.BooleanInput[101]);
 }
Exemplo n.º 29
0
 private void activityDetectionHandler(BasicTriList currentDevice, SigEventArgs args)
 {
     if (AuthenticatedLevel != AuthenticatedLevel.None && args.Sig.Type == eSigType.Bool && args.Sig.BoolValue && args.Sig.Number < 17000)
     {
         _inactivityTimer.Reset(_inactivityTime);
     }
 }
Exemplo n.º 30
0
 void panel_SigChange(BasicTriList currentDevice, SigEventArgs args)
 {
     //CrestronConsole.PrintLine("{0}: Event:{1} Type:{2} Number:{3}", currentDevice.Name, args.Event, args.Sig.Type, args.Sig.Number);
     if (args.Sig.Type == eSigType.Bool && args.Sig.BoolValue && args.Sig.Number < 17000)
     {
         CrestronConsole.PrintLine("Activity: {0}", args.Sig.Number);
     }
 }
Exemplo n.º 31
0
        void xp_SigChange(BasicTriList currentDevice, SigEventArgs args)
        {
            // determine what type of sig has changed
            switch (args.Sig.Type)
            {
                // a bool (digital) has changed
                case eSigType.Bool:
                    // determine if the bool sig is true (digital high, press) or false (digital low, release)
                    if (args.Sig.BoolValue)		// press
                    {
                        // determine what sig (join) number has chagned
                        switch (args.Sig.Number)
                        {
                            case 1:
                                // call the full off method on the load
                                lampDimmer.DimmingLoads[1].FullOff();
                                //    |         |             |
                                //    |         |             |- method on this dimmer
                                //    |         |
                                //    |         |- array of the actual dimmers on this device
                                //    |
                                //    |- the crestron device object
                                break;

                            case 2:
                                // call the full on method on the load
                                lampDimmer.DimmingLoads[1].FullOn();
                                break;

                            case 3:
                                // set the lower value to true (high) which creates a ramp
                                lampDimmer.DimmingLoads[1].Lower.BoolValue = true;
                                break;

                            case 4:
                                // set the raise value to true (high) which creates a ramp
                                lampDimmer.DimmingLoads[1].Raise.BoolValue = true;
                                break;

                            default:
                                break;
                        }
                    }
                    else						// release
                    {
                        // determine what sig (join) number has changed
                        switch (args.Sig.Number)
                        {
                            case 3:
                                // sets the lower value to false (low) to stop the ramp
                                lampDimmer.DimmingLoads[1].Lower.BoolValue = false;
                                break;

                            case 4:
                                // sets the raise value to false (low) to stop the ramp
                                lampDimmer.DimmingLoads[1].Raise.BoolValue = false;
                                break;

                            default:
                                break;
                        }
                    }

                    break;

                // a ushort (analog) has chagned
                case eSigType.UShort:
                    switch (args.Sig.Number)
                    {
                        case 1:
                            // send the slider value to the lamp dimmer
                            lampDimmer.DimmingLoads[1].Level.UShortValue = args.Sig.UShortValue;
                            break;

                        default:
                            break;
                    }
                    break;

                case eSigType.String:
                case eSigType.NA:
                default:
                    break;
            }
        }
		void myEISC_SigChange(BasicTriList currentDevice, SigEventArgs args)
		{
			// What kind of event ??
			switch (args.Event)
			{
				case eSigEvent.BoolChange:
				// Bool change event
				if (args.Sig == myEISC.BooleanOutput[10])
				{
                    if (args.Sig.BoolValue == true)
                    {
                        myEISC.StringInput[10].StringValue = "EISC says Turning unit on";
                        setDisplayPower(true);
                    }
                    else
                    {
                        myEISC.StringInput[10].StringValue = "EISC says Turning unit off";
                        setDisplayPower(false);
                    }
				}
                else if (args.Sig == myEISC.BooleanOutput[11])
                {
                    if (args.Sig.BoolValue == true)
                    {
                        myEISC.StringInput[10].StringValue = " EISC says Switching to \"HDMI1\"";
                        setDisplayInput("HDMI1");
                    }
                }
                else if (args.Sig == myEISC.BooleanOutput[12])
                {
                    if (args.Sig.BoolValue == true)
                    {
                        myEISC.StringInput[10].StringValue = " EISC says Switching to \"HDMI2\"";
                        setDisplayInput("HDMI2");
                    }
                }

				break;
				case eSigEvent.StringChange:
				// String change event
				break;
				case eSigEvent.UShortChange:
				// UShort change event
				break;
			}
		}
Exemplo n.º 33
0
        /// <summary>
        /// Method to handle sig change (joins) events.
        /// </summary>
        /// <param name="currentDevice">Reference to the device raising this event.</param>
        /// <param name="args">Information about the event being raised.</param>
        void xPanelUi_SigChange(BasicTriList currentDevice, SigEventArgs args)
        {
            switch (args.Sig.Type)
            {
                case eSigType.Bool:
                    if (args.Sig.BoolValue == true)
                    {
                        // press event
                    }
                    else
                    {
                        // release event
                        switch (args.Sig.Number)
                        {
                            case (uint)eXpanelButtons.TimeoutPress:
                                SetNewTimeoutValue(xPanelUi.UShortOutput[(uint)eXpanelFeedbacks.UShortTimeout].UShortValue * 1000);
                                break;

                            case (uint)eXpanelButtons.ShowScalerPage:
                                xPanelUi.BooleanInput[(uint)eXpanelFeedbacks.BoolShowScalerPage].BoolValue = true;
                                break;

                            case (uint)eXpanelButtons.ClearScalerSubpage:
                                xPanelUi.BooleanInput[(uint)eXpanelFeedbacks.BoolShowScalerPage].BoolValue = false;
                                break;

                            default:
                                break;
                        }
                    }
                    break;

                case eSigType.String:
                    break;

                case eSigType.UShort:
                    break;

                case eSigType.NA:
                default:
                    break;
            }
        }