I’m wondering if its still possible to use a picoscope to capture traces and use cwanalyzer. I saw that in version 4 had picoscope in the scope folder. As well as some older youtube videos showing compatibility, but I cannot get version 4 to work, due to a bunch of outdated stuff (ie pyside 1.2.4 no longer having qtwebkit and 1.2.2’s qtcore not finding libs. I’m on osx btw). I saw that there’s pico-python on colin’s github, but I’m not sure how I’d get that to work with cw software. I wouldn’t mind spending some time on if its currently not availble, but some guidance/push in the right direction would greatly be appreciated. Thanks in advance.
Hey in CW5 the capture should be pretty much independent of analysis, from what I’ve seen. That said, pico-python is pretty simple to use. Here’s a simple skeleton I use (fingers crossed the formatting comes out OK):
ps = ps2000a.PS2000a() ps.setChannel('A','AC',VRange=VRANGE_PRIMARY,VOffset=CONFIG_ANALOGOFFSET,enabled=True,BWLimited=False) ps.setChannel('B','DC',VRange=7.0,VOffset=0.0,enabled=True,BWLimited=False) nSamples = CONFIG_SAMPLECOUNT (freq,maxSamples) = ps.setSamplingFrequency(CONFIG_SAMPLERATE,nSamples) print("Actual sampling frequency: %d Hz" % freq) # watch out sometimes it's not exactly what you set. ps.setSimpleTrigger('B',1.0,'Rising',timeout_ms=2000,enabled=True) ps.runBlock() # insert action here. this action should generate a trigger signal corresponding to setSimpleTrigger. ps.waitReady() dataA = ps.getDataV('A',CONFIG_SAMPLECOUNT,returnOverflow=False)
To load the data into chipwhisperer format, you’ll need to save several numpy files (plaintext, ciphertext, trace at minimum) and create an index file to tie them together. This is a good reference for how to go about implementing this.
This is great stuff. I’ve been meaning to get my hands on a CW, but I figured i’d make do with my scope for now. I’ll play around a bit with pico-python until I get familiar with it. Then i’ll move onto loading the data into cw, as you mentioned. I just want to be sure that the captures are good, and that any error I tackle on later wont be because of a faulty trace. Thank you very much for the help.
Just to add a bit here, I haven’t used pico-python in CW5 but I did use it with CW4.
In my experience, getting the capture data into CW was the easy part, using the Pico API correctly was the hard part!