code: def hardware_info(self, mask=0xFFFFFFFF):
          
          buf = (ctypes.c_uint32 * 32)()
          res = self._dll.JLINKARM_GetHWInfo(mask, ctypes.byref(buf))
          if res != 0:
              raise errors.JLinkException(res)
          return list(buf)
docs: Returns a list of 32 integer values corresponding to the bitfields
          specifying the power consumption of the target.
  
          The values returned by this function only have significance if the
          J-Link is powering the target.
  
          The words, indexed, have the following significance:
            0. If ``1``, target is powered via J-Link.
            1. Overcurrent bitfield:
               0: No overcurrent.
               1: Overcurrent happened.  2ms @ 3000mA
               2: Overcurrent happened.  10ms @ 1000mA
               3: Overcurrent happened.  40ms @ 400mA
            2. Power consumption of target (mA).
            3. Peak of target power consumption (mA).
            4. Peak of target power consumption during J-Link operation (mA).
  
          Args:
            self (JLink): the ``JLink`` instance
            mask (int): bit mask to decide which hardware information words are
              returned (defaults to all the words).
  
          Returns:
            List of bitfields specifying different states based on their index
            within the list and their value.
  
          Raises:
            JLinkException: on hardware error.