def printDeviceSummary(cls, printer=None):
        """
        Print device summary - inputs followed by outputs.
        """
        if printer is None:
            def printer(line):
                print line
        printer('Inputs:')
        for devno in cls.inputs:
            printer('... %d %r' % (devno, cls.inputNames[devno]))
        printer('Outputs:')
        for devno in cls.outputs:
            printer('... %d %r' % (devno, cls.outputNames[devno]))