Skip to content

Commit 7a6776b

Browse files
committed
save
1 parent c64b5ea commit 7a6776b

File tree

7 files changed

+29
-16
lines changed

7 files changed

+29
-16
lines changed

frontends/hackrf.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,16 @@
99
class CaptureInterface():
1010
def __init__(self):
1111
self.config = {}
12-
self.config["samplecount"] = 5000
13-
self.config["freq"] = 16e6
14-
self.config["bw"] = 1e6
1512
print("HackRF ext.trig. frontend ready")
1613

1714
def init(self):
1815
print("hackrf frontend init()")
16+
if "samplecount" not in self.config.keys():
17+
self.config["samplecount"] = 50000
18+
if "frequency" not in self.config.keys():
19+
self.config["frequency"] = 8000000
20+
if "samplerate" not in self.config.keys():
21+
self.config["samplerate"] = 2000000
1922
self.hackrf_proc = None
2023

2124
def capture(self):
@@ -31,14 +34,17 @@ def capture(self):
3134
return [0]
3235
# print(stdout)
3336
# print(stderr)
34-
return numpy.fromstring(stdout, dtype=numpy.uint8)
37+
return numpy.fromstring(stdout, dtype=numpy.int8)
3538

3639
# hackrf_transfer -H -d <serial number> -a 0 -l 32 -g 32 -r rx1.cs8
3740
def arm(self):
41+
print(self.config)
3842
try:
39-
self.hackrf_proc = subprocess.Popen(["hackrf_transfer","-H","-f","8100000","-s","4000000","-a","0","-l","32","-g","32","-n","10000","-r","-"],stdout=subprocess.PIPE,stderr=subprocess.PIPE,text=False)
40-
except:
43+
self.hackrf_proc = subprocess.Popen(["hackrf_transfer","-H","-f","%d" % self.config["frequency"],"-s","%d" % self.config["samplerate"],"-a","1","-l","32","-g","32","-n","%d" % self.config["samplecount"],"-r","-"],stdout=subprocess.PIPE,stderr=subprocess.PIPE,text=False)
44+
except Exception as e:
45+
print(self.config["frequency"])
4146
print("hackrf: could not open process")
47+
print(e)
4248
sys.exit(0)
4349
print("hackrf: started process")
4450

lib/sparkgap/filemanager.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,12 @@ def cleanup(self):
7575
if self.f is not None:
7676
self.f.close()
7777

78+
def getDtype(self):
79+
if len(self.traces) == 0:
80+
print("fatal: getDtype on empty trace array. dafuq?")
81+
return None
82+
return self.traces[0].dtype
83+
7884
def slice(self,offset,numsamples):
7985
print("TraceManager: vertical slicing keeping %d:%d")
8086
if numsamples <= 0:

lib/sparkgap/preprocessor/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ def TwoPointCompress(tm_in,varMgr):
88
numTraces = tm_in.traceCount
99
sampleCnt = tm_in.numPoints
1010
cdist = varMgr.getVariable("compress_dist")
11-
traces = zeros((numTraces,sampleCnt - cdist),float32)
11+
traces = zeros((numTraces,sampleCnt - cdist),tm_in.getDtype())
1212
data = zeros((numTraces,16),uint8)
1313
data_out = zeros((numTraces,16),uint8)
1414
print("="*64)
@@ -27,7 +27,7 @@ def VAlign(tm_in,varMgr):
2727
sampleCnt = tm_in.numPoints
2828
window_offset = varMgr.getOptionalVariable("window_offset",0)
2929
window_length = varMgr.getOptionalVariable("window_length",sampleCnt)
30-
traces = zeros((numTraces,sampleCnt),float32)
30+
traces = zeros((numTraces,sampleCnt),tm_in.getDtype())
3131
data = zeros((numTraces,16),uint8)
3232
data_out = zeros((numTraces,16),uint8)
3333
refct = varMgr.getVariable("ref")

lib/sparkgap/preprocessor/alignment.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ def doCORR(tm_in,varMgr):
114114
sampleCnt = tm_in.numPoints
115115
lenPT = len(tm_in.data_in[0])
116116
lenCT = len(tm_in.data_out[0])
117-
traces = zeros((numTraces,sampleCnt),float32)
117+
traces = zeros((numTraces,sampleCnt),tm_in.getDtype())
118118
data = zeros((numTraces,lenPT),uint8)
119119
data_out = zeros((numTraces,lenCT),uint8)
120120
CONFIG_REFTRACE = varMgr.getVariable("ref")
@@ -153,7 +153,7 @@ def doCORR(tm_in,varMgr):
153153
def doEarthquake(tm_in,varMgr):
154154
numTraces = tm_in.traceCount
155155
sampleCnt = tm_in.numPoints
156-
traces = zeros((numTraces,sampleCnt),float32)
156+
traces = zeros((numTraces,sampleCnt),tm_in.getDtype())
157157
data = zeros((numTraces,16),uint8)
158158
data_out = zeros((numTraces,16),uint8)
159159
CONFIG_WRITEFILE = varMgr.getVariable("writefile")
@@ -178,7 +178,7 @@ def doSAD(tm_in,varMgr):
178178
sampleCnt = tm_in.numPoints
179179
lenPT = len(tm_in.data_in[0])
180180
lenCT = len(tm_in.data_out[0])
181-
traces = zeros((numTraces,sampleCnt),float32)
181+
traces = zeros((numTraces,sampleCnt),tm_in.getDtype())
182182
data = zeros((numTraces,lenPT),uint8)
183183
data_out = zeros((numTraces,lenCT),uint8)
184184
CONFIG_REFTRACE = varMgr.getVariable("ref")

lib/sparkgap/preprocessor/filtering.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ def butter_lowpass_filter(data, cutoff, fs, order=5):
3737
def doLowpass(tm_in,varMgr):
3838
numTraces = tm_in.traceCount
3939
sampleCnt = tm_in.numPoints
40-
traces = zeros((numTraces,sampleCnt),float32)
40+
dt = tm_in.getSingleTrace(0).dtype
41+
traces = zeros((numTraces,sampleCnt),dt)
4142
data = zeros((numTraces,16),uint8)
4243
data_out = zeros((numTraces,16),uint8)
4344
savedDataIndex = 0
@@ -57,7 +58,7 @@ def doLowpass(tm_in,varMgr):
5758
def doBandpass(tm_in,varMgr):
5859
numTraces = tm_in.traceCount
5960
sampleCnt = tm_in.numPoints
60-
traces = zeros((numTraces,sampleCnt),float32)
61+
traces = zeros((numTraces,sampleCnt),tm_in.getDtype())
6162
data = zeros((numTraces,16),uint8)
6263
data_out = zeros((numTraces,16),uint8)
6364
savedDataIndex = 0
@@ -91,7 +92,7 @@ def doSingleCWTDenoise(x,wavelet="db4",level=1):
9192
def doCWTDenoise(tm_in,varMgr):
9293
numTraces = tm_in.traceCount
9394
sampleCnt = tm_in.numPoints
94-
traces = zeros((numTraces,sampleCnt),float32)
95+
traces = zeros((numTraces,sampleCnt),tm_in.getDtype())
9596
data = zeros((numTraces,16),uint8)
9697
data_out = zeros((numTraces,16),uint8)
9798
savedDataIndex = 0

lib/sparkgap/preprocessor/keeloq.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def packKeeloq(bitstring):
1818
def doFlipKeeloqIO(tm_in,varMgr):
1919
numTraces = tm_in.traceCount
2020
sampleCnt = tm_in.numPoints
21-
traces = zeros((numTraces,sampleCnt),float32)
21+
traces = zeros((numTraces,sampleCnt),tm_in.getDtype())
2222
data = zeros((numTraces,16),uint8)
2323
data_out = zeros((numTraces,16),uint8)
2424
savedDataIndex = 0

lib/sparkgap/preprocessor/slicer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def doSlicer(tm_in,varMgr):
1515
maxSlicesForwards = varMgr.getVariable("slices_forwards")
1616
newSampleCount = (maxSlicesBackwards + maxSlicesForwards) * (3 + CONFIG_REF_LENGTH)
1717
numTraces = tm_in.traceCount
18-
traces = zeros((numTraces,newSampleCount),float32)
18+
traces = zeros((numTraces,newSampleCount),tm_in.getDtype())
1919
data = zeros((numTraces,16),uint8)
2020
data_out = zeros((numTraces,16),uint8)
2121
numTraces = tm_in.traceCount

0 commit comments

Comments
 (0)