Beispiel #1
0
        void HandleRfDataReceived(RfDataReceivedAction eventdata)
        {
            string data = XTenLib.Utility.ByteArrayToString(eventdata.RawData);

            if (InterfacePropertyChangedAction != null)
            {
                // flood protection =) - discard dupes
                if (rfLastStringData != data)
                {
                    rfLastStringData = data;
                    try
                    {
                        InterfacePropertyChangedAction(new InterfacePropertyChangedAction()
                        {
                            Domain     = this.Domain,
                            SourceId   = "RF",
                            SourceType = "W800RF32 RF Receiver",
                            Path       = "Receiver.RawData",
                            Value      = rfLastStringData
                        });
                    }
                    catch
                    {
                        // TODO: add error logging
                    }
                    //
                    if (rfPulseTimer == null)
                    {
                        rfPulseTimer = new Timer(delegate(object target)
                        {
                            try
                            {
                                rfLastStringData = "";
                                InterfacePropertyChangedAction(new InterfacePropertyChangedAction()
                                {
                                    Domain     = this.Domain,
                                    SourceId   = "RF",
                                    SourceType = "W800RF32 RF Receiver",
                                    Path       = "Receiver.RawData",
                                    Value      = ""
                                });
                            }
                            catch
                            {
                                // TODO: add error logging
                            }
                        });
                    }
                    rfPulseTimer.Change(1000, Timeout.Infinite);
                }
            }
        }
Beispiel #2
0
 void x10lib_RfDataReceived(RfDataReceivedAction eventdata)
 {
     if (InterfacePropertyChangedAction != null)
     {
         string data = XTenLib.Utility.ByteArrayToString(eventdata.RawData);
         // flood protection =) - discard dupes
         if (_rfprevstringdata != data)
         {
             _rfprevstringdata = data;
             try
             {
                 InterfacePropertyChangedAction(new InterfacePropertyChangedAction()
                 {
                     Domain = this.Domain, SourceId = "RF", SourceType = "X10 RF Receiver", Path = "Receiver.RawData", Value = _rfprevstringdata
                 });
             }
             catch (Exception ex)
             {
                 // TODO: add error logging
             }
             //
             if (_rfpulsetimer == null)
             {
                 _rfpulsetimer = new Timer(delegate(object target)
                 {
                     try
                     {
                         _rfprevstringdata = "";
                         InterfacePropertyChangedAction(new InterfacePropertyChangedAction()
                         {
                             Domain = this.Domain, SourceId = "RF", SourceType = "X10 RF Receiver", Path = "Receiver.RawData", Value = ""
                         });
                     }
                     catch (Exception ex)
                     {
                         // TODO: add error logging
                     }
                 });
             }
             _rfpulsetimer.Change(1000, Timeout.Infinite);
         }
     }
 }