The present application generally relates to haptics and more specifically relates to providing localized haptics using shifting masses.
Traditionally, mechanical buttons have provided physical tactile sensations to users of electronic devices. However, as the size of electronic devices has decreased and the portability of electronic devices has increased, the number of mechanical buttons on electronic devices has decreased and some electronic devices do not have any mechanical buttons. Haptic output devices may be included in such devices to output haptic effects to users.
Various examples are described for devices, systems, and methods for providing localized haptics using shifting masses.
One example disclosed system comprises a hollow tube comprising a first end and a second end. The second end may be opposite the first end. The hollow tube can define a cavity between the first end and the second end. The system further comprises a first node corresponding to the first end. In this example, the system further comprises a second node corresponding to the second end. The system further comprises a mass disposed within the cavity. In an example, the mass is movable within the cavity to output a haptic effect when an electrical current is provided to the first node. In another example, the mass is movable within the cavity to output a haptic effect when an electrical current is provided to the second node. In yet another example, the mass is movable within the cavity to output a haptic effect when a first electrical current is provided to the first node and a second electrical current is provided to the second node. The first electrical current and the second electrical current may be provided simultaneously. The first electrical current and the second electrical current can be provided non-simultaneously.
In examples, the first node has a width between 5 microns and 3 millimeters. The first node may have a length between 5 microns and 3 millimeters. In examples, the second node has a width between 5 microns and 3 millimeters. The second node may have a length between 5 microns and 3 millimeters. In examples, the second node mirrors the first node.
In examples, the hollow tube has a width between 5 microns and 3 millimeters. The hollow tube may have a length between 5 microns and 3 millimeters. In some examples, the hollow tube has a same width as the first node, the second node, or both the first node and the second node. In some examples, the hollow tube has a same length as the first node, the second node, or both the first node and the second node. The hollow tube may have a diameter between 5 microns and 3 millimeters. In examples, the hollow tube has a height between the first end and the second end of at least 0.5 millimeters. In one example, the hollow tube has a height between the first end and the second end of between 0.5 millimeters and 10 millimeters. The hollow tube may be, for example, a hollow cylinder or a hollow cuboid. The mass may be, for example, a spherical mass or a cuboid mass.
In examples, the system further comprises a first plate comprising a first matrix of nodes including the first node. In examples, the system further comprises a second plate comprising a second matrix of nodes including the second node. In examples, the system further comprises a plurality of hollow tubes including the hollow tube. Each hollow tube in the plurality of hollow tubes can correspond one node in the first matrix of nodes. Each hollow tube in the plurality of hollow tubes can correspond to one node in the second matrix of nodes. In examples, the system further comprises a plurality of masses including the mass. Each mass in the plurality of masses can be disposed within a cavity defined by one hollow tube in the plurality of hollow tubes. In examples, at least two nodes in the first matrix of nodes and/or at least two nodes in the second matrix of nodes are configured to be simultaneously energized. In examples, at least two of the masses in the plurality of masses simultaneously move within their respective cavities to output the haptic effect. The haptic effect can be a wave haptic effect produced by energizing nodes in a sequence. The sequence can include energizing a first node, then energizing a second node that is adjacent to the first node, and then energizing a third node that is adjacent to the second node. The sequence can include deenergizing the first node prior to energizing the second node. The sequence may include deenergizing the second node prior to energizing the third node.
In examples, the mass comprises a ferromagnetic mass. The first node may comprise a first electromagnetic coil. The second node may comprise a second electromagnetic coil. In examples, the system further comprises a first spring within the hollow tube. The spring can be disposed within a cavity defined by a hollow tube and positioned between the ferromagnetic mass and the first node. The spring can be disposed within a cavity defined by a hollow tube and positioned between the ferromagnetic mass and the second node. In some examples, the system further comprises a second spring within the hollow tube. In this example, the first spring may be disposed within a cavity defined by a hollow tube and positioned between the ferromagnetic mass and the first node, and the second spring may be disposed within the cavity defined by the hollow tube and positioned between the ferromagnetic mass and the second node.
In examples, the mass comprises a conductive mass. The conductive mass may be entirely positively charged. The conductive mass can be entirely negatively charged. In some examples, the conductive mass has a first portion with a positive charge and a second portion with a negative charge. In some examples, a first half of the conductive mass has a positive charge and a second half of the conductive mass has a negative charge.
In examples, the first node comprises a first conductive node. The second node may have a second conductive node. The first conductive node can be configured to have a first polarity. The second conductive node may be configured to have a second polarity. The second polarity may oppose the first polarity. In examples, the first conductive node and the second conductive node may be configured to have a same type of charge. The same type of charge may be a positive charge. The same type of charge may be a negative charge.
In examples, the system further comprises a first spring within the hollow tube. The first spring may be disposed within a cavity defined by a hollow tube and positioned between the conductive mass and the first node. The first spring may be disposed within a cavity defined by a hollow tube and positioned between the conductive mass and the second node. In examples, the system further comprises a second spring within the hollow tube. In this example, the first spring can be disposed within a cavity defined by a hollow tube and positioned between the conductive mass and the first node, and the second spring can be disposed within the cavity defined by the hollow tube and positioned between the conductive mass and the second node.
In examples, the system further comprises a portable computing device. The portable computing device can be at least one of a smartphone, a phablet, or a tablet. The portable computing device can have a touch-sensitive surface bonded to at least one of the first node or the second node. The touch-sensitive surface may be a touch-sensitive display. In examples, the haptic effect can be output without requiring the touch-sensitive surface to bend.
One example disclosed method comprises determining a location of a contact on a touch-sensitive surface. In this example, the method further comprises determining node based on the location of the contact. The node may be bonded to a hollow tube. The hollow tube can define a cavity. A mass can be disposed within the cavity. In this example, the method further comprises energizing the node to output a haptic effect by causing the mass to move within the cavity.
These illustrative examples are mentioned not to limit or define the scope of this disclosure, but rather to provide examples to aid understanding thereof. Illustrative examples are discussed in the Detailed Description, which provides further description. Advantages offered by various examples may be further understood by examining this specification.
The accompanying drawings, which are incorporated into and constitute a part of this specification, illustrate one or more certain examples and, together with the description of the example, serve to explain the principles and implementations of the certain examples.
Examples are described herein in the context of devices, systems, and methods for providing localized haptics using shifting masses. Those of ordinary skill in the art will realize that the following description is illustrative only and is not intended to be in any way limiting. Reference will now be made in detail to implementations of examples as illustrated in the accompanying drawings. The same reference indicators will be used throughout the drawings and the following description to refer to the same or like items.
In the interest of clarity, not all of the routine features of the examples described herein are shown and described. It will, of course, be appreciated that in the development of any such actual implementation, numerous implementation-specific decisions must be made in order to achieve the developer's specific goals, such as compliance with application- and business-related constraints, and that these specific goals will vary from one implementation to another and from one developer to another.
Illustrative Example of Localized Haptics Using Shifting Masses
In one illustrative example, a smartphone has a touch-sensitive display. In this example, when a user contacts the touch-sensitive display at a particular location a haptic effect is output at the particular location. The haptic effect can be output by energizing nodes bonded to the touch-sensitive display at or near the particular location of the contact. Energizing the nodes causes masses to move within hollow tubes bonded to the nodes to output the haptic effect. The nodes and masses can be sized to provide greater precision of the haptic effect. For example, nodes can be smaller than a contact (such as a contact from a user's finger) such that multiple nodes correspond to the contact. In this example, only the nodes corresponding to a center of the contact can be determined and energized to provide a localized haptic effect to only the center of the contact.
In one illustrative example, a first plate comprising a first matrix of nodes is bonded to the touch-sensitive display. For example, the first plate can be bonded to an underside of the touch-sensitive display that faces away from a user of the smartphone and that is hidden by a cover or frame of the smartphone.
In this example, for each node in the first matrix of nodes, there is a corresponding hollow tube. For each node in the first matrix of nodes, a first end of a hollow tube can be bonded to the node. In this example, a second plate has a second matrix of nodes that mirrors the first matrix of nodes in the first plate. Thus, for each node in the second matrix of nodes in the second plate, there is a corresponding, mirroring node in the first matrix of nodes in the first plate and a corresponding hollow tube. The second plate can be bonded to the hollow tubes. For example, each node in the second matrix of nodes can be bonded to a second end of a hollow tube. The second end of the hollow tube can be opposite the first end of the hollow tube, which is bonded to a node in the first matrix of nodes in this example.
In this example, for each hollow tube, a mass (such as a ferromagnetic mass or a conductive mass) is in the hollow tube. Moreover, in this example, each of the hollow tubes is cylindrical and the mass within the hollow tube is spherical.
In one example, the first matrix of nodes in the first plate has electromagnetic coils, the second matrix of nodes in the second plate also has electromagnetic coils, and the masses in the hollow tubes are ferromagnetic masses. For example, each node in the first matrix of nodes may have an electromagnetic coil and each node in the second matrix of nodes may also have an electromagnetic coil.
In this example, an electric current is sent to a node in the first matrix of nodes in the first plate that corresponds to a location of a contact on the smartphone's touch-sensitive display. The electric current causes the electromagnetic coil in that node to produce an electromagnetic field. The electromagnetic field causes the ferromagnetic mass in the hollow tube corresponding to that node to move inside the hollow tube to output a haptic effect. An electric current can also be sent to the corresponding node in the second matrix of nodes in the second plate which causes the electromagnetic coil in that node to produce another electromagnetic field. This electromagnetic field also causes the ferromagnetic mass to move inside the hollow tube and can be used to, for example, create a more intensive haptic effect or to better control the movement of the ferromagnetic mass within the hollow tube.
In another example, the first matrix of nodes in the first plate is conductive, the second matrix of nodes in the second plate is also conductive, and the masses in the hollow tubes are conductive masses. For example, each node in the first matrix of nodes may have a conductive patch or region and each node in the second matrix of nodes may also have a conductive patch or region. Moreover, in this example, for each of the conductive masses, half of the conductive mass is positively charged and half of the conductive mass is negatively charged.
In this example, an electric current is sent to a first node in the first matrix of nodes in the first plate that corresponds to a location of a contact on the smartphone's touch-sensitive display as well as a corresponding second node in the second matrix of nodes in the second plate. In this example, the electric current causes both the first node and the second node to become positively charged. If the negatively charged half of the conductive mass in the hollow tube is facing the first node, then electrostatic forces (e.g., attraction from the first node and repulsion from the second node) cause the conductive mass to move within the hollow tube towards the first node to output a haptic effect. If an electric current is then sent to both the first node and the second node causing both the first node and the second node to become negatively charged, then electrostatic forces (e.g., repulsion from the first node and attraction from the second node) causes the conductive mass to move within the hollow tube towards the second node to output a haptic effect.
In some examples, a spring is disposed within a hollow tube between the mass and the corresponding node in the first matrix in the first plate and/or a spring is disposed within the hollow tube between the mass and the corresponding node in the second matrix in the second plate to provide additional control over the movement of the mass within the hollow tube.
This illustrative example is given to introduce the reader to the general subject matter discussed herein and the disclosure is not limited to this example. The following sections describe various additional non-limiting examples of providing localized haptics using shifting masses.
Referring now to
System 100 shown in
In examples, nodes (e.g., 120a, 120b, 120c, 120d, etc.) in the second plate 120 mirrors the nodes (e.g., 110a, 110b, 110c, 110d, etc.) in the first plate 110 as shown in
In examples, nodes in the first matrix of nodes are adjacent (e.g., abutting) to other nodes in the first matrix of nodes in the first plate 110 and nodes in the second matrix of nodes are adjacent (e.g., abutting) to other nodes in the second matrix of nodes in the second plate 120. For example, referring to
Referring to
In
A hollow tube can define a cavity between the first end of the hollow tube and the second end of the hollow tube. For example, referring to
In
In
In some examples, one or more of the hollow tubes in the plurality of hollow tubes 130 has a same length and/or a same width as a corresponding node in the first plate 110 and/or a corresponding node in the second plate 120. For example, in an example, node 110b and node 120b each has a length of 10 microns and a width of 20 microns, and the first and second ends of hollow tube 130b also has a length of 10 microns and a width of 20 microns. In this example, hollow tube 130b mirrors node 110a and 120b. In various examples, the first end and/or the second end of a hollow tube can have any number of shapes, including but not limited to, square, rectangular, circular, oblong, etc. In various examples, a hollow tube may be any suitable shape such as a hollow cylinder, a hollow cuboid, etc.
Still referring to
In some examples, a shape of a mass is a same shape as a corresponding hollow tube. For example, referring to
In examples, a node is an electromagnetic node or an electrostatic node. An electromagnetic node causes an electromagnetic field to be generated when an electrical current is applied to the node. In examples, the generated electromagnetic field at the electromagnetic node attracts a mass thereby causing the mass to move towards the electromagnetic node. In some example, the generated electromagnetic field at the electromagnetic node may repel a mass thereby causing the mass to move away from the electromagnetic node. An electrostatic node causes an electrostatic field to be generated when an electrical current is applied to the node. In examples, the generated electrostatic field at the electrostatic node attracts a mass thereby causing the mass to move towards the electrostatic node. In some example, the generated electrostatic field at the electrostatic node may repel a mass thereby causing the mass to move away from the electrostatic node.
Referring to
In examples, a mass corresponds with a type of a node. For example, referring to
In examples, a mass is movable within a corresponding hollow tube when a corresponding node is energized and/or de-energized. For example, referring to
Referring to
In various examples, haptics can be output to a desired area of a touch-sensitive surface, such as a touch-sensitive display, with accurate precision by causing masses within a desired area to move within hollow tubes using electromagnetics and/or electrostatics. For example, a wave haptic effect can be output by sequentially energizing nodes in a matrix from one side to another side thereby causing masses within corresponding hollow tubes to sequentially move within the hollow tubes.
A wave haptic effect refers to sequentially providing vibrations across a surface. In an example, referring to
Rather than always having a haptic effect output to the same location, in various examples a haptic effect can originate in any number of nodes in the matrix of nodes thus providing greater flexibility in outputting haptic effects. In examples, a haptic effect is output on a touch-sensitive surface, such as a touch-sensitive display, without requiring the touch-sensitive surface to bend because using localized multiple shifting masses as described herein may not bend the touch-sensitive surface when outputting the haptic effect.
In examples, when a user contacts a location of a touch-sensitive surface, such as a touch-sensitive display, that is bonded to a first plate having a first matrix of nodes, electrical current(s) can be provided to one or more nodes in the first matrix of nodes corresponding to the location of the contact. In examples, the electrical current(s) cause the node(s) to generate an electromagnetic field to cause the mass(es) within the corresponding hollow tube(s) to move, thereby causing a localized haptic effect to be output. In some examples, electrical current(s) to one or more node(s) in the first matrix of nodes are stopped which can cause the node(s) to, for example, cease generating an electromagnetic field, thereby causing the mass(es) within the corresponding hollow tube(s) to move within the corresponding hollow tube(s).
For example, referring to
In some examples, electrical current(s) are also provided to one or more additional node(s) in a second plate. These additional node(s) in the second plate may mirror the node(s) in the first plate. For example, electrical current(s) can be provided to node(s) in the second matrix that mirror the node(s) in the first matrix to which electrical current(s) are provided. In examples, the electrical current(s) provided to the node(s) in the second matrix cause the node(s) to generate an electromagnetic field to cause the mass(es) within corresponding hollow tube(s) to move, thereby causing a localized haptic effect to be output. In some examples, electrical current(s) to one or more node(s) in the second matrix of nodes are stopped which causes the node(s) to, for example, cease generating an electromagnetic field. In some examples, when the generation of electromagnetic field ceases, the mass(es) within the corresponding hollow tube(s) to move within the corresponding hollow tube(s).
For example, referring to
As another example, referring to
In various examples, node(s) in the first matrix of nodes and node(s) in the second matrix of nodes are simultaneously energized or de-energized to output a haptic effect. For example, electrical current(s) can be simultaneously provided to a first node in the first matrix of nodes and a corresponding node in the second matrix of nodes to energize the first node and the mirroring node to output a haptic effect. As another example, electrical current(s) to a first node in the first matrix of nodes and a mirroring node in the second matrix of nodes can be simultaneously stopped to de-energize the first node and the mirroring node to output a haptic effect.
In examples, node(s) in the first matrix of nodes and node(s) in the second matrix of nodes are not simultaneously energized or de-energized to output a haptic effect. For example, a first electrical current can be provided to a first node in the first matrix of nodes to energize the first node and, after the first electrical current has been provided to the first node, a second electrical current can be provided to a mirroring node in the second matrix of nodes to energize the mirroring node (or vice versa) to output a haptic effect. As another example, a first electrical current to a first node in the first matrix of nodes can be stopped to de-energize the first node and, after the first electrical current to the first node has been stopped, a second electrical current to a mirroring node in the second matrix of nodes can be stopped to de-energize the mirroring node (or vice versa) to output a haptic effect.
In examples, node(s) in the first matrix of nodes are energized and/or de-energized and node(s) in the second matrix of nodes are energized and/or de-energized. For example, a first node in the first matrix of nodes can be energized and a mirroring node in the second matrix of nodes can be simultaneously de-energized (or vice versa) to output a haptic effect. As another example, a first node in the first matrix of nodes and a mirroring node in the second matrix of nodes can be simultaneously energized and then, after a predetermined time, are simultaneously de-energized (or vice versa) to output a haptic effect. As yet another example, a first node in the first matrix of nodes can be energized, then a mirroring node in the second matrix of nodes can be energized, then the first node can be de-energized, then the mirroring node can be de-energized to move the mass within the hollow tube to output a haptic effect. As yet another example, a first node in a first matrix of nodes can be energized, then a mirroring node in the second matrix of nodes can be de-energized, then the mirroring node can be energized, then the first node can be de-energized.
Any desired sequence of node activation and/or node deactivation can be used to output various haptic effects. For example, in an example, a wave haptic effect is output by sequentially energizing nodes in the first matrix of nodes from one side to another side. In some examples, mirroring nodes in the second matrix of nodes are energized simultaneously with the nodes in the first matrix to output a wave haptic effect.
In examples, node(s) in the first matrix of nodes and/or node(s) in the second matrix of nodes can be simultaneously and/or non-simultaneously, e.g., sequentially, energized and/or de-energized to move mass(es) within the hollow tube(s) to output a haptic effect. For example, a first node in the first matrix of nodes and a second node in the first matrix of nodes can be simultaneously energized. As another example, a first node in the first matrix of nodes can be energized and then a second node in the first matrix of nodes can be energized. In some examples, a first node in the second matrix of nodes and a second node in the second matrix of nodes are simultaneously energized. As another example, a first node in the second matrix of nodes can be energized and then a second node in the second matrix of nodes can be energized. As yet another example, a first node in the first matrix of nodes can be energized simultaneously with a mirroring node in the second matrix of nodes. In another example, a first node in the second matrix of nodes is energized simultaneously with a mirroring node in the first matrix of nodes.
In examples, node(s) in the first matrix of nodes and/or node(s) in the second matrix of nodes can be energized and/or de-energized in a particular sequence to move masses within the hollow tubes to output a particular haptic effect. In examples, node(s) in the first matrix of nodes and/or node(s) in the second matrix of nodes can be energized with one or more intensities to move masses within the hollow tubes to output a haptic effect. For example, in an example, if a user contacts a particular area of a touch-sensitive display, then nodes corresponding to a middle of the contact can be energized with a greater intensity than nodes corresponding to an edge of the contact. In this example, the masses in the hollow tubes corresponding to the nodes at the middle of the contact move within the hollow tubes at a greater velocity than the masses in the hollow tubes corresponding to the nodes at the edge of the contact. Thus, haptics are output at a greater magnitude at the middle of the contact than at the edge of the contact. Such haptic output may, for example, provide a button-like feeling to a user.
In an example, simultaneously energizing a first node in a first matrix of nodes and a mirroring node in a second matrix of nodes causes the mass within the corresponding hollow tube to move at a greater velocity than if only the first node is energized thus causing a more intense haptic effect to be output. In some examples, multiple nodes in the first matrix of nodes in the first plate and/or multiple nodes in the second matrix of nodes in the second plate are simultaneously energized. In examples, nodes in the first matrix of nodes and/or nodes in the second matrix of nodes are energized in a pattern to output a haptic effect.
In examples, node(s) in the first matrix of nodes and/or node(s) in the second matrix of nodes can be energized and/or de-energized to apply active braking to the mass. For example, in an example, an electromagnetic node in the first matrix of nodes is simultaneously energized with a same intensity as a mirroring electromagnetic node in the second matrix of nodes to place the mass in the corresponding hollow tube in an idle position. In this example, the idle position may be a center of the hollow tube. In other examples, the electromagnetic node and the mirroring electromagnetic node are energized at varying intensities to place the mass in the corresponding hollow tube in an idle position at particular locations within the hollow tube. As another example, in an example where half the mass is positively charged and half the mass is negatively charged, an electrostatic node in the first matrix of nodes is simultaneously energized with an opposing charge as a mirroring electrostatic node in the second matrix of nodes to place the mass within the corresponding hollow tube in a center of the hollow tube.
Referring now to
In
In the examples shown in
In
Referring now to
In
In the examples shown in
In
In
In
In
Referring now to
Referring now to
Method 1200 begins in block 1210 by determining location(s) of contact(s) on a touch-sensitive surface in a portable computing device. For example, if a user contacts the touch-sensitive surface at a center of the touch-sensitive surface, then the center of the touch-sensitive surface may be determined. As another example, if a user contacts the touch-sensitive surface with three fingers, then three locations corresponding to the contacts can be determined (e.g., one location for each finger contacting the touch-sensitive surface). A location of contact on a touch-sensitive surface can be determined in other ways any suitable way, some of which are described herein.
In block 1220, node(s) based on the location(s) of the contact(s) are determined. A node can be one or more of the nodes described herein, such as with respect to
A node at a same location as a determined location can be determined. For example, referring to
In some examples, a node is determined that does not directly correspond to a location of a contact. For example, referring to
In examples, node(s) from a first plate and node(s) from a second plate are determined. For example, referring to
In block 1230, the node(s) are energized. For example, referring to
Energizing the node(s) can cause a haptic effect to be output by moving mass(es) within the hollow tube(s). For example, referring to
As yet another example, if nodes 110c and 110d are simultaneously energized, then masses 140c and 140d may simultaneously move within hollow tubes 130c and 130d, respectively, to output a haptic effect. In one example, where node 110c is energized and then node 110d is energized, then mass 140c may move within hollow tube 130c and then mass 140d may move within hollow tube 130d. In this example, mass 140c may stop moving before node 110d is energized to move mass 140d. In other examples, node 110d may be energized while mass 140c is still moving within hollow tube 130c such that mass 140d begins moving while mass 140c is still moving as part of outputting a haptic effect.
In examples, nodes can be energized in a particular sequence. For example, referring to
While some examples of devices, systems, and methods herein are described in terms of software executing on various machines, the methods and systems may also be implemented as specifically-configured hardware, such as field-programmable gate array (FPGA) specifically to execute the various methods. For example, examples can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in a combination thereof. In one example, a device may include a processor or processors. The processor comprises a computer-readable medium, such as a random access memory (RAM) coupled to the processor. The processor executes computer-executable program instructions stored in memory, such as executing one or more computer programs for editing an image. Such processors may comprise a microprocessor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), field programmable gate arrays (FPGAs), and state machines. Such processors may further comprise programmable computing devices such as PLCs, programmable interrupt controllers (PICs), programmable logic devices (PLDs), programmable read-only memories (PROMs), electronically programmable read-only memories (EPROMs or EEPROMs), or other similar devices.
Such processors may comprise, or may be in communication with, media, for example computer-readable storage media, that may store instructions that, when executed by the processor, can cause the processor to perform the steps described herein as carried out, or assisted, by a processor. Examples of computer-readable media may include, but are not limited to, an electronic, optical, magnetic, or other storage device capable of providing a processor with computer-readable instructions. Other examples of media comprise, but are not limited to, a floppy disk, CD-ROM, magnetic disk, memory chip, ROM, RAM, ASIC, configured processor, all optical media, all magnetic tape or other magnetic media, or any other medium from which a computer processor can read. The processor, and the processing, described may be in one or more structures, and may be dispersed through one or more structures. The processor may comprise code for carrying out one or more of the methods (or parts of methods) described herein.
Examples of methods disclosed herein may be performed in the operation of such computing devices. The order of the blocks presented in the examples above can be varied-for example, blocks can be re-ordered, combined, and/or broken into sub-blocks. Certain blocks or processes can be performed in parallel. Thus, while the steps of methods disclosed herein have been shown and described in a particular order, other examples may comprise the same, additional, or fewer steps. Some examples may perform the steps in a different order or in parallel.
The foregoing description of some examples has been presented only for the purpose of illustration and description and is not intended to be exhaustive or to limit the disclosure to the precise forms disclosed. Numerous modifications and adaptations thereof will be apparent to those skilled in the art without departing from the spirit and scope of the disclosure.
Reference herein to an example or implementation means that a particular feature, structure, operation, or other characteristic described in connection with the example may be included in at least one implementation of the disclosure. The disclosure is not restricted to the particular examples or implementations described as such. The appearance of the phrases “in one example,” “in an example,” “in one implementation,” or “in an implementation,” or variations of the same in various places in the specification does not necessarily refer to the same example or implementation. Any particular feature, structure, operation, or other characteristic described in this specification in relation to one example or implementation may be combined with other features, structures, operations, or other characteristics described in respect of any other example or implementation.