I've rewritten the objects as follows:
-- The Input Switching Group
--
-- The input switching group allows the administrator to set the
-- input subunit timeout for the printer and to control the automatic
-- input subunit switching by the printer when an input subunit becomes
-- empty.
--
-- This group is optional. However, to claim conformance to this group,
-- it is required to implement every object in the group.
prtInputMediaLoadTimeout OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-write
MIN-ACCESS read-only
STATUS current
DESCRIPTION
"When the printer is not able to print due to a subunit being
empty or the requested media must be manually loaded, the printer
will wait for the duration (in seconds) specified by this object.
Upon expiration of the timeout, the printer will take the action
specified by prtInputNextIndex.
The event which causes the printer to enter the waiting state
is product specific. If the printer is not waiting for manually
fed media, it may switch from an empty subunit to a different
subunit without waiting for the timeout to expire.
A value of (-1) implies 'other' or
'infinite' which translates to 'wait forever'. The action which
causes printing to continue is product specific.
A value of (-2) implies 'unknown'."
::= { prtInputEntry 24 }
prtInputNextIndex OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-write
MIN-ACCESS read-only
STATUS current
DESCRIPTION
"The value of prtInputIndex corresponding to the input subunit
which will be used when this input subunit is emptied and the
timeout specified by prtInputMediaLoadTimeout expires. A value
of zero(0) indicates that auto input switching will not occur
when this input subunit is emptied. If the timeout specified by
prtInputLoadMediaTimeout expires and this value is zero(0), the
job will be aborted."
::= { prtInputEntry 26 }
I changed prtInputMediaLoadTimeout so that it just describes the timeout,
when the timeout applies and what causes printing to continue when the
timeout is infinite. prtInputNextIndex specifies what happens when the
timeout expires. My original changes can be still be found at
ftp://ftp.pwg.org/pub/pwg/pmp/contributions/inputsw.doc while this round of
changes are at ftp://ftp.pwg.org/pub/pwg/pmp/contributions/inputsw2.doc
(both Word documents with revision marks).
Hopefully, this gets us closer to the correct wording. What do you think?
Bob Pentecost
HP
----------
From: Caruso,Angelo[SMTP:Angelo_Caruso at wb.xerox.com]
Sent: Thursday, February 13, 1997 11:17 AM
To: Bob Pentecost; "pmp at pwg.org"
Cc: "'Smith, Brad'"
Subject: RE: PMP> The Input Switching Group
Bob,
I agree with you 100% regarding your description of how things actually
work. But, I think that relying on the sentence "The event which
causes the printer to
enter the waiting state is product specific" will lead to confusion
later. The descriptions for the objects as they current stand apply to
the manual feed case as you described it. But, they totally contradict
the behavior for the normal paper trays. I think they need to be
re-written to describe the normal paper tray behavior, with a couple
of extra sentences that describe the exceptional behavior for the
manual feed case.
Angelo
----------
From: Bob Pentecost
To: "pmp at pwg.org"; "'Caruso,Angelo'"
Cc: "'Smith, Brad'"
Subject: RE: PMP> The Input Switching Group
Date: Wednesday, February 12, 1997 4:31PM
Angelo,
After talking to someone today about the objects in the Input Switching
Group, I reread your mail and think I know where our confusion is coming
from.
You wrote:
> The only issue I have left is that in my experience we would
> apply prtInputNextIndex first when the tray goes empty. Then, if it's
> value is zero, we would apply prtInputMediaLoadTimeout. According to
> the current description for the timeout it's the other way round --
> timeout first, then switch. This does not make sense to me.
HP printers automatically switch to a new tray if it has the same media as
a tray that empties. We would apply the timeout only in the case that there
is not matching media anywhere in the printer.
This object originated with manual feed requests, its intention was to wait
for the manual feed and then switch to another tray when the timeout
expires. Your preference to switch first, then timeout doesn't allow time
to complete the manual feed request. However, for the case of running out
of media in a tray, I agree that you'd want to switch right away.
I think both of our implementations would be legal because
prtInputMediaLoadTimeout specifies "The event which causes the printer to
enter the waiting state is product specific."
If a user specifies prtInputNextIndex = 0, then the timeout should be -1
unless they want the job to abort when prtInputMediaLoadTimeout expires.
I have changed the objects in the Input Switching Group and upload a Word
file with the revisions marked. You can find it at
ftp://ftp.pwg.org/pub/pwg/pmp/contributions/inputsw.doc.
Let me know what you think.
Bob Pentecost
HP
----------
From: Caruso,Angelo[SMTP:Angelo_Caruso at wb.xerox.com]
Sent: Monday, January 27, 1997 5:21 PM
To: pmp at pwg.org
Subject: RE: PMP> The Input Switching Group
Bob,
I agree, there are too many objects. I think we both agree on the
objects we need to keep (though I may have confused you with my
previous message on this subject). To summarize, I think we need to keep
prtInputMediaLoadTimeout and
prtInputNextIndex.
And, we should remove prtInputAutoSwitch.
This will require that we wordsmith the descriptions for the objects we
keep. The only issue I have left is that in my experience we would
apply prtInputNextIndex first when the tray goes empty. Then, if it's
value is zero, we would apply prtInputMediaLoadTimeout. According to
the current description for the timeout it's the other way round --
timeout first, then switch. This does not make sense to me.
I think we need people to respond with their implementation experience.
Do most printers check to see if they should autoswitch first, then
apply the timeout? Or do most printers timeout first, then decide if
they should autoswitch?
Any other opinions?
Thanks,
Angelo
----------
From: pmp-owner at pwg.org
To: "'Caruso,Angelo'"
Cc: Bob Pentecost; "pmp at pwg.org"
Subject: RE: PMP> The Input Switching Group
Date: Thursday, January 23, 1997 5:31PM
Angelo,
Looking at the definitions of prtInputManualFeedTimeout (which is supposed
to be prtInputMediaLoadTimeout), prtInputAutoSwitch and your new definition
of prtInputNextIndex, it looks like we've got too many controls for what we
need to do.
The objective is to have a timeout when the needed media is not available.
The timeout requirement is satisfied by prtInputMediaLoadTimeout. The
action to be taken can be controlled by prtInputNextIndex, as you've
defined it if you change the wording to "A value of zero(0) indicates that
auto input switching will not occur and the job will be aborted when this
input subunit is emptied." I don't see the need for prtInputAutoSwitch to
control switching, when prtInputNextIndex can determine the action to be
taken.
You claim that prtInputNextIndex is not necessary, but you don't explain
why. I see that it is needed for the printers that wish to allow the next
input subunit to be configurable. For HP printers, we would support only
values of zero and -2 since we don't know which tray we will switch to
until the load media request is generated.
When we discussed this at the meeting on Friday afternoon, I didn't realize
that there were multiple controls. This looks like a case where we can do
some simplification, but let's not delete the wrong object.
Let me know if I'm missing something.
Bob Pentecost
HP
prtInputManualFeedTimeout OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-write
MIN-ACCESS read-only
STATUS current
DESCRIPTION
"The duration (in seconds) after which the printer shall
either:
(a) switch to another input subunit, if the value of
prtInputNextIndex is non-zero and prtInputAutoSwitch
is on(3)
or
(b) abort any job waiting for manually fed input, if the
value of prtInputNextIndex is zero or
prtInputAutoSwitch is off(4) or notPresent(5).
The event which causes the printer to enter the waiting state
is product specific. A value of (-1) implies 'other' or
'infinite' which translates to 'this input subunit doesn't
support manual feed'. A value of (-2) implies 'unknown'."
::= { prtInputEntry 24 }
prtInputAutoSwitch OBJECT-TYPE
SYNTAX PresentOnOff
MAX-ACCESS read-write
MIN-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the state of the auto input switching feature. The
value notPresent(5) indicates the feature is not currently
supported. Exact behavior of this feature is product specific."
::= { prtInputEntry 25 }
----------
From: Caruso,Angelo[SMTP:Angelo_Caruso at wb.xerox.com]
Sent: Monday, January 13, 1997 5:19 PM
To: pmp at pwg.org
Subject: PMP> The Input Switching Group
One of my action items from the Albuquerque meeting is to refine and
justify the new objects in the Input Switching Group. Here is my first
crack at refining these objects:
prtInputNextIndex OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-write
MIN-ACCESS read-only
STATUS current
DESCRIPTION
"The value of prtInputIndex corresponding to the input subunit
which will be used when this input subunit is emptied. A value
of zero(0) indicates that auto input switching will not occur
when this input subunit is emptied. A value of (-1) means other.
The value (-2) means 'unknown' and specifically indicates that
an implementation specific method will determine the next input
subunit to use at the time this subunit is emptied. The value
(-3) means input switching is not supported for this subunit."
Based on the new description above, I am once again of the opinion that
the prtInputAutoSwicth object is uneccessary. Did I forget anything
from the discussion Friday afternoon? Any other comments?
Thanks,
Angelo