458
edits
Changes
no edit summary
{{TOC|limit=3}}
<h1h2> The ChipWhisperer package </h1h2>
The ChipWhisperer Python package contains the high-level API used to control and communicate with ChipWhisperer devices. This package can be imported in any Python interpreter as
<pre>
To find more details about any of these objects, try running <code>help(cw)</code> or <code>help(x)</code> on a scope/target/etc object.
<h1h2> The Python Console</h1h2><h2h3> Interpreter </h2h3>
The ChipWhisperer Capture program includes a Python interpreter to give users an interface to the program. This is a full-featured Python console: any installed packages can be imported and used as if Python was run from the command line.
{{Warningbox|Caution: The built-in Python console runs in the program's main thread to give it access to the program's scope, target, and other objects. Unfortunately, this means that it's very possible to lock up CWCapture with the console. We've taken a few precautions to avoid lockups: Ctrl-C can stop a running script, and the GUI regains control for a moment every time the interpreter prints to the output field. However, code like <code>while True: pass</code> will certainly stop CWCapture in its tracks. Be careful! }}
<h2h3> Script Browser </h2h3>
Alongside the Python console, ChipWhisperer Capture has a file browser and a text preview window. These widgets are used to run pre-written scripts in the console. The file browser has three tabs:
<ul>
{{Warningbox|Caution: The script preview doesn't automatically update when a file is modified. Don't worry - if you press Run, the most recent copy of the file will be executed! This is just a cosmetic issue. }}
<h1h2> Repeating Tutorial B1 </h1h2>
Let's re-run the Tutorial B1 setup. Run the following two scripts:
<ul>