@@ -664,26 +664,26 @@ blocks:
664
664
\ See the\n# GNU General Public License for more details.\n#\n# You should\
665
665
\ have received a copy of the GNU General Public License\n# along with secplus.\
666
666
\ If not, see <http://www.gnu.org/licenses/>.\n#\n\nimport numpy as np\nfrom\
667
- \ gnuradio import gr\ntry:\n import secplus\nexcept:\n pass\n\n\nclass \
668
- \ blk(gr.sync_block):\n \"\"\"Decoder for Chamberlain garage door openers\" \
669
- \"\"\n\n def __init__(self, samp_rate=10000, threshold=0.02):\n gr.sync_block.__init__( \n\
670
- \ self, \n name='Security+ Decoder' ,\n\n in_sig=[np.float32],\n \
671
- \ out_sig=[] \n )\n self.samp_rate = samp_rate\n \
672
- \ self.threshold = threshold \n self.last_sample = 0.0 \n self.last_rise \
673
- \ = 0\n self.buffer = [] \n self.last_pair = [] \n self.pair \
674
- \ = []\n\n def work( self, input_items, output_items): \n for n, sample \
675
- \ in enumerate( input_items[0] ):\n current_sample = self.nitems_read(0) \
676
- \ + n\n if self.last_sample < self.threshold <= sample: \n \
677
- \ # rising edge\n self.last_rise = current_sample\n \
678
- \ elif self.last_sample >= self.threshold > sample:\n \
679
- \ # falling edge\n on_samples = current_sample - self.last_rise\n \
680
- \ self.process_symbol(on_samples)\n if current_sample \
681
- \ - self.last_rise > 3.25e-3 * self.samp_rate:\n self.buffer \
682
- \ = []\n self.last_sample = sample\n return len(input_items[0])\n \
683
- \n def process_symbol(self, on_samples):\n if on_samples < 0.35e-3 \
684
- \ * self.samp_rate:\n self.buffer = [] \n elif on_samples < \
685
- \ 0.75e-3 * self.samp_rate:\n self.buffer.append(0)\n elif \
686
- \ on_samples < 1.25e-3 * self.samp_rate:\n self.buffer.append(1)\n\
667
+ \ gnuradio import gr\nif __name__ != \"builtins\": # Don't import within GRC\n \
668
+ \ import secplus\n\n\nclass blk(gr.sync_block):\n \"\"\"Decoder for Chamberlain\
669
+ \ garage door openers\ "\"\"\ n\n def __init__(self, samp_rate=10000, threshold=0.02):\n\
670
+ \ gr.sync_block.__init__( \n self ,\n name='Security+ \
671
+ \ Decoder',\n\n in_sig=[np.float32], \n out_sig=[]\n \
672
+ \ ) \n self.samp_rate = samp_rate \n self.threshold = threshold\n \
673
+ \ self.last_sample = 0.0 \n self.last_rise = 0 \n self.buffer \
674
+ \ = []\n self.last_pair = [] \n self.pair = []\n\n def work(self, \
675
+ \ input_items, output_items ):\n for n, sample in enumerate(input_items[0]):\n \
676
+ \ current_sample = self.nitems_read(0) + n \n if self.last_sample \
677
+ \ < self.threshold <= sample:\n # rising edge\n \
678
+ \ self.last_rise = current_sample\n elif self.last_sample >= self.threshold\
679
+ \ > sample:\n # falling edge\n on_samples = current_sample\
680
+ \ - self.last_rise\n self.process_symbol(on_samples)\n \
681
+ \ if current_sample - self.last_rise > 3.25e-3 * self.samp_rate:\n \
682
+ \ self.buffer = []\n self.last_sample = sample\n \
683
+ \ return len(input_items[0])\n\n def process_symbol(self, on_samples):\n\
684
+ \ if on_samples < 0.35e-3 * self.samp_rate: \n self.buffer \
685
+ \ = []\n elif on_samples < 0.75e-3 * self.samp_rate:\n self.buffer.append(0)\n\
686
+ \ elif on_samples < 1.25e-3 * self.samp_rate:\n self.buffer.append(1)\n\
687
687
\ elif on_samples < 1.75e-3 * self.samp_rate:\n self.buffer.append(2)\n\
688
688
\ else:\n self.buffer = []\n\n if len(self.buffer)\
689
689
\ == 21:\n self.process_buffer()\n self.buffer = []\n\n\
@@ -723,15 +723,15 @@ blocks:
723
723
\ See the\n# GNU General Public License for more details.\n#\n# You should\
724
724
\ have received a copy of the GNU General Public License\n# along with secplus.\
725
725
\ If not, see <http://www.gnu.org/licenses/>.\n#\n\nimport numpy as np\nfrom\
726
- \ gnuradio import gr\ntry:\n import secplus\nexcept:\n pass\n\n\nclass \
727
- \ blk(gr.sync_block):\n \"\"\"Decoder for Chamberlain garage door openers\" \
728
- \"\"\n\n def __init__(self, samp_rate=10000, threshold=0.02):\n gr.sync_block.__init__( \n\
729
- \ self, \n name='Security+ 2.0 Decoder' ,\n\n \
730
- \ in_sig=[np.float32] ,\n out_sig=[] \n )\n self.samp_rate \
731
- \ = samp_rate \n self.threshold = threshold \n self.last_sample \
732
- \ = 0.0\n self.last_edge = 0\n self.buffer = [] \n self.pair \
733
- \ = [None, None ]\n self.pair_time = [None, None]\n\n def work( self, \
734
- \ input_items, output_items):\n for n, sample in enumerate(input_items[0]):\n\
726
+ \ gnuradio import gr\nif __name__ != \"builtins\": # Don't import within GRC\n \
727
+ \ import secplus\n\n\nclass blk(gr.sync_block):\n \"\"\"Decoder for Chamberlain\
728
+ \ garage door openers\ "\"\"\ n\n def __init__(self, samp_rate=10000, threshold=0.02):\n\
729
+ \ gr.sync_block.__init__( \n self ,\n name='Security+ \
730
+ \ 2.0 Decoder' ,\n\n in_sig=[np.float32], \n out_sig=[]\n \
731
+ \ ) \n self.samp_rate = samp_rate \n self.threshold = threshold\n \
732
+ \ self.last_sample = 0.0 \n self.last_edge = 0 \n self.buffer \
733
+ \ = []\n self.pair = [None, None]\n self.pair_time = [None, None]\n \
734
+ \n def work(self, input_items, output_items):\n for n, sample in enumerate(input_items[0]):\n\
735
735
\ current_sample = self.nitems_read(0) + n\n if self.last_sample\
736
736
\ < self.threshold <= sample:\n # rising edge\n \
737
737
\ self.process_edge(True, current_sample - self.last_edge)\n \
0 commit comments