code: def check_support_user_port(cls, hw_info_ex):
          
          return ((hw_info_ex.m_dwProductCode & PRODCODE_MASK_PID) != ProductCode.PRODCODE_PID_BASIC) \
                 and ((hw_info_ex.m_dwProductCode & PRODCODE_MASK_PID) != ProductCode.PRODCODE_PID_RESERVED1) \
                 and cls.check_version_is_equal_or_higher(hw_info_ex.m_dwFwVersionEx, 2, 16)
docs: Checks whether the module supports a user I/O port.
  
          :param HardwareInfoEx hw_info_ex:
              Extended hardware information structure (see method :meth:`get_hardware_info`).
          :return: True when the module supports a user I/O port, otherwise False.
          :rtype: bool