docs: def get_system_info(self, x=255, y=255):
          """Discover the integrity and resource availability of a whole
          SpiNNaker system.
  
          This command performs :py:meth:`.get_chip_info` on all working chips in
          the system returning an enhanced :py:class:`dict`
          (:py:class:`.SystemInfo`) containing a look-up from chip coordinate to
          :py:class:`.ChipInfo`. In addition to standard dictionary
          functionality, :py:class:`.SystemInfo` provides a number of convenience
          methods, which allow convenient iteration over various aspects of the
          information stored.
  
          .. note::
              This method replaces the deprecated :py:meth:`.get_machine` method.
              To build a :py:class:`~rig.place_and_route.Machine` for
              place-and-route purposes, the
              :py:func:`rig.place_and_route.utils.build_machine` utility function
              may be used with :py:meth:`.get_system_info` like so::
  
                  >> from rig.place_and_route.utils import build_machine
                  >> sys_info = mc.get_system_info()
                  >> machine = build_machine(sys_info)
  
          Parameters
          ----------
          x : int
          y : int
              The coordinates of the chip from which system exploration should
              begin, by default (255, 255). Most users will not need to change
              these parameters.
  
          Returns
          -------
          :py:class:`.SystemInfo`
              An enhanced :py:class:`dict` object {(x, y): :py:class:`.ChipInfo`,
              ...} with a number of utility methods for accessing higher-level
              system information.
          """
          # A quick way of getting a list of working chips
          p2p_tables = self.get_p2p_routing_table(x, y)
  
          # Calculate the extent of the system
          max_x = max(x_ for (x_, y_), r in iteritems(p2p_tables)
                      if r != consts.P2PTableEntry.none)
          max_y = max(y_ for (x_, y_), r in iteritems(p2p_tables)
                      if r != consts.P2PTableEntry.none)
  
          sys_info = SystemInfo(max_x + 1, max_y + 1)
  
          for (x, y), p2p_route in iteritems(p2p_tables):
              if p2p_route != consts.P2PTableEntry.none:
                  try:
                      sys_info[(x, y)] = self.get_chip_info(x, y)
                  except SCPError:
                      # The chip was listed in the P2P table but is not
                      # responding. Assume it is dead and don't include it in
                      # the info returned.
                      pass
  
          return sys_info