spinnman.messages.scp.abstract_messages package

Module contents

class spinnman.messages.scp.abstract_messages.AbstractSCPRequest(sdp_header: SDPHeader, scp_request_header: SCPRequestHeader, argument_1: int | None = None, argument_2: int | None = None, argument_3: int | None = None, data: bytes | None = None)

Bases: Generic[R]

Represents an Abstract SCP Request.

Parameters:
  • sdp_header (SDPHeader) – The SDP header of the request

  • scp_request_header (SCPRequestHeader) – The SCP header of the request

  • argument_1 (int) – The first argument, or None if no first argument

  • argument_2 (int) – The second argument, or None if no second argument

  • argument_3 (int) – The third argument, or None if no third argument

  • data (bytearray or bytes or None) – The optional data, or None if no data

DEFAULT_DEST_X_COORD = 255
DEFAULT_DEST_Y_COORD = 255
property argument_1: int | None

The first argument, or None if no first argument.

Return type:

int

property argument_2: int | None

The second argument, or None if no second argument.

Return type:

int

property argument_3: int | None

The third argument, or None if no third argument.

Return type:

int

property bytestring: bytes

The request as a byte-string.

Return type:

bytes

property data: bytes | None

The data, or None if no data.

Return type:

bytearray

abstract get_scp_response() R[source]

Get an SCP response message to be used to process any response received.

Returns:

An SCP response, or None if no response is required

Return type:

AbstractSCPResponse

property scp_request_header: SCPRequestHeader

The SCP request header of the message.

Return type:

SCPRequestHeader

property sdp_header: SDPHeader

The SDP header of the message.

Return type:

SDPHeader

class spinnman.messages.scp.abstract_messages.AbstractSCPResponse

Bases: object

Represents an abstract SCP Response.

read_bytestring(data: bytes, offset: int)[source]

Reads a packet from a byte-string of data.

Parameters:
  • data (bytes) – The byte-string to be read

  • offset (int) – The offset in the data from which the response should be read

abstract read_data_bytestring(data: bytes, offset: int)[source]

Reads the remainder of the data following the header.

Parameters:
  • data (bytes) – The byte-string to read from

  • offset (int) – The offset into the data after the headers

property scp_response_header: SCPResponseHeader

The SCP header from the response.

Return type:

SCPResponseHeader

property sdp_header: SDPHeader

The SDP header from the response.

Return type:

SDPHeader

class spinnman.messages.scp.abstract_messages.BMPOKResponse(operation: str, command: SCPCommand)

Bases: BMPResponse[None]

A BMP response without payload to parse.

class spinnman.messages.scp.abstract_messages.BMPRequest(boards: int | Iterable[int], scp_request_header: SCPRequestHeader, argument_1: int | None = None, argument_2: int | None = None, argument_3: int | None = None, data: bytes | None = None)

Bases: AbstractSCPRequest[R], Generic[R]

An SCP request intended to be sent to a BMP.

Parameters:
  • boards (int or list(int) or tuple(int)) – The board or boards to be addressed by this request

  • scp_request_header (SCPRequestHeader) – The SCP request header

  • argument_1 (int) – The optional first argument

  • argument_2 (int) – The optional second argument

  • argument_3 (int) – The optional third argument

  • data (bytes) – The optional data to be sent

static get_board_mask(boards: int | Iterable[int]) int[source]

Get the board mask given a board ID or collection of board IDs.

static get_first_board(boards: int | Iterable[int]) int[source]

Get the first board ID given a board ID or collection of board IDs.

class spinnman.messages.scp.abstract_messages.BMPResponse(operation: str, command: SCPCommand)

Bases: AbstractSCPResponse, Generic[T]

Represents an SCP response that’s tailored for the BMP connection.

read_data_bytestring(data: bytes, offset: int)[source]

Reads the remainder of the data following the header.

Parameters:
  • data (bytes) – The byte-string to read from

  • offset (int) – The offset into the data after the headers