casperfpga¶
Welcome to the documentation for casperfpga
, the Python-based communications package for CASPER Hardware!
New Users¶
casperfpga
is a Python library used to interact and interface with CASPER Hardware. Functionality includes being able to reconfigure firmware, as well as read and write registers across the various communication interfaces. The info here describes the following:
Should you be an existing corr user, wondering where some of your functionality has gone when interfacing to your ROACH/2, ‘Migtrating from corr’ above offers a detailed explanation on how to migrate to casperfpga
.
Should you want to dive straight into its usage with the toolflow proper, please see here.
Existing Users¶
From commit a5e7dcc and earlier the method of instantiating e.g. a SKARAB object was as follows:
In [1]: import casperfpga
In [2]: skarab = casperfpga.SkarabFpga('skarab010103')
In [3]: roach = casperfpga.katcp_fpga.KatcpFpga('roach020203')
As of commit 4adffc0 the method of instantiating a ROACH or SKARAB was altered to be done intelligently. casperfpga
automatically works out whether the hostname given in its instantiation is a ROACH, SKARAB or SNAP board.
In [1]: import casperfpga
In [2]: skarab = casperfpga.CasperFpga('skarab010103')
DEBUG:root:skarab010103 seems to be a SKARAB
INFO:casperfpga.transport_skarab:skarab010103: port(30584) created & connected.
DEBUG:root:casperfpga.casperfpga:skarab010103: now a CasperFpga
In [3]: roach = casperfpga.CasperFpga('roach020203')
DEBUG:root:roach020203 seems to be a ROACH
INFO:casperfpga.transport_katcp:roach020203: port(7147) created and connected.
DEBUG:root:casperfpga.casperfpga:roach020203: now a CasperFpga