spectre-core 0.0.7__py3-none-any.whl → 0.0.8__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- spectre_core/receivers/library/rspduo/gr/tuner_1_fixed.py +6 -2
- spectre_core/receivers/library/rspduo/gr/tuner_1_sweep.py +8 -12
- spectre_core/receivers/library/rspduo/gr/tuner_2_fixed.py +120 -0
- spectre_core/receivers/library/rspduo/gr/tuner_2_sweep.py +119 -0
- spectre_core/receivers/library/rspduo/receiver.py +34 -5
- {spectre_core-0.0.7.dist-info → spectre_core-0.0.8.dist-info}/METADATA +2 -2
- {spectre_core-0.0.7.dist-info → spectre_core-0.0.8.dist-info}/RECORD +10 -8
- {spectre_core-0.0.7.dist-info → spectre_core-0.0.8.dist-info}/LICENSE +0 -0
- {spectre_core-0.0.7.dist-info → spectre_core-0.0.8.dist-info}/WHEEL +0 -0
- {spectre_core-0.0.7.dist-info → spectre_core-0.0.8.dist-info}/top_level.txt +0 -0
@@ -5,7 +5,7 @@
|
|
5
5
|
# SPDX-License-Identifier: GPL-3.0
|
6
6
|
#
|
7
7
|
# GNU Radio Python Flow Graph
|
8
|
-
# Title:
|
8
|
+
# Title: tuner_1_fixed
|
9
9
|
# GNU Radio version: 3.10.1.1
|
10
10
|
|
11
11
|
# SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
|
@@ -50,7 +50,11 @@ class tuner_1_fixed(gr.top_block):
|
|
50
50
|
##################################################
|
51
51
|
# Blocks
|
52
52
|
##################################################
|
53
|
-
self.spectre_batched_file_sink_0 = spectre.batched_file_sink(CHUNKS_DIR_PATH,
|
53
|
+
self.spectre_batched_file_sink_0 = spectre.batched_file_sink(CHUNKS_DIR_PATH,
|
54
|
+
tag,
|
55
|
+
chunk_size,
|
56
|
+
samp_rate,
|
57
|
+
is_sweeping)
|
54
58
|
self.sdrplay3_rspduo_0 = sdrplay3.rspduo(
|
55
59
|
'',
|
56
60
|
rspduo_mode="Single Tuner",
|
@@ -5,9 +5,13 @@
|
|
5
5
|
# SPDX-License-Identifier: GPL-3.0
|
6
6
|
#
|
7
7
|
# GNU Radio Python Flow Graph
|
8
|
-
# Title:
|
8
|
+
# Title: tuner_1_sweep
|
9
9
|
# GNU Radio version: 3.10.1.1
|
10
10
|
|
11
|
+
# SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
|
12
|
+
# This file is part of SPECTRE
|
13
|
+
# SPDX-License-Identifier: GPL-3.0-or-later
|
14
|
+
|
11
15
|
import sys
|
12
16
|
import signal
|
13
17
|
from argparse import ArgumentParser
|
@@ -31,7 +35,7 @@ from spectre_core.file_handlers.configs import CaptureConfig
|
|
31
35
|
class tuner_1_sweep(gr.top_block):
|
32
36
|
def __init__(self,
|
33
37
|
capture_config: CaptureConfig):
|
34
|
-
gr.top_block.__init__(self, "
|
38
|
+
gr.top_block.__init__(self, "tuner_1_sweep", catch_exceptions=True)
|
35
39
|
|
36
40
|
##################################################
|
37
41
|
# Unpack capture config
|
@@ -93,8 +97,8 @@ class tuner_1_sweep(gr.top_block):
|
|
93
97
|
self.sdrplay3_rspduo_0.set_debug_mode(False)
|
94
98
|
self.sdrplay3_rspduo_0.set_sample_sequence_gaps_check(False)
|
95
99
|
self.sdrplay3_rspduo_0.set_show_gain_changes(False)
|
96
|
-
self.blocks_tag_debug_0 = blocks.tag_debug(gr.sizeof_gr_complex*1, 'freq', "freq")
|
97
|
-
self.blocks_tag_debug_0.set_display(True)
|
100
|
+
# self.blocks_tag_debug_0 = blocks.tag_debug(gr.sizeof_gr_complex*1, 'freq', "freq")
|
101
|
+
# self.blocks_tag_debug_0.set_display(True)
|
98
102
|
|
99
103
|
|
100
104
|
##################################################
|
@@ -105,14 +109,6 @@ class tuner_1_sweep(gr.top_block):
|
|
105
109
|
self.connect((self.sdrplay3_rspduo_0, 0), (self.spectre_sweep_driver_0, 0))
|
106
110
|
|
107
111
|
|
108
|
-
def get_samp_rate(self):
|
109
|
-
return self.samp_rate
|
110
|
-
|
111
|
-
def set_samp_rate(self, samp_rate):
|
112
|
-
self.samp_rate = samp_rate
|
113
|
-
self.sdrplay3_rspduo_0.set_sample_rate(self.samp_rate, True)
|
114
|
-
|
115
|
-
|
116
112
|
|
117
113
|
|
118
114
|
def main(capture_config: CaptureConfig,
|
@@ -0,0 +1,120 @@
|
|
1
|
+
#!/usr/bin/env python3
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
|
4
|
+
#
|
5
|
+
# SPDX-License-Identifier: GPL-3.0
|
6
|
+
#
|
7
|
+
# GNU Radio Python Flow Graph
|
8
|
+
# Title: Not titled yet
|
9
|
+
# GNU Radio version: 3.10.1.1
|
10
|
+
|
11
|
+
# SPDX-FileCopyrightText: © 2024 Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
|
12
|
+
# This file is part of SPECTRE
|
13
|
+
# SPDX-License-Identifier: GPL-3.0-or-later
|
14
|
+
|
15
|
+
from gnuradio import gr
|
16
|
+
from gnuradio.filter import firdes
|
17
|
+
from gnuradio.fft import window
|
18
|
+
import sys
|
19
|
+
import signal
|
20
|
+
from argparse import ArgumentParser
|
21
|
+
from gnuradio.eng_arg import eng_float, intx
|
22
|
+
from gnuradio import eng_notation
|
23
|
+
from gnuradio import sdrplay3
|
24
|
+
from gnuradio import spectre
|
25
|
+
|
26
|
+
from spectre_core.cfg import CHUNKS_DIR_PATH
|
27
|
+
from spectre_core.file_handlers.configs import CaptureConfig
|
28
|
+
|
29
|
+
|
30
|
+
class tuner_2_fixed(gr.top_block):
|
31
|
+
|
32
|
+
def __init__(self,
|
33
|
+
capture_config: CaptureConfig):
|
34
|
+
gr.top_block.__init__(self, "tuner_2_fixed", catch_exceptions=True)
|
35
|
+
|
36
|
+
##################################################
|
37
|
+
# Unpack capture config
|
38
|
+
##################################################
|
39
|
+
samp_rate = capture_config['samp_rate']
|
40
|
+
tag = capture_config['tag']
|
41
|
+
chunk_size = capture_config['chunk_size']
|
42
|
+
center_freq = capture_config['center_freq']
|
43
|
+
bandwidth = capture_config['bandwidth']
|
44
|
+
IF_gain = capture_config['IF_gain']
|
45
|
+
RF_gain = capture_config['RF_gain']
|
46
|
+
is_sweeping = False
|
47
|
+
|
48
|
+
##################################################
|
49
|
+
# Blocks
|
50
|
+
##################################################
|
51
|
+
self.spectre_batched_file_sink_0 = spectre.batched_file_sink(CHUNKS_DIR_PATH,
|
52
|
+
tag,
|
53
|
+
chunk_size,
|
54
|
+
samp_rate,
|
55
|
+
is_sweeping)
|
56
|
+
self.sdrplay3_rspduo_0 = sdrplay3.rspduo(
|
57
|
+
'',
|
58
|
+
rspduo_mode="Single Tuner",
|
59
|
+
antenna="Tuner 2 50 ohm",
|
60
|
+
stream_args=sdrplay3.stream_args(
|
61
|
+
output_type='fc32',
|
62
|
+
channels_size=1
|
63
|
+
),
|
64
|
+
)
|
65
|
+
self.sdrplay3_rspduo_0.set_sample_rate(samp_rate)
|
66
|
+
self.sdrplay3_rspduo_0.set_center_freq(center_freq)
|
67
|
+
self.sdrplay3_rspduo_0.set_bandwidth(bandwidth)
|
68
|
+
self.sdrplay3_rspduo_0.set_antenna("Tuner 2 50 ohm")
|
69
|
+
self.sdrplay3_rspduo_0.set_gain_mode(False)
|
70
|
+
self.sdrplay3_rspduo_0.set_gain(IF_gain, 'IF')
|
71
|
+
self.sdrplay3_rspduo_0.set_gain(RF_gain, 'RF', False)
|
72
|
+
self.sdrplay3_rspduo_0.set_freq_corr(0)
|
73
|
+
self.sdrplay3_rspduo_0.set_dc_offset_mode(False)
|
74
|
+
self.sdrplay3_rspduo_0.set_iq_balance_mode(False)
|
75
|
+
self.sdrplay3_rspduo_0.set_agc_setpoint(-30)
|
76
|
+
self.sdrplay3_rspduo_0.set_rf_notch_filter(False)
|
77
|
+
self.sdrplay3_rspduo_0.set_dab_notch_filter(False)
|
78
|
+
self.sdrplay3_rspduo_0.set_am_notch_filter(False)
|
79
|
+
self.sdrplay3_rspduo_0.set_biasT(False)
|
80
|
+
self.sdrplay3_rspduo_0.set_stream_tags(False)
|
81
|
+
self.sdrplay3_rspduo_0.set_debug_mode(False)
|
82
|
+
self.sdrplay3_rspduo_0.set_sample_sequence_gaps_check(False)
|
83
|
+
self.sdrplay3_rspduo_0.set_show_gain_changes(False)
|
84
|
+
|
85
|
+
|
86
|
+
##################################################
|
87
|
+
# Connections
|
88
|
+
##################################################
|
89
|
+
self.connect((self.sdrplay3_rspduo_0, 0), (self.spectre_batched_file_sink_0, 0))
|
90
|
+
|
91
|
+
|
92
|
+
def get_samp_rate(self):
|
93
|
+
return self.samp_rate
|
94
|
+
|
95
|
+
def set_samp_rate(self, samp_rate):
|
96
|
+
self.samp_rate = samp_rate
|
97
|
+
self.sdrplay3_rspduo_0.set_sample_rate(self.samp_rate, False)
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
|
102
|
+
def main(capture_config: CaptureConfig,
|
103
|
+
top_block_cls=tuner_2_fixed,
|
104
|
+
options=None):
|
105
|
+
|
106
|
+
tb = top_block_cls(capture_config)
|
107
|
+
|
108
|
+
def sig_handler(sig=None, frame=None):
|
109
|
+
tb.stop()
|
110
|
+
tb.wait()
|
111
|
+
|
112
|
+
sys.exit(0)
|
113
|
+
|
114
|
+
signal.signal(signal.SIGINT, sig_handler)
|
115
|
+
signal.signal(signal.SIGTERM, sig_handler)
|
116
|
+
|
117
|
+
tb.start()
|
118
|
+
|
119
|
+
tb.wait()
|
120
|
+
|
@@ -0,0 +1,119 @@
|
|
1
|
+
#!/usr/bin/env python3
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
|
4
|
+
#
|
5
|
+
# SPDX-License-Identifier: GPL-3.0
|
6
|
+
#
|
7
|
+
# GNU Radio Python Flow Graph
|
8
|
+
# Title: Not titled yet
|
9
|
+
# GNU Radio version: 3.10.1.1
|
10
|
+
|
11
|
+
from gnuradio import gr
|
12
|
+
from gnuradio.filter import firdes
|
13
|
+
from gnuradio.fft import window
|
14
|
+
import sys
|
15
|
+
import signal
|
16
|
+
from argparse import ArgumentParser
|
17
|
+
from gnuradio.eng_arg import eng_float, intx
|
18
|
+
from gnuradio import eng_notation
|
19
|
+
from gnuradio import sdrplay3
|
20
|
+
from gnuradio import spectre
|
21
|
+
|
22
|
+
from spectre_core.cfg import CHUNKS_DIR_PATH
|
23
|
+
from spectre_core.file_handlers.configs import CaptureConfig
|
24
|
+
|
25
|
+
|
26
|
+
class tuner_2_sweep(gr.top_block):
|
27
|
+
def __init__(self,
|
28
|
+
capture_config: CaptureConfig):
|
29
|
+
gr.top_block.__init__(self, "tuner_2_sweep", catch_exceptions=True)
|
30
|
+
|
31
|
+
##################################################
|
32
|
+
# Unpack capture config
|
33
|
+
##################################################
|
34
|
+
samp_rate = capture_config['samp_rate']
|
35
|
+
bandwidth = capture_config['bandwidth']
|
36
|
+
min_freq = capture_config['min_freq']
|
37
|
+
max_freq = capture_config['max_freq']
|
38
|
+
freq_step = capture_config['freq_step']
|
39
|
+
samples_per_step = capture_config['samples_per_step']
|
40
|
+
IF_gain = capture_config['IF_gain']
|
41
|
+
RF_gain = capture_config['RF_gain']
|
42
|
+
chunk_size = capture_config['chunk_size']
|
43
|
+
start_freq = min_freq + samp_rate/2
|
44
|
+
tag = capture_config['tag']
|
45
|
+
|
46
|
+
##################################################
|
47
|
+
# Blocks
|
48
|
+
##################################################
|
49
|
+
self.spectre_sweep_driver_0 = spectre.sweep_driver(min_freq,
|
50
|
+
max_freq,
|
51
|
+
freq_step,
|
52
|
+
samp_rate,
|
53
|
+
samples_per_step,
|
54
|
+
'freq')
|
55
|
+
self.spectre_batched_file_sink_0 = spectre.batched_file_sink(CHUNKS_DIR_PATH,
|
56
|
+
tag,
|
57
|
+
chunk_size,
|
58
|
+
samp_rate,
|
59
|
+
True,
|
60
|
+
'freq',
|
61
|
+
start_freq)
|
62
|
+
self.sdrplay3_rspduo_0 = sdrplay3.rspduo(
|
63
|
+
'',
|
64
|
+
rspduo_mode="Single Tuner",
|
65
|
+
antenna="Tuner 2 50 ohm",
|
66
|
+
stream_args=sdrplay3.stream_args(
|
67
|
+
output_type='fc32',
|
68
|
+
channels_size=1
|
69
|
+
),
|
70
|
+
)
|
71
|
+
self.sdrplay3_rspduo_0.set_sample_rate(samp_rate, True)
|
72
|
+
self.sdrplay3_rspduo_0.set_center_freq(start_freq, True)
|
73
|
+
self.sdrplay3_rspduo_0.set_bandwidth(bandwidth)
|
74
|
+
self.sdrplay3_rspduo_0.set_antenna("Tuner 2 50 ohm")
|
75
|
+
self.sdrplay3_rspduo_0.set_gain_mode(False)
|
76
|
+
self.sdrplay3_rspduo_0.set_gain(IF_gain, 'IF', True)
|
77
|
+
self.sdrplay3_rspduo_0.set_gain(RF_gain, 'RF', True)
|
78
|
+
self.sdrplay3_rspduo_0.set_freq_corr(0)
|
79
|
+
self.sdrplay3_rspduo_0.set_dc_offset_mode(False)
|
80
|
+
self.sdrplay3_rspduo_0.set_iq_balance_mode(False)
|
81
|
+
self.sdrplay3_rspduo_0.set_agc_setpoint(-30)
|
82
|
+
self.sdrplay3_rspduo_0.set_rf_notch_filter(False)
|
83
|
+
self.sdrplay3_rspduo_0.set_dab_notch_filter(True)
|
84
|
+
self.sdrplay3_rspduo_0.set_am_notch_filter(False)
|
85
|
+
self.sdrplay3_rspduo_0.set_biasT(False)
|
86
|
+
self.sdrplay3_rspduo_0.set_stream_tags(True)
|
87
|
+
self.sdrplay3_rspduo_0.set_debug_mode(False)
|
88
|
+
self.sdrplay3_rspduo_0.set_sample_sequence_gaps_check(False)
|
89
|
+
self.sdrplay3_rspduo_0.set_show_gain_changes(False)
|
90
|
+
|
91
|
+
|
92
|
+
##################################################
|
93
|
+
# Connections
|
94
|
+
##################################################
|
95
|
+
self.msg_connect((self.spectre_sweep_driver_0, 'freq'), (self.sdrplay3_rspduo_0, 'freq'))
|
96
|
+
self.connect((self.sdrplay3_rspduo_0, 0), (self.spectre_batched_file_sink_0, 0))
|
97
|
+
self.connect((self.sdrplay3_rspduo_0, 0), (self.spectre_sweep_driver_0, 0))
|
98
|
+
|
99
|
+
|
100
|
+
def main(capture_config: CaptureConfig,
|
101
|
+
top_block_cls=tuner_2_sweep,
|
102
|
+
options=None):
|
103
|
+
tb = top_block_cls(capture_config)
|
104
|
+
|
105
|
+
def sig_handler(sig=None, frame=None):
|
106
|
+
tb.stop()
|
107
|
+
tb.wait()
|
108
|
+
|
109
|
+
sys.exit(0)
|
110
|
+
|
111
|
+
signal.signal(signal.SIGINT, sig_handler)
|
112
|
+
signal.signal(signal.SIGTERM, sig_handler)
|
113
|
+
|
114
|
+
tb.start(1024)
|
115
|
+
|
116
|
+
tb.wait()
|
117
|
+
|
118
|
+
if __name__ == '__main__':
|
119
|
+
main()
|
@@ -4,7 +4,12 @@
|
|
4
4
|
|
5
5
|
from spectre_core.receivers.base import SDRPlayReceiver
|
6
6
|
from spectre_core.receivers.receiver_register import register_receiver
|
7
|
-
from spectre_core.receivers.library.rspduo.gr import
|
7
|
+
from spectre_core.receivers.library.rspduo.gr import (
|
8
|
+
tuner_1_fixed,
|
9
|
+
tuner_1_sweep,
|
10
|
+
tuner_2_fixed,
|
11
|
+
tuner_2_sweep
|
12
|
+
)
|
8
13
|
from spectre_core.file_handlers.configs import CaptureConfig
|
9
14
|
|
10
15
|
|
@@ -17,14 +22,18 @@ class Receiver(SDRPlayReceiver):
|
|
17
22
|
def _set_capture_methods(self) -> None:
|
18
23
|
self._capture_methods = {
|
19
24
|
"tuner-1-fixed": self.__tuner_1_fixed,
|
20
|
-
"tuner-1-sweep": self.__tuner_1_sweep
|
25
|
+
"tuner-1-sweep": self.__tuner_1_sweep,
|
26
|
+
"tuner-2-fixed": self.__tuner_2_fixed,
|
27
|
+
"tuner-2-sweep": self.__tuner_2_sweep
|
21
28
|
}
|
22
29
|
|
23
30
|
|
24
31
|
def _set_validators(self) -> None:
|
25
32
|
self._validators = {
|
26
33
|
"tuner-1-fixed": self.__tuner_1_fixed_validator,
|
27
|
-
"tuner-1-sweep": self.__tuner_1_sweep_validator
|
34
|
+
"tuner-1-sweep": self.__tuner_1_sweep_validator,
|
35
|
+
"tuner-2-fixed": self.__tuner_2_fixed_validator,
|
36
|
+
"tuner-2-sweep": self.__tuner_2_sweep_validator,
|
28
37
|
}
|
29
38
|
return
|
30
39
|
|
@@ -33,6 +42,8 @@ class Receiver(SDRPlayReceiver):
|
|
33
42
|
self._type_templates = {
|
34
43
|
"tuner-1-fixed": self._get_default_type_template("fixed"),
|
35
44
|
"tuner-1-sweep": self._get_default_type_template("sweep"),
|
45
|
+
"tuner-2-fixed": self._get_default_type_template("fixed"),
|
46
|
+
"tuner-2-sweep": self._get_default_type_template("sweep"),
|
36
47
|
}
|
37
48
|
|
38
49
|
def _set_specifications(self) -> None:
|
@@ -55,14 +66,32 @@ class Receiver(SDRPlayReceiver):
|
|
55
66
|
|
56
67
|
def __tuner_1_sweep(self, capture_config: CaptureConfig) -> None:
|
57
68
|
tuner_1_sweep.main(capture_config)
|
69
|
+
|
70
|
+
|
71
|
+
def __tuner_2_fixed(self, capture_config: CaptureConfig) -> None:
|
72
|
+
tuner_2_fixed.main(capture_config)
|
58
73
|
|
59
74
|
|
75
|
+
def __tuner_2_sweep(self, capture_config: CaptureConfig) -> None:
|
76
|
+
tuner_2_sweep.main(capture_config)
|
77
|
+
|
78
|
+
|
60
79
|
def __tuner_1_fixed_validator(self, capture_config: CaptureConfig) -> None:
|
61
80
|
self._default_fixed_validator(capture_config)
|
62
81
|
self._sdrplay_validator(capture_config)
|
63
|
-
|
64
|
-
|
82
|
+
|
83
|
+
|
65
84
|
def __tuner_1_sweep_validator(self, capture_config: CaptureConfig) -> None:
|
85
|
+
self._default_sweep_validator(capture_config)
|
86
|
+
self._sdrplay_validator(capture_config)
|
87
|
+
|
88
|
+
|
89
|
+
def __tuner_2_fixed_validator(self, capture_config: CaptureConfig) -> None:
|
90
|
+
self._default_fixed_validator(capture_config)
|
91
|
+
self._sdrplay_validator(capture_config)
|
92
|
+
|
93
|
+
|
94
|
+
def __tuner_2_sweep_validator(self, capture_config: CaptureConfig) -> None:
|
66
95
|
self._default_sweep_validator(capture_config)
|
67
96
|
self._sdrplay_validator(capture_config)
|
68
97
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: spectre-core
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.8
|
4
4
|
Summary: The core Python package used by the spectre program.
|
5
5
|
Maintainer-email: Jimmy Fitzpatrick <jcfitzpatrick12@gmail.com>
|
6
6
|
License: GNU GENERAL PUBLIC LICENSE
|
@@ -698,7 +698,7 @@ Requires-Dist: watchdog==4.0.0
|
|
698
698
|
|
699
699
|
:loudspeaker: **This project is under active development. Contributors welcome.** :loudspeaker:
|
700
700
|
|
701
|
-
```spectre-core``` provides a SDR receiver-agnostic digital signal processing framework. It is the core Python package used by the [`spectre`](https://github.com/jcfitzpatrick12/spectre.git) program.
|
701
|
+
```spectre-core``` provides a SDR receiver-agnostic digital signal processing framework. It is the core Python package used by the [`spectre`](https://github.com/jcfitzpatrick12/spectre.git) program.
|
702
702
|
|
703
703
|
|
704
704
|
## Installation
|
@@ -41,10 +41,12 @@ spectre_core/receivers/library/rsp1a/gr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5J
|
|
41
41
|
spectre_core/receivers/library/rsp1a/gr/fixed.py,sha256=P39JwuOe-ydk9m8BNOHFDpzaqjenRnTIA7tpECshfUM,3369
|
42
42
|
spectre_core/receivers/library/rsp1a/gr/sweep.py,sha256=9ZAoI0u1814lOM_cVwJnLUNSgM3VMstfvWKP67dVEV4,4741
|
43
43
|
spectre_core/receivers/library/rspduo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
44
|
-
spectre_core/receivers/library/rspduo/receiver.py,sha256=
|
44
|
+
spectre_core/receivers/library/rspduo/receiver.py,sha256=EMBFWwFjoIP2buwwamyb3uaYqMQwQHMzNi-we7_OfcU,3377
|
45
45
|
spectre_core/receivers/library/rspduo/gr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
46
|
-
spectre_core/receivers/library/rspduo/gr/tuner_1_fixed.py,sha256=
|
47
|
-
spectre_core/receivers/library/rspduo/gr/tuner_1_sweep.py,sha256=
|
46
|
+
spectre_core/receivers/library/rspduo/gr/tuner_1_fixed.py,sha256=xO9F_GBwgNnebrxoZYPwbXLL2HmH0CNLrVlpQ6Z7bx0,3887
|
47
|
+
spectre_core/receivers/library/rspduo/gr/tuner_1_sweep.py,sha256=gR5arbjvJBJjCdQnpAdwNd7bEtnvDbhL_ttUhKk0Zss,5066
|
48
|
+
spectre_core/receivers/library/rspduo/gr/tuner_2_fixed.py,sha256=O86R3tuJ-7cZXfVECuZkds-wCxKdBKJ8MhVACJFgzeo,4130
|
49
|
+
spectre_core/receivers/library/rspduo/gr/tuner_2_sweep.py,sha256=4JgJ2QRO5DFPfqUTHBojj8ERR_4QpHyTBqnAXhOzykE,4747
|
48
50
|
spectre_core/receivers/library/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
49
51
|
spectre_core/receivers/library/test/receiver.py,sha256=ihfmUFFFEcyjMnMrqP4ajgB1mdC0vWEe9LFkNYHZn_Y,8346
|
50
52
|
spectre_core/receivers/library/test/gr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -65,8 +67,8 @@ spectre_core/watchdog/library/fixed/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQ
|
|
65
67
|
spectre_core/watchdog/library/fixed/event_handler.py,sha256=yWWS80LukB-cTrKBsF4-pRvw2obkX2MzQ5ZGytOtmAg,1387
|
66
68
|
spectre_core/watchdog/library/sweep/event_handler.py,sha256=wDISZiQXBeqLDPxgEMo0a2QAXqQVOO7fng3yhZWSR74,2188
|
67
69
|
spectre_core/web_fetch/callisto.py,sha256=874osjbp61qFwRgV584fpSp7E-xz8g1FEelbNBKhCsw,3632
|
68
|
-
spectre_core-0.0.
|
69
|
-
spectre_core-0.0.
|
70
|
-
spectre_core-0.0.
|
71
|
-
spectre_core-0.0.
|
72
|
-
spectre_core-0.0.
|
70
|
+
spectre_core-0.0.8.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
71
|
+
spectre_core-0.0.8.dist-info/METADATA,sha256=ltPXaVWUSk8ggdxRsRN9RLj3SIjRvNjGueNoIk3cst4,42150
|
72
|
+
spectre_core-0.0.8.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
73
|
+
spectre_core-0.0.8.dist-info/top_level.txt,sha256=-UsyjpFohXgZpgcZ9QbVeXhsIyF3Am8RxNFNDV_Ta2Y,13
|
74
|
+
spectre_core-0.0.8.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|