spinnman.data package¶
Submodules¶
spinnman.data.spinnman_data_writer module¶
- class spinnman.data.spinnman_data_writer.SpiNNManDataWriter(state)[source]¶
Bases:
MachineDataWriter
,SpiNNManDataView
See
UtilsDataWriter
This class is designed to only be used directly within the SpiNNMan repository unit tests as all methods are available to subclasses
- Parameters:
state (DataStatus) – State writer should be in
- set_transceiver(transceiver)[source]¶
Sets the transceiver object.
- Parameters:
transceiver (Transceiver) –
- Raises:
TypeError – If the transceiver is not a Transceiver
Module contents¶
- class spinnman.data.SpiNNManDataView[source]¶
Bases:
MachineDataView
Adds the extra Methods to the View for SpiNNMan level.
See
UtilsDataView
for a more detailed description.This class is designed to only be used directly within the SpiNNMan repository as all methods are available to subclasses
- classmethod free_id(app_id)[source]¶
Frees up an app_id.
previously get_transceiver().app_id_tracker().free_id(app_id)
- Parameters:
app_id (int) –
- classmethod get_app_id()[source]¶
Gets the main app_id used by the transceiver.
This method will create a new app_id if one has not yet been created.
- Return type:
- classmethod get_new_id()[source]¶
Gets a new id from the current app_id_tracker
previously get_transceiver().app_id_tracker().get_new_id()
- Return type:
- classmethod get_scamp_connection_selector()[source]¶
Gets the SCAMP connection selector from the transceiver.
Syntactic sugar for get_transceiver().scamp_connection_selector()
- Return type:
- Raises:
SpiNNUtilsException – If the transceiver is currently unavailable
- classmethod get_transceiver()[source]¶
The transceiver description.
- Return type:
- Raises:
SpiNNUtilsException – If the transceiver is currently unavailable
- classmethod read_memory(x, y, base_address, length, cpu=0)[source]¶
Read some areas of memory (usually SDRAM) from the board.
Syntactic sugar for get_transceiver().read_memory().
- Parameters:
x (int) – The x-coordinate of the chip where the memory is to be read from
y (int) – The y-coordinate of the chip where the memory is to be read from
base_address (int) – The address in SDRAM where the region of memory to be read starts
length (int) – The length of the data to be read in bytes
cpu (int) – the core ID used to read the memory of; should usually be 0 when reading from SDRAM, but may be other values when reading from DTCM.
- Returns:
A bytearray of data read
- Return type:
- Raises:
SpiNNUtilsException – If the transceiver is currently unavailable
SpinnmanIOException – If there is an error communicating with the board
SpinnmanInvalidPacketException – If a packet is received that is not in the valid format
SpinnmanInvalidParameterException –
If one of x, y, cpu, base_address or length is invalid
If a packet is received that has invalid parameters
SpinnmanUnexpectedResponseCodeException – If a response indicates an error during the exchange
- classmethod write_memory(x, y, base_address, data, n_bytes=None, offset=0, cpu=0, is_filename=False)[source]¶
Write to the SDRAM on the board.
Syntactic sugar for get_transceiver().write_memory().
- Parameters:
x (int) – The x-coordinate of the chip where the memory is to be written to
y (int) – The y-coordinate of the chip where the memory is to be written to
base_address (int) – The address in SDRAM where the region of memory is to be written
data (RawIOBase or bytes or bytearray or int or str) –
The data to write. Should be one of the following:
An instance of RawIOBase
A bytearray/bytes
A single integer - will be written in little-endian byte order
A filename of a data file (in which case is_filename must be set to True)
n_bytes (int) –
The amount of data to be written in bytes. If not specified:
If data is an RawIOBase, an error is raised
If data is a byte string (bytearray or bytes), the length of the byte string will be used
If data is an int, 4 will be used
If data is a str, the length of the file will be used
offset (int) – The offset from which the valid data begins
cpu (int) – The optional CPU to write to
is_filename (bool) – True if data is a filename
- Raises:
SpiNNUtilsException – If the transceiver is currently unavailable
If there is an error communicating with the board
If there is an error reading the data
SpinnmanInvalidPacketException – If a packet is received that is not in the valid format
SpinnmanInvalidParameterException –
If x, y does not lead to a valid chip
If a packet is received that has invalid parameters
If base_address is not a positive integer
If data is an RawIOBase but n_bytes is not specified
If data is an int and n_bytes is more than 4
If n_bytes is less than 0
SpinnmanUnexpectedResponseCodeException – If a response indicates an error during the exchange