On Fri, Jul 28, 2017 at 1:06 AM, Soeren Apel <[email protected]> wrote:
> > Would it help you if the little arrow on the ruler would be the same > across all windows? Also, would it help if in such a setup there > wouldn't be just an arrow but a complete vertical line? > > Yeah, I think that would be helpful. Maybe a vertical rule could follow the mouse cursor. > > > I'll try the approach you mentioned of manually splicing the two > > files together. > > If you need assistance, please let us know. In my last mail, I > forgot to mention that you also need to adjust the metadata file > and add 8 more logic channels - the number of logic channels > determines the number of bits sigrok expects per sample, so if > you increase the number of bits from 8 to 16, it'll read two > bytes per sample instead of one. > Then, all you need to do is to mux those binary "logic-1" files. > I gave this a shot, but something went wrong (Pulseview gives a "generic / unspecified" error when I try to open up the resulting zip file). I threw together a quick python script to mux the binary files. I think I got it right -- the resulting logic-1-1 file is exactly twice the size of the two source files. I've attached the two source srzip files and the resulting output srzip file. So I'm guessing I made some sort of mistake in the metadata file. I've attached that as a text file as well. I'd be super grateful if you could take a glance at it! Maybe there is a way I can make Pulseview spit out some debugging info or a more detailed error? Thanks, Jason
[global] sigrok version=0.6.0-git-58ffcf9 [device 1] capturefile=logic-1 total probes=16 samplerate=1 MHz total analog=0 probe1=D0 probe2=D1 probe3=D2 probe4=D3 probe5=D4 probe6=D5 probe7=D6 probe8=D7 probe9=DAV probe10=NRFD probe11=NDAC probe12=D3 probe13=D4 probe14=D5 probe15=D6 probe16=D7 unitsize=1
#!/usr/bin/env python
import sys
import os
if len(sys.argv) < 4:
sys.stderr.write("Usage: %s <input dir 1> <input dir 2> <output dir>\n" % sys.argv[0])
sys.exit(1)
dirA = sys.argv[1]
dirB = sys.argv[2]
outdir = sys.argv[3]
probe_countA = -1
unit_sizeA = -1
probe_countB = -1
unit_sizeB = -1
with open("%s/metadata" % dirA) as f:
for line in f.readlines():
if "total probes" in line:
probe_countA = int(line.split('=')[1].rstrip())
if "unitsize" in line:
unit_sizeA = int(line.split('=')[1].rstrip())
with open("%s/metadata" % dirB) as f:
for line in f.readlines():
if "total probes" in line:
probe_countB = int(line.split('=')[1].rstrip())
if "unitsize" in line:
unit_sizeB = int(line.split('=')[1].rstrip())
if probe_countA == -1 or unit_sizeA == -1 or probe_countA == -1 or unit_sizeB == -1:
sys.stderr.write("Error: bad metadata\n")
sys.exit(2)
os.system("mkdir -p %s" % outdir)
with open("%s/logic-1-1" % dirA) as fA:
with open("%s/logic-1-1" % dirB) as fB:
with open("%s/logic-1-1" % outdir, "w") as fOut:
while True:
sampleA = fA.read(unit_sizeA)
sampleB = fB.read(unit_sizeB)
if len(sampleA) == 0 or len(sampleB) == 0:
break
fOut.write(sampleA)
fOut.write(sampleB)
A.srzip
Description: Binary data
B.srzip
Description: Binary data
muxed.srzip
Description: Binary data
------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________ sigrok-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/sigrok-devel

