Method, system and apparatus for gesture-based configuration of paired scanner

A method for gesture-based configuration of a data capture device includes: storing, in a memory connected to a processor, a plurality of configuration definitions each defining (i) a gesture, and (ii) a corresponding configuration parameter; at a processor, monitoring an input device for a configuration activation input; responsive to detection of the configuration activation input, activating a configuration control mode at the processor; responsive to activation of the configuration control mode, detecting an input gesture at the processor; selecting one of the configuration definitions defining the gesture that matches the input gesture; updating a current configuration of the data capture device with the corresponding configuration parameter of the selected configuration definition.

BACKGROUND

Certain data capture devices, such as handheld barcode scanners, lack displays and include limited inputs. Such devices may nevertheless have a variety of configurable functions. Configuring such devices may therefore be a time-consuming an error-prone process, for example requiring the retrieval and scanning of specific barcodes encoding configuration changes.

DETAILED DESCRIPTION

Examples disclosed herein are directed to a method for gesture-based configuration of a data capture device, the method comprising: storing, in a memory connected to a processor, a plurality of configuration definitions each defining (i) a gesture, and (ii) a corresponding configuration parameter; at a processor, monitoring an input device for a configuration activation input; responsive to detection of the configuration activation input, activating a configuration control mode at the processor; responsive to activation of the configuration control mode, detecting an input gesture at the processor; selecting one of the configuration definitions defining the gesture that matches the input gesture; and updating a current configuration of the data capture device with the corresponding configuration parameter of the selected configuration definition.

Additional examples disclosed herein are directed to a system comprising: a mobile computer; and a data capture device external to the mobile computer and communicatively coupled with the mobile computer; the data capture device configured to capture data according to a current configuration and transmit the captured data to the mobile computer; a memory storing a plurality of configuration definitions for the data capture device, each configuration definition defining (i) a gesture, and (ii) a corresponding configuration parameter; a controller configured to detect a configuration activation input, and responsive to detection of the configuration activation input, to activate a configuration control mode at the controller; the controller further configured, responsive to activation of the configuration control mode, to detect an input gesture via a motion sensor coupled to the controller; the controller further configured to select one of the configuration definitions defining the gesture that matches the input gesture, and to update the current configuration of the data capture device with the corresponding configuration parameter of the selected configuration definition.

Further examples disclosed herein are directed to a mobile computer, comprising: a data capture module; a memory storing a plurality of configuration definitions for the data capture module, each configuration definition defining (i) a gesture, and (ii) a corresponding configuration parameter for the data capture module;

a motion sensor; a processor connected to the memory, the data capture module and the motion sensor; the processor configured to detect a configuration activation input and responsive to detection of the configuration activation input, to activate a configuration control mode; the processor further configured, responsive to activation of the configuration control mode, to monitor the motion sensor to detect an input gesture; the processor further configured to select one of the configuration definitions defining the gesture that matches the input gesture; the processor further configured to update a current configuration of the data capture module with the corresponding configuration parameter of the selected configuration definition.

FIG. 1depicts a system100including a computing device, which in the illustrated embodiment is a mobile computer104. The mobile computer104is illustrated as a wearable computer (e.g. a wrist-mounted computer). In other embodiments, however, the mobile computer104can have another suitable form-factor, including that of a smart phone, a laptop computer, a tablet computer, or the like. In further embodiments, the computing device need not be mobile. That is, the mobile computer104can be replaced with a desktop computer or the like.

The system100also includes at least one data capture device108. In the present example, two data capture devices108-1and108-2(collectively referred to as data capture devices108, and generically referred to as a data capture device108—this nomenclature also employed for other components herein). The data capture devices108are configured to obtain data from machine-readable indicia such as barcodes affixed to objects such as packages. (not shown). The data capture devices108are therefore also referred to as scanners108. Each scanner108includes a housing112-1,112-2supporting a data capture assembly, of which an imaging window116-1,116-2is shown. The imaging windows116permit the entry of light into the housing112for capture by an imaging sensor. The windows116also permit the emission of light, such as one or more lines of laser light, from the housing112. In other words, the scanners108can implemented any suitable barcode-scanning technology, including both laser-based and image-based.

Each scanner108also includes a trigger input, such as a trigger button120-1,120-2. Depression of the trigger button120causes the scanner108to initiate a capture process, and to decode data from an indicium captured during the capture process. The decoded data is transmitted by the scanner108to the mobile computer104. In particular, the scanner108-1includes a connector cable122-1and a connector123-1configured to connect to the mobile computer104via a port124to establish a wired communications link with the mobile computer104. The scanner108-2includes a wireless communications interface (not shown inFIG. 1) configured to establish a wireless communications link126with the mobile computer104.

The scanners108are shown in the illustrated embodiment as hand-worn scanners, for example include straps128-1,128-2for securing the respective scanners108to a hand (e.g. one or more fingers) of an operator (not shown). In other examples, the straps128can be omitted, and the scanners108can include handles, clips or the like. The scanners108also include, in the illustrated embodiment, indicator output devices, such as indicator lights132-1,132-2(e.g. one or more light-emitting diode (LED)). In other embodiments, the scanners108can include other indicator output devices in addition to or instead of the lights132, such as speakers, haptic feedback devices (e.g. a motor for vibrating the housing112). Further, in some embodiments the scanners108can include additional input devices, such as a key136-2shown on the scanner108-2. The scanner108-1does not include a key136in the illustrated embodiment, although in other embodiments the scanner108-1may also include a key136.

The scanners108are configurable according to a plurality of configuration parameters that determine the scanning behavior of the scanners108, as well as power state, operational modes, and the like. For example, a configuration parameter may control which one or subset of a set of supported barcode symbologies a scanner108is currently configured to capture. As illustrated inFIG. 1, the scanners108lack displays and include relatively limited inputs (e.g. the buttons120and136-2) in comparison to the mobile computer104, which includes output devices in the form of a display140and a speaker144as well as inputs in the form of a microphone148and a plurality of buttons152.

The above-mentioned output and input devices of the mobile computer104may be employed to configure the scanners108. However, as will be discussed in greater detail below, the mobile computer104and the scanners108are also configured to implement gesture-based configuration of the scanners108, in which either the mobile computer104or the scanner108detects a gesture and updates a corresponding configuration parameter at the scanner108.

Turning toFIGS. 2A-2C, before a discussion of the functionality implemented by the mobile computer104and the scanners108, certain internal components of the mobile computer104and the scanners108-1and108-2will be discussed.

Referring toFIG. 2A, the mobile computer104includes a central processing unit (CPU), also referred to as a processor200, interconnected with a non-transitory computer readable storage medium, such as a memory204. The memory204includes a suitable combination of volatile memory (e.g. Random Access Memory (RAM)) and non-volatile memory (e.g. read only memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash). The processor200and the memory204each comprise one or more integrated circuits (ICs).

The components of the mobile computer104shown inFIG. 1(e.g. the display150, speaker144, microphone148and inputs152) are interconnected with the processor200via one or more communication buses. The mobile computer104also includes a communications interface208enabling the mobile computer104to exchange data with other devices, including the scanner108-1and the scanner108-2. The communications interface208therefore includes any suitable hardware (e.g. transmitters, receivers, network interface controllers and the like) allowing the device104to communicate with such devices. The communications interface208is therefore also connected to the port124. In some embodiments, distinct interfaces (rather than a single interface208as shown inFIG. 2A) may be employed to establish wired and wireless connections with other devices.

The mobile computer104further includes a motion sensor212. The motion sensor212includes, for example, an inertial measurement unit (IMU) including one or more accelerometers and one or more gyroscopes. The motion sensor212is configured to detect acceleration of the mobile computer104(indicating movement) as well as changes in orientation of the mobile computer104, and to transmit data indicating such movement and orientation to the processor200.

The components of the mobile computer104are interconnected by the above-mentioned communication buses, and powered by a battery or other power source, over the communication buses or by distinct power buses (not shown).

The memory204stores a plurality of applications, each including a plurality of computer readable instructions executable by the processor200. The execution of the above-mentioned instructions by the processor200causes the mobile computer104to implement certain functionality, as discussed herein. The applications are therefore said to be configured to perform that functionality in the discussion below. In the present example, the memory204of the mobile computer104stores a scanner host application216, also referred to herein as the application216. The mobile computer104is configured, via execution of the application216by the processor200, to establish communications with a scanner108, as well as to receive (e.g. for further processing, transmission to a server, presentation on the display140, or the like) decoded data extracted by the scanner108from indicia such as barcodes.

The memory204also stores a scanner configuration control application220, also referred to herein as the application220. The mobile computer104is configured, via execution of the application220, to process data from the motion sensor212to detect predefined gestures, and to generate updated configuration parameters for transmission to a connected scanner108according to the detected gesture(s). In other words, the application220is configured to alter the configuration of a scanner108connected to the mobile computer104. The predefined gestures, and corresponding configuration updates, are stored in a configuration definitions repository224, the contents of which will be discussed in greater detail below.

In some embodiments, the applications216and220are combined. For example, the application220can be implemented as a component of the application216. In further embodiments, the processor200, as configured by the execution of the applications216and220, is implemented as one or more specifically-configured hardware elements, such as field-programmable gate arrays (FPGAs) and/or application-specific integrated circuits (ASICs).

Referring toFIG. 2B, the scanner108-1includes a central processing unit (CPU), also referred to as a processor250-1, interconnected with a non-transitory computer readable storage medium, such as a memory254-1. The memory254-1includes a suitable combination of volatile memory (e.g. Random Access Memory (RAM)) and non-volatile memory (e.g. read only memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash). The processor250-1and the memory254-1each comprise one or more integrated circuits (ICs).

The components of the scanner108-1shown inFIG. 1(e.g. the trigger120-1and the light132-1) are interconnected with the processor250-1via one or more communication buses. The scanner108-1also includes a communications interface258-1enabling the scanner108-1to exchange data with other devices, including the mobile computer104. The communications interface258-1includes, in the illustrated embodiment, suitable hardware (e.g. network interface controllers, input/output pins and the like) allowing the scanner108-1to communicate with the mobile computer104via the cable122-1and the connector123-1. In other embodiments, the interface258-1can be a wireless interface rather than a wired interface, and the cable122-1and connector123-1can be replaced by one or more wireless transceiver assemblies (not shown).

The scanner108-1also includes a data capture module264-1configured to capture indicia (e.g. 1D or 2D barcodes) and provide the indicia, or data decoded from the indicia, to the processor250-1for transmission to the mobile computer104. The data capture module264-1, in the present example, is a barcode scanning assembly and therefore includes one or more of a laser-based barcode scanner, a digital image sensor and the like. In other examples, the indicia may include radio frequency-based tags such as near field communication (NFC) tags or radio-frequency identification (RFID) tags. In such embodiments, the data capture module264-1includes one or more RFID transceiver assemblies for interrogating the above-mentioned tags.

The components of the scanner108-1are interconnected by communication buses, and powered by a battery or other power source, over the above-mentioned communication buses or by distinct power buses (not shown).

The memory254-1of the scanner108-1stores a plurality of applications, each including a plurality of computer readable instructions executable by the processor250-1. The execution of the above-mentioned instructions by the processor250-1causes the scanner108-1to implement certain functionality, as discussed herein. The applications are therefore said to be configured to perform that functionality in the discussion below. In the present example, the memory254-1of the scanner108-1stores a scanning application266-1, also referred to herein as the application266-1. The scanner108-1is configured, via execution of the application266-1by the processor250-1, to control the data capture module264-1according to a set of configuration parameters (e.g. stored with the application266-1) to capture indicia such as barcodes, and to transmit data extracted from the captured indicia to the mobile computer104.

In other examples, the processor250-1, as configured by the execution of the application266-1, is implemented as one or more specifically-configured hardware elements, such as field-programmable gate arrays (FPGAs) and/or application-specific integrated circuits (ASICs).

Turning toFIG. 2C, the scanner108-2includes a processor250-2interconnected with a memory254-2as described above in connection with the scanner108-1. The scanner108-2also includes a communications interface258-2, which in the present embodiment enables wireless communication with the mobile computer104. For example, the interface258-2can include one or more wireless transceivers implementing a wireless communications standard such as Bluetooth™ or the like. In other embodiments, the interface258-2can be a wired interface, enabling the scanner108-2to communicate with the mobile computer104via a cable and a connector as discussed in connection with the scanner108-1.

The scanner108-2also includes a motion sensor262-2including, for example, an inertial measurement unit (IMU) including one or more accelerometers and one or more gyroscopes. The motion sensor262-2is configured to detect acceleration of the scanner108-2(indicating movement) as well as changes in orientation of the scanner108-2, and to transmit data indicating such movement and orientation to the processor250-2. The scanner108-2further includes a data capture module264-2, configured to capture and decode indicia such as barcodes (as discussed above in connection with the data capture module264-1).

The memory254-2of the scanner108-2stores a plurality of applications, each including a plurality of computer readable instructions executable by the processor250-2. The execution of the above-mentioned instructions by the processor250-2causes the scanner108-2to implement certain functionality, as discussed herein. The applications are therefore said to be configured to perform that functionality in the discussion below. In the present example, the memory254-2of the scanner108-2stores a scanning application266-2, also referred to herein as the application266-2. The scanner108-2is configured, via execution of the application266-2by the processor250-2, to control the data capture module264-2according to a set of configuration parameters (e.g. stored with the application266-2) to capture indicia such as barcodes, and to transmit data extracted from the captured indicia to the mobile computer104.

The memory254-2also stores a scanner configuration control application270-2, also referred to herein as the application270-2. The scanner108-2is configured, via execution of the application270-2, to process data from the motion sensor262-2to detect predefined gestures, and to generate updated configuration parameters for the application266-2according to the detected gesture(s). The predefined gestures, and corresponding configuration updates, are stored in a configuration definitions repository274-2, the contents of which will be discussed in greater detail below.

As will now be apparent, the scanner108-2has motion-sensing capability and is therefore enabled to detect gestures and updated the configuration of the application266-2according to the repository274-2. The scanner108-1, on the other hand, lacks motion sensing capability and therefore also lacks a repository of predefined gestures and corresponding configuration parameters. As will be discussed below, the mobile computer104is therefore configured to deploy updated configuration parameters to the scanners108based on the capabilities of the scanners108, effectively enabling or disabling the functionality of the application220according to which scanner108is currently connected to the mobile computer104.

Turning toFIG. 3, a method300of gesture-based scanner configuration is illustrated. The method300will be described in conjunction with its performance in the system100. In particular, as indicated inFIG. 3, certain blocks of the method300are performed by the mobile computer104, while other blocks of the method300are performed by a scanner108(specifically, the scanner108-2).

At blocks305and310the mobile computer104and the scanner108-2are configured to establish a connection with each other, such as the wireless communications link126(e.g. a Bluetooth™ link) shown inFIG. 1. At block315, the mobile computer104is configured to determine whether the scanner with which a connection was established at block305(i.e. the scanner108-2, in this example performance of the method300) is enabled to control its own configuration parameters. In other words, the mobile computer104is configured to determine whether the scanner108-2includes a configuration control application. The determination at block315can include requesting data indicating the presence or absence of a configuration control application from the scanner108-2, consulting a database (e.g. in the memory204) of scanners108and indications of configuration capabilities, or the like. In the present example, the determination at block315is affirmative, as the scanner108-2include the configuration control application270-2. The mobile computer104therefore proceeds to block320, and disables the configuration control application220. As will be apparent in the discussion below, disabling the application220means that the mobile computer104will not generate updated configuration parameters for the scanner108-2according to gestures detected by the motion sensor212. Instead, configuration control will be left to the scanner108-2itself.

At block325, the scanner108-2is configured to scan (i.e. capture, decode and transmit indicia to the mobile computer104) according to a current configuration stored in association with the application266-2. The current configuration defines a plurality of configuration parameters, examples of which are discussed below in greater detail. The mobile computer104is configured to receive scan data from the scanner108-2(e.g. over the link126) at block330.

At block335, the scanner108-2is configured, e.g. via execution of the application266-2, whether a configuration control mode has been activated. The activation of a configuration control mode at the scanner108-2can be accomplished in a variety of ways. For example, depression of the key136-2(e.g. for a predefined time period, or in a predefined sequence, such as two consecutive presses) can cause an affirmative determination at block335. Other examples of inputs causing an affirmative determination at block335include a predefined configuration initiation gesture (e.g. a movement of the scanner108-2tracing the character alpha (“α”).

When the determination at block335is negative, the scanner108-2returns to block325, and continues scanning according to the current configuration. When the determination at block335is affirmative, however, the scanner108-2is configured to execute the application270-2, and proceeds to block340. In other words, following an affirmative determination at block335the scanner108-2is configured to switch from a scanning mode to a configuration mode.

At block340, in the configuration mode, via execution of the application270-2the processor250-2monitors data received from the motion sensor262-2for one of a plurality of predefined gestures. The predefined gestures are stored in the repository274-2, and can be expressed therein in any suitable format. Each predefined gesture corresponds to a configuration parameter in the repository274-2. If the scanner108-2detects a gesture that does not correspond to any of the predefined gestures in the repository274-2, the processor250-2can be configured to generate an error signal, such as flashing the light132-2in a predetermined color (e.g. red), vibrating a haptic feedback motor (not shown) in a predefined pattern, playing an error tone over a speaker (not shown) or the like.

When one of the gestures defined in the repository274-2is detected at block340, the scanner108-2proceeds to block345. At block345, the application270-2is configured to update a configuration parameter of the application266-2according to the gesture detected at block340. The configuration parameter updated at block345is defined in the repository274-2. An example repository274-2is shown below in Table 1.

As shown above, the repository274-2contains a plurality of configuration definitions, illustrated as rows of the Table 1. Each configuration definition defines a predefined gesture, indicating a movement path traveled by the housing112-2of the scanner108-2and therefore detectable by the motion sensor262-2. The example gestures shown above are presented for illustrative purposes only, and a wide variety of other gestures may be implemented in addition to or instead of those shown above (e.g. the gestures need not correspond to written characters). Each of the configuration definitions of the repository274-2also defines a corresponding configuration parameter. The configuration parameters may affect the operational behavior of the scanner108-2during scanning operations. For example, the first two records of Table 1 set a “scan mode” parameter to the value “continuous” and “single” respectively. A continuous scan mode, as will be apparent to those skilled in the art, causes the scanner108-2to automatically and continuously capture any indicia within the field of view of the window116-2, without requiring actuation of the trigger120-2. Single-scan mode, in contrast, causes the scanner108-2to perform a single capture operation in response to each actuation of the trigger120-2.

Another example of operational behavior controlled by the configuration parameters includes the toggling (i.e. switching to the opposite of the currently active state) of a pick list mode. The pick list mode enables the scanner108-2to capture a specific indicium (e.g. a barcode) from a plurality of indicia within the field of view of the window116-2(e.g. by projecting an aiming dot into the field of view and selecting the indicium coinciding with the aiming dot). A further example of operational behavior controlled by the configuration parameters includes a selection of the barcode symbology to be captured and decoded by the scanner108-2. For example, the gestures “Z” and “V”, respectively, cause the scanner108-2to capture and decode one-dimensional barcodes (e.g. Code 39 and the like) and two-dimensional barcodes (e.g. PDF417, QR codes and the like).

The configuration parameters may also affect the power state or operational mode of the scanner108-2. For example, the configuration definition containing the gesture “G” places the scanner108-2in a firmware update mode, discussed below in greater detail. Other examples of power states and operational modes include a gesture causing the scanner108-2to reboot, a gesture causing the scanner108-2to enable a debugging mode in which events are logged to the memory254-2for subsequent review, and a gesture toggling the connection mode employed to establish the link126between several available modes (e.g. corresponding to different communication protocols). An example of such modes include a human interface device (HID) mode in which the scanner108is configured to emulate an input device of the mobile computer104. Further examples of a connection mode include a serial synchronous interface (SSI) mode and a serial port profile (SPP) mode. In other embodiments, distinct gestures may be employed for each of the above-mentioned connection modes. For example, rather than a toggle between connection modes by repetition of the “□” gesture, three distinct gestures may be stored corresponding to the above-mentioned HID, SPP and SSI connection modes. Examples of such gestures are a phi character (φ), a sigma character (σ), and a lower-case “q” character, respectively.

At block345, updating the configuration of the scanner108-2can include writing an updated configuration parameter (such as an active symbology indicator) to a store defined by the application266-2. Updating the configuration of the scanner108-2can also include, for example in the case of operational mode or power state configuration changes, generating an instruction (via execution of the application270-2) for processing by the processor250-2to cause the defined power state or operational mode change.

When the configuration of the scanner108-2is updated at block345, the scanner108-2can also be configured to generate an output signal indicating the nature of the configuration change. For example, each configuration parameter can correspond to a predefined output signal such as a flashing of the light132-2in a predetermined color, sequence, frequency or the like. For example, toggling the pick list mode on can be signaled by flashing the light132-2green, while toggling the pick list mode off can be signaled by flashing the light132-2yellow. The output signals themselves may be defined in the repository274-2, or in the application266-2.

Following the performance of block345, the performance of the method300proceeds to block350, at which the scanner108-2is configured to determine whether the configuration mode activated at block335has been deactivated. Deactivation of the configuration mode can be caused by repeating the input that activated the configuration mode at block335. Thus, for example, a subsequent actuation of the key136-2can result in an affirmative determination at block350. In other examples, a distinct deactivation input is required to deactivate the configuration mode. For example, where the gesture “α” is employed to activate the configuration mode, a distinct gesture “β” can be employed to exit the configuration mode.

When the determination at block350is negative, monitoring of the motion sensor262-2for further configuration gestures continues at block340. When the determination at block350is affirmative, however, the scanner108-2is configured to return to block325and continue capturing scan data according to the current scan configuration (which now incorporates any changes made through the performance of blocks340and345).

Turning now toFIG. 4, a method400of gesture-based scanner configuration is illustrated. The method400will be described in conjunction with its performance in the system100. In particular, as indicated inFIG. 4, certain blocks of the method400are performed by the mobile computer104, while other blocks of the method300are performed by a scanner108(specifically, the scanner108-1). The blocks of the method400performed by the mobile computer104are an extension of the functionality of the mobile computer104shown inFIG. 3. Certain blocks of the method400are therefore also included in the method300, as will be discussed below. In general, the method400illustrates functionality implemented at the mobile computer104when the connected scanner (e.g. the scanner108-1in this example) does not have a local configuration control mode, as well as functionality implemented by the scanner108itself under such conditions.

Blocks305-315are as described above in conjunction with the method300. At block315, however, responsive to a negative determination the mobile computer104is configured to proceed to block420. At block420, configuration control is enabled. That is, the mobile computer104is configured to enable execution of the configuration control application220.

The scanner108-1is configured to obtain scan data for transmission to the mobile computer at block325(as discussed above), and the mobile computer104is configured to receive the scan data at block330, as discussed above. At block435, in contrast to the performance of method300described above in connection withFIG. 3, at block435the mobile computer104is configured to determine whether a configuration control mode has been activated. The determination at block435is as described above in conjunction with block335of the method300, except that the determination is performed at the mobile computer104(by virtue of the enablement of configuration control at block420). At block435, the mobile computer104is configured to monitor the motion sensor212for data indicating an alpha (“α”) gesture as noted above (that is, indicating that the housing of the mobile computer104has been moved to trace the shape of alpha character). In other embodiments, other activation inputs may be employed instead of, or in addition to, gesture inputs. For example combinations of key or button presses, selections of a scanner configuration option presented on the display140and the like, may be employed to activate the configuration control mode.

Following a negative determination at block435, the mobile computer104is configured to return to block330. When the determination at block435is affirmative, however, the mobile computer104proceeds to block440. At block440, as described above in connection with block340, the mobile computer104is configured (via execution of the application220) to monitor the motion sensor212for predefined gestures defined in the repository224. Each record in the repository224also defines a corresponding configuration parameter for the connected scanner108-1, as described in connection with the repository274-2. Table 2 illustrates an example repository224.

As will be apparent from Table 2, the configuration parameters in the repository224need not mirror those in the repository274-2, depending on the functionality of the scanner108-1. For example, the connection mode parameter is omitted from Table 2, as the scanner108-1is presumed to support only a single connection mode with the mobile computer104. In other examples, the repository224can also contain connection mode parameters such as those shown in Table 1. As a further example, an additional power state configuration parameter is shown in Table 2: detection of the gesture “W” causes the mobile computer to select the “wake” parameter for transmission to the scanner108-1, to wake the scanner108-1from a low-power state. In other examples, the repository274-2of the scanner108-2can contain, in addition to or instead of the “wake” gesture, a gesture (e.g. a “ε” gesture) configured to cause the scanner108-2to re-establish a wireless connection with the mobile computer104.

A further example configuration parameter shown in Table 2, but not present in the repository274-2of the scanner108-2is a toggle for a triggerless scan mode. When the triggerless scan mode is disabled, the scanner108-1is configured to conduct single or continuous scans according to the “scan mode” setting. When the triggerless scan mode is enabled, however, initiation of a scan operation is controlled by the mobile computer104itself rather than by the scanner108-1. For example, when the triggerless mode is enabled, the mobile computer104is configured, via execution of the application216, to monitor the motion sensor212for a predefined gesture to initiate a scan operation and send a scan command to the scanner108-1. Inputs other than a gesture may also be employed at the mobile computer104to initiate a scan at the scanner108-1(e.g. button or key presses, audio inputs captured by the microphone148and the like).

At block445, the mobile computer104is configured to transmit the updated configuration parameter corresponding to the gesture detected at block440to the scanner108-1. The mobile computer104is then configured, at block450, to determine whether the configuration control mode has been deactivated, for example via the mechanism discussed above in connection with block350of the method300. When the determination at block450is negative, performance of the method400returns to block440. When the determination at block450is affirmative, the mobile computer104returns to block330.

At block455, the scanner108-1is configured to determine whether one or more updated configuration parameters have been received from the mobile computer104. When the determination at block455is negative, the scanner108-1continues to collect scan data according to the current configuration at block325. When the determination at block455is affirmative, however, at block460the scanner108-1is configured to apply the updated configuration parameter(s) received from the mobile computer104. For example, the scanner108can be configured to store operational parameters (e.g. which symbologies to decode, scan mode or the like) in association with the application266-1and return to block325. When the configuration parameter(s) received from the mobile computer104include parameters causing the scanner108-1to change operational modes or power states (e.g. to transition from a low-power state to an active state, to reboot or the like), the scanner108-1is configured to execute the mode change or power state change specified by the configuration parameter. As discussed above in connection with block345, the scanner108-1can also be configured to generate a signal indicating the configuration change at block460.

Variations to the above systems and methods are contemplated. For example, in some embodiments, the performance of blocks315and320can be omitted. That is, the mobile computer104can be configured to enable configuration control regardless of whether the scanner108is also enabled with local configuration control. Thus, the scanner108-2, in the illustrated embodiment, may update configuration parameters locally and also receive updated configuration parameters from the mobile computer104.

In further embodiments, the scanner108-2may be configured to disconnect from the mobile computer104following a predetermined period of inactivity. At block335, while monitoring for an input activating the local configuration control mode, the scanner108-2can also be configured to monitor the motion sensor262-2for any movement of the scanner108-2beyond a threshold, and in response to such movement, re-establish the link126.

In some embodiments, updating a configuration parameter at the scanners108may require interaction with a further computing device. For example, if the firmware update gesture is detected at block340or440, a process may be initiated by which the mobile computer104obtains updated firmware from a server and deploys the firmware to the scanner108. Turning toFIG. 5, for example, a system100′ is illustrated, including the mobile computer104and the scanner108-2(the scanner108-1is not shown inFIG. 5), as well as a firmware server500. Responsive to selection of the firmware configuration parameter at the scanner108-2at block345, the scanner108-2can be configured to send a request “1” to the mobile computer via the link126for updated firmware. The request can include a current firmware version, an identifier of the scanner108-2and the like (alternatively, the mobile computer104can be configured to request such information from the scanner108-2). The mobile computer104is then configured to request current firmware for the scanner108-2from the server500, as indicated at “2”. The server500, responsive to the request from the mobile computer104, is configured to retrieve and send the corresponding firmware (“3”) to the mobile computer, for deployment to the scanner108-2(“4”). Various firmware update mechanisms may be deployed in connection with the system100′. For example, an additional server (not shown) may be deployed to receive the initial request (“2”) and return an indication, such as a URL, of the location of the current firmware for the scanner108-2. The indication may point to the server500, and the mobile computer104can therefore be configured to request the firmware from the server500using the indication.

Turning toFIG. 6, the system100′ is shown in which the scanner108-1is connected to the mobile computer104rather than the scanner108-2. As the scanner108-1is not enabled with local configuration control, the mobile computer104itself may initiate retrieval of the current firmware from the server500via the request “1”, and receive the firmware (“2”) for deployment to the scanner108-1(“3”). In other embodiments, the above-mentioned gesture recognition functionality may be deployed within the mobile computer104to update firmware at the mobile computer104itself, via interaction with the server500following detection of the relevant gesture at block440.

In further examples, the scanners108-1and108-2can be omitted. The mobile computer104itself can include a data capture module264, as well as a scanning application266as discussed above in connection withFIGS. 2B and 2C. The mobile computer104can therefore be configured to configure the data capture module according to motion data detected via the motion sensor212. In such examples, blocks305,310and315are omitted, and the mobile computer104performs each block of the remainder of the method400shown inFIG. 4. It will be understood that blocks325and330, as well as blocks445and455, no longer involve sending and receiving of data in such examples, as each pair of blocks is performed within the mobile computer104.

In further examples, the scanner108-2can be configured to perform blocks325-350before establishing a connection with the mobile computer104at block310. Such configuration functionality may be employed, for example, to configure the connection mechanism to be used at block310(e.g. to determine which connection mode will be used at block310).