1461116922-aac1a22a-0261-4033-bc57-b430d6c40419

1. A graphical code reader, comprising:
a processor;
memory in electronic communication with the processor, wherein the memory is used for storing a digital image of a graphical code;
a plurality of decoders, wherein each decoder of the plurality of decoders is configured to decode at least one graphical code symbology, and wherein different decoders are configured to decode different graphical code symbologies; and
a decoder manager that implements a method comprising:
identifying a most recently successful decoder from the plurality of decoders, wherein the most recently successful decoder decoded a most recently decoded graphical code; and
instructing the most recently successful decoder to process the digital image before instructing any other decoder to process the digital image, wherein in response the most recently sucessful decoder processes the digital image before any other decoder processes the digital image.
2. The graphical code reader of claim 1, wherein if the most recently successful decoder does not decode the graphical code, the method further comprises repeatedly selecting a different decoder from the plurality of decoders to process the digital image until the graphical code is decoded or each of the plurality of decoders has processed the digital image.
3. The graphical code reader of claim 1, wherein the method further comprises stopping processing of the digital image after a defined time period.
4. The graphical code reader of claim 1, wherein the method further comprises, for each decoder that is tried, stopping processing of the digital image by the decoder after a defined time period.
5. A graphical code reader, comprising:
a processor:
memory in electronic communication with the processor, wherein the memory is used for storing a digital image of a graphical code;
a plurality of decoders, wherein each decoder of the plurality of decoders is configured to decode at least one graphical code symbology; and
a decoder manager that implements a method comprising:
identifying a most recently successful decoder from the plurality of decoders, wherein the most recently successful decoder decoded a most recently decoded graphical code; and
instructing the most recently successful decoder to process the digital image before instructing any other decoder to process the digital image;

wherein if the most recently successful decoder does not decode the graphical code, the method further comprises repeatedly selecting a different decoder from the plurality of decoders to process the digital image until the graphical code is decoded or each of the plurality of decoders has processed the digital image, and wherein the plurality of decoders are selected in order of increasing time since a most recent decode.
6. A graphical code reader, comprising:
a processor;
memory in electronic communication with the processor, wherein the memory is used for storing a digital image of a graphical code;
a plurality of decoders, wherein each decoder of the plurality of decoders is configured to decode at least one graphical code symbology; and
a decoder manager that implements a method comprising:
identifying a most recently successful decoder from the plurality of decoders, wherein the most recently successful decoder decoded a most recently decoded graphical code; and
instructing the most recently successful decoder to process the digital image before instructing any other decoder to process the digital image;

wherein the plurality of decoders comprise:
an active set of decoders; and
an archived set of decoders.
7. The graphical code reader of claim 6, wherein if the most recently successful decoder does not decode the graphical code, the method further comprises repeatedly instructing a different decoder from the active set of decoders to process the digital image until the graphical code is decoded or each decoder in the active set of decoders has processed the digital image.
8. The graphical code reader of claim 7, wherein if each decoder in the active set of decoders processes the digital image without decoding the graphical code, the method further comprises:
determining whether a condition has been satisfied for using the archived set of decoders;
if the condition has been satisfied, repeatedly instructing a different decoder from the archived set of decoders to process the digital image until the graphical code is decoded or each decoder in the archived set of decoders has processed the digital image; and
if the condition has not been satisfied, not instructing any decoder in the archived set of decoders to process the digital image.
9. The graphical code reader of claim 8, wherein the condition is that N most recent digital images captured by the graphical code reader have not been decoded.
10. The graphical code reader of claim 6, wherein if a decoder in the active set processes but does not decode the graphical code, the method further comprises:
determining whether a condition has been satisfied for moving the decoder from the active set of decoders to the archived set of decoders; and
if the condition has been satisfied, moving the decoder from the active set of decoders to the archived set of decoders.
11. The graphical code reader of claim 10, wherein the condition is that the decoder has not decoded any of N most recent digital images captured by the graphical code reader.
12. A graphical code reader, comprising:
a processor:
memory in electronic communication with the processor, wherein the memory is used for storing a digital image of a graphical code;
a plurality of decoders, wherein each decoder of the plurality of decoders is configured to decode at least one graphical code symbology; and
a decoder manager that implements a method comprising:
identifying a most recently successful decoder from the plurality of decoders, wherein the most recently successful decoder decoded a most recently decoded graphical code;
instructing the most recently successful decoder to process the digital image before instructing any other decoder to process the digital image; and
stopping processing of the digital image after a defined time period, wherein the defined time period corresponds to an estimate of high probability decoding time.
13. A graphical code reader, comprising:
a processor;
memory in electronic communication with the processor, wherein the memory is used for storing a digital image of a graphical code;
a plurality of decoders, wherein each decoder of the plurality of decoders is configured to decode at least one graphical code symbology; and
a decoder manager that implements a method comprising:
identifying a most recently successful decoder from the plurality of decoders, wherein the most recently successful decoder decoded a most recently decoded graphical code;
instructing the most recently successful decoder to process the digital image before instructing any other decoder to process the digital image; and
for each decoder that is tried, stopping processing of the digital image by the decoder after a defined time period, wherein the defined time period for a particular decoder corresponds to an estimate of high probability decoding time for that decoder.
14. In a graphical code reader, a method comprising:
identifying a most recently successful decoder from a plurality of decoders, wherein each decoder of the plurality of decoders is configured to decode at least one graphical code symbology, wherein different decoders are configured to decode different graphical code symbologies, and wherein the most recently successful decoder decoded a most recently decoded graphical code; and
instructing the most recently successful decoder to process a digital image of a graphical code before instructing any other decoder to process the digital image, wherein in response the most recently successful decoder processes the digital image before any other decoder processes the digital image.
15. The method of claim 14, wherein if the most recently successful decoder does not decode the graphical code, the method further comprises repeatedly instructing a different decoder from the plurality of decoders to process the digital image until the graphical code is decoded or each of the plurality of decoders has processed the digital image.
16. The method of claim 14, wherein the method further comprises stopping processing of the digital image after a defined time period.
17. The method of claim 14, further comprising, for each decoder that is tried, stopping processing of the digital image by the decoder after a defined time period.
18. In a graphical code reader, a method comprising:
identifying a most recently successful decoder from a plurality of decoders, wherein each decoder of the plurality of decoders is configured to decode at least one graphical code symbology, and wherein the most recently successful decoder decoded a most recently decoded graphical code;
instructing the most recently successful decoder to process a digital image of a graphical code before instructing any other decoder to process the digital image; and
if the most recently successful decoder does not decode the graphical code, repeatedly instructing a different decoder from the plurality of decoders to process the digital image until the graphical code is decoded or each of the plurality of decoders has processed the digital image, wherein the plurality of decoders is selected in order of increasing time since a most recent decode.
19. In a graphical code reader, a method comprising:
identifying a most recently successful decoder from a plurality of decoders, wherein each decoder of the plurality of decoders is configured to decode at least one graphical code symbology, and wherein the most recently successful decoder decoded a most recently decoded graphical code; and
instructing the most recently successful decoder to process a digital image of a graphical code before instructing any other decoder to process the digital image;
wherein the plurality of decoders comprise:
an active set of decoders; and
an archived set of decoders.
20. The method of claim 19, wherein if the most recently successful decoder does not decode the graphical code, the method further comprises repeatedly instructing a different decoder from the active set of decoders to process the digital image until the graphical code is decoded or each decoder in the active set of decoders has processed the digital image.
21. The method of claim 20, wherein if each decoder in the active set of decoders processes the digital image without decoding the graphical code, the method further comprises:
determining whether a condition has been satisfied for using the archived set of decoders;
if the condition has been satisfied, repeatedly instructing a different decoder from the archived set of decoders to process the digital image until the graphical code is decoded or each decoder in the archived set of decoders has processed the digital image; and
if the condition has not been satisfied, not instructing any decoder in the archived set of decoders to process the digital image.
22. The method of claim 21, wherein the condition is that N most recent digital images captured by the graphical code reader have not been decoded.
23. The method of claim 19, wherein if a decoder in the active set processes but does not decode the graphical code, the method further comprises:
determining whether a condition has been satisfied for moving the decoder from the active set of decoders to the archived set of decoders; and
if the condition has been satisfied, moving the decoder from the active set of decoders to the archived set of decoders.
24. The method of claim 23, wherein the condition is that the decoder has not decoded any of N most recent digital images captured by the graphical code reader.
25. In a graphical code reader, a method comprising:
identifying a most recently successful decoder from a plurality of decoders, wherein each decoder of the plurality of decoders is configured to decode at least one graphical code symbology, and wherein the most recently successful decoder decoded a most recently decoded graphical code;
instructing the most recently successful decoder to process a digital image of a graphical code before instructing any other decoder to process the digital image; and
stopping processing of the digital image after a defined time period, wherein the defined time period conesponds to an estimate of high probability decoding time.
26. In a graphical code reader, a method comprising:
identifying a most recently successful decoder from a plurality of decoders, wherein each decoder of the plurality of decoders is configured to decode at least one graphical code symbology, and wherein the most recently successful decoder decoded a most recently decoded graphical code;
instructing the most recently successful decoder to process a digital image of a graphical code before instructing any other decoder to process the digital image; and
for each decoder that is tried, stopping processing of the digital image by the decoder after a defined time period, wherein the defined time period for a particular decoder corresponds to an estimate of high probability decoding time for that decoder.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. An electric motor comprising:
a yoke housing;
a gear housing that is formed separately from the yoke housing and is fixed to the yoke housing; and
a brush holder that is placed between the yoke housing and the gear housing and includes:
a holder member that is installed to an opening of the yoke housing and holds a plurality of brushes; and
a base member that is formed separately from the holder member and is installed to the holder member, wherein:

the base member includes a connector configured to connect with an external connector to receive an electric power;
an output side end part of the yoke housing has a flange portion, through which the gear housing is fixed to the yoke housing;
the holder member includes a contact portion that contacts an opening end portion of the yoke housing in an axial direction of a rotatable shaft, which is rotatably received in the yoke housing; and
the contact portion is axially spaced from the base member by an axial gap.
2. The electric motor according to claim 1, wherein the base member is displaceable relative to the holder member in the axial direction.
3. The electric motor according to claim 1, further comprising an elastic member, which is placed in a compressed state between the holder member and the base member.
4. The electric motor according to claim 3, wherein:
the base member has a seal member, which is configured into a loop form and contacts the flange portion of the yoke housing; and
the elastic member is formed integrally with the seal member.
5. The electric motor according to claim 1, wherein the contact portion is one of at least two contact portions, which are opposed to each other about an axis of the rotatable shaft.
6. The electric motor according to claim 1, wherein:
each of the holder member and the gear housing includes a positioning portion to position the holder member and the gear housing relative to each other; and
the positioning portion of the holder member and the positioning portion of the gear housing are engaged with each other in a direction perpendicular to the axial direction.
7. The electric motor according to claim 1, wherein:
the holder member has one of a fitting hole and a fitting projection, which are fitted with each other in the axial direction; and
the gear housing has the other one of the fitting hole and the fitting projection.
8. The electric motor according to claim 1, wherein:
the yoke housing receives an armature, through which the rotatable shaft extends to rotate integrally with the armature;
a commutator is fixed to the rotatable shaft on a distal end side of the armature to rotate integrally with the rotatable shaft;
the plurality of brushes slidably contact the commutator;
the gear housing receives a worm shaft and a worm wheel, which are meshed with each other; and
the worm shaft is rotated upon receiving a rotational drive force from the rotatable shaft to rotate the worm wheel.