spinn_front_end_common.utilities.utility_objs.extra_monitor_scp_messages package

Submodules

spinn_front_end_common.utilities.utility_objs.extra_monitor_scp_messages.reinjector_scp_commands module

class spinn_front_end_common.utilities.utility_objs.extra_monitor_scp_messages.reinjector_scp_commands.ReinjectorSCPCommands(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: Enum

SCP Command codes for reinjection

CLEAR = 6
EXIT = 5
GET_STATUS = 3
RESET_COUNTERS = 4
SET_PACKET_TYPES = 2
SET_ROUTER_WAIT1_TIMEOUT = 0
SET_ROUTER_WAIT2_TIMEOUT = 1

spinn_front_end_common.utilities.utility_objs.extra_monitor_scp_messages.speedup_in_scp_commands module

class spinn_front_end_common.utilities.utility_objs.extra_monitor_scp_messages.speedup_in_scp_commands.SpeedupInSCPCommands(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: Enum

SCP Command codes for data speed up in.

LOAD_APPLICATION_MC_ROUTES = 7
LOAD_SYSTEM_MC_ROUTES = 8
SAVE_APPLICATION_MC_ROUTES = 6

Module contents

class spinn_front_end_common.utilities.utility_objs.extra_monitor_scp_messages.ClearReinjectionQueueMessage(x: int, y: int, p: int)

Bases: AbstractSCPRequest[CheckOKResponse]

An SCP Request to set the dropped packet reinjected packet types.

Parameters:
  • x (int) – The x-coordinate of a chip, between 0 and 255

  • y (int) – The y-coordinate of a chip, between 0 and 255

  • p (int) – The processor running the extra monitor vertex, between 0 and 17

get_scp_response() CheckOKResponse[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

class spinn_front_end_common.utilities.utility_objs.extra_monitor_scp_messages.GetReinjectionStatusMessage(x: int, y: int, p: int)

Bases: AbstractSCPRequest[GetReinjectionStatusMessageResponse]

An SCP Request to get the status of the dropped packet reinjection.

Parameters:
  • x (int) – The x-coordinate of a chip, between 0 and 255

  • y (int) – The y-coordinate of a chip, between 0 and 255

  • p (int) – The processor running the extra monitor vertex, between 0 and 17

get_scp_response() GetReinjectionStatusMessageResponse[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

class spinn_front_end_common.utilities.utility_objs.extra_monitor_scp_messages.GetReinjectionStatusMessageResponse(command_code: ReinjectorSCPCommands)

Bases: AbstractSCPResponse

An SCP response to a request for the dropped packet reinjection status

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 reinjection_functionality_status: ReInjectionStatus

Gets the reinjection functionality status

Return type:

ReInjectionStatus

Raises:

AssertError – If not yet read

class spinn_front_end_common.utilities.utility_objs.extra_monitor_scp_messages.LoadApplicationMCRoutesMessage(x: int, y: int, p: int)

Bases: AbstractSCPRequest[CheckOKResponse]

An SCP Request to write the application multicast routes into the router.

Parameters:
  • x (int) – The x-coordinate of a chip, between 0 and 255

  • y (int) – The y-coordinate of a chip, between 0 and 255

  • p (int) – The processor running the extra monitor vertex, between 0 and 17

get_scp_response() CheckOKResponse[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

class spinn_front_end_common.utilities.utility_objs.extra_monitor_scp_messages.LoadSystemMCRoutesMessage(x: int, y: int, p: int)

Bases: AbstractSCPRequest[CheckOKResponse]

An SCP Request to write the system multicast routes into the router.

Parameters:
  • x (int) – The x-coordinate of a chip, between 0 and 255

  • y (int) – The y-coordinate of a chip, between 0 and 255

  • p (int) – The processor running the extra monitor vertex, between 0 and 17

get_scp_response() CheckOKResponse[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

class spinn_front_end_common.utilities.utility_objs.extra_monitor_scp_messages.ResetCountersMessage(x: int, y: int, p: int)

Bases: AbstractSCPRequest[CheckOKResponse]

An SCP Request to reset the statistics counters of the dropped packet reinjection.

Parameters:
  • x (int) – The x-coordinate of a chip, between 0 and 255

  • y (int) – The y-coordinate of a chip, between 0 and 255

  • p (int) – The processor running the extra monitor vertex, between 0 and 17

get_scp_response() CheckOKResponse[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

class spinn_front_end_common.utilities.utility_objs.extra_monitor_scp_messages.SetReinjectionPacketTypesMessage(x: int, y: int, p: int, multicast: bool, point_to_point: bool, fixed_route: bool, nearest_neighbour: bool)

Bases: AbstractSCPRequest[CheckOKResponse]

An SCP Request to set the dropped packet reinjected packet types.

Parameters:
  • x (int) – The x-coordinate of a chip, between 0 and 255

  • y (int) – The y-coordinate of a chip, between 0 and 255

  • p (int) – The processor running the extra monitor vertex, between 0 and 17

  • point_to_point (bool) – If point to point should be set

  • multicast (bool) – If multicast should be set

  • nearest_neighbour (bool) – If nearest neighbour should be set

  • fixed_route (bool) – If fixed route should be set

get_scp_response() CheckOKResponse[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

class spinn_front_end_common.utilities.utility_objs.extra_monitor_scp_messages.SetRouterTimeoutMessage(x: int, y: int, p: int, *, timeout_mantissa: int, timeout_exponent: int, wait: int)

Bases: AbstractSCPRequest[CheckOKResponse]

An SCP Request to the extra monitor core to set the router timeout for dropped packet reinjection.

Parameters:
  • x (int) – The x-coordinate of a chip, between 0 and 255

  • y (int) – The y-coordinate of a chip, between 0 and 255

  • p (int) – The processor running the extra monitor vertex, between 0 and 17

  • timeout_mantissa (int) – The mantissa of the timeout value, between 0 and 15

  • timeout_exponent (int) – The exponent of the timeout value, between 0 and 15

  • wait (int) – Which wait to set. Should be 1 or 2.

get_scp_response() CheckOKResponse[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