CN114485562B - Handheld oscilloscope horizontal position adjusting method based on gravity sensing - Google Patents
Handheld oscilloscope horizontal position adjusting method based on gravity sensing Download PDFInfo
- Publication number
- CN114485562B CN114485562B CN202210088224.7A CN202210088224A CN114485562B CN 114485562 B CN114485562 B CN 114485562B CN 202210088224 A CN202210088224 A CN 202210088224A CN 114485562 B CN114485562 B CN 114485562B
- Authority
- CN
- China
- Prior art keywords
- axis
- waveform
- oscilloscope
- handheld
- horizontal position
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C9/00—Measuring inclination, e.g. by clinometers, by levels
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R13/00—Arrangements for displaying electric variables or waveforms
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- User Interface Of Digital Computer (AREA)
- Telephone Function (AREA)
Abstract
The application discloses a gravity sensing-based horizontal position adjusting method of a handheld oscilloscope, which adopts a 3-axis accelerometer module mode to adjust the horizontal position, and when the horizontal position is adjusted, the horizontal position can be conveniently and rapidly moved left and right by only turning the handheld oscilloscope left and right and tilting the handheld oscilloscope by a certain angle. And because the horizontal position does not need to specially vacate an arm to swing back and forth to operate modes such as a knob, a key, touch and the like in the adjusting process, the physical consumption of a user is reduced, meanwhile, the problems of heavy weight, large volume and the like of part of the handheld oscilloscopes exist, and the use safety and stability can be improved by holding the oscilloscopes with two hands.
Description
Technical Field
The application relates to the technical field of oscilloscopes, in particular to a handheld oscilloscopes horizontal position adjusting method based on gravity sensing.
Background
In the existing handheld oscilloscope products, the knob, the key, the touch and other modes are required to be used for adjusting the horizontal position when the horizontal position is moved left and right, the arm is required to swing back and forth to operate, the operation is complex, the speed is low, even when the storage depth is quite large, if the horizontal position is required to be adjusted to the edge position, the adjustment is quite long if the traditional knob, the key, the touch and other modes are required to operate, time and effort are wasted, even one hand is required to be vacated to operate the knob, the key or the touch and other modes to adjust the horizontal position, and because the horizontal position is required to be adjusted back and forth for a long time during measurement, the phenomenon that the oscilloscope arm is painful to hold by one hand for a long time and even falls occurs is caused.
Disclosure of Invention
The application aims to provide a handheld oscilloscope horizontal position adjusting method based on gravity sensing.
The technical scheme adopted by the application is as follows:
the method for adjusting the horizontal position of the handheld oscilloscope based on gravity sensing is characterized in that the handheld oscilloscope is internally provided with a 3-axis accelerometer module, the 3-axis accelerometer module is connected to a Central Processing Unit (CPU) through an SPI bus interface, the handheld oscilloscope is provided with a gravity sensing button, and the gravity sensing button controls whether the 3-axis accelerometer module collects data or not; the adjusting method comprises the following steps:
step 1: pressing a gravity sensing button on the side edge of the handheld oscilloscope, and starting an acceleration acquisition function of the 3-axis accelerometer module;
step 2: after the central processing unit delays for a certain time, the three-axis acceleration data collected in the FIFO of the 3-axis accelerometer module is read through the SPI bus interface;
step 3: the central processing unit stores the triaxial acceleration data into a memory buffer queue in a DMA mode and provides the triaxial acceleration data for an upper-layer application program so as to convert and decode;
step 4: the central processing unit carries out Euler angle rotation and serial conversion of rotation matrix processing on the three-axis acceleration raw data in the buffer queue, calculates the acceleration digital quantity of the X axis, the Y axis and the Z axis to obtain Euler angles, and determines the horizontal state of the machine;
step 5: judging whether the machine is inclined according to the current horizontal state of the machine; if yes, acquiring inclination data and executing the step 6;
step 6: performing a horizontal position adjustment based on the pair of tilt data;
step 7: judging that the horizontal position moves to a satisfactory position left and right; if yes, releasing the side gravity sensing unlocking button, and stopping reading the data acquired by the gravity sensor by the central processing unit; otherwise, step 5 is performed.
The specific transformation formula is as follows:
wherein: m is M x 、M y 、M z Respectively representing a rotation matrix rotated around a X, Y, Z axis, and r, p and y respectively represent angles rotated around x, y and z axes; g is the acceleration of gravity and,representing gesture rotations。
Further, in the step 2, the 3-axis accelerometer module converts acceleration analog quantities measured in three directions of an X axis, a Y axis and a Z axis into acceleration digital quantities of three axes of the X axis, the Y axis and the Z axis which can be output through an internal multipath high-precision ADC, and stably and continuously collects the corresponding three-axis acceleration digital quantities in the three directions of the X axis, the Y axis and the Z axis due to the change of the body gesture of the handheld oscilloscope, and stores the three-axis acceleration digital quantities into the FIFO of the handheld oscilloscope.
Further, the Euler angle in step 4 includes a heading angle yaw, a roll angle roll, and a pitch angle pitch.
Further, in the step 4, the gravity sensor with the DMP function is selected to output the quaternion, the quaternion is directly converted into the Euler angle by the application program, and the application program determines the horizontal state of the handheld oscilloscope at the current moment according to the Euler angle.
Further, the tilt data in step 5 includes left tilt or right tilt, angle of tilt, and acceleration of the acquired tilt.
Further, the specific steps in the step 6 are as follows:
step 6-1, determining the horizontal adjustment direction of the oscillograph waveform according to the inclined direction;
when the handheld oscilloscope inclines leftwards, the waveform moves leftwards horizontally, and the waveform stops moving horizontally until the body posture of the handheld oscilloscope returns to be parallel to the horizontal line;
when the handheld oscilloscope is inclined to the right, the waveform moves horizontally to the right, and the waveform horizontally stops moving until the body posture of the handheld oscilloscope returns to be parallel to the horizontal line;
step 6-2, determining the number of pixels of the oscillographic waveform, which moves each time in the left-right direction of the oscillographic waveform horizontal adjustment, by the inclined angle; the number of pixels of each movement of the waveform is adjusted in a proportional manner according to the angle of inclination;
specifically, the larger the angle of inclination, the more pixels the waveform moves each time, and the smaller the angle of inclination, the fewer pixels the waveform moves each time.
Step 6-3, judging whether the waveform level of the handheld oscilloscope is centered or not based on the inclined acceleration, namely, whether the triggering time of the waveform level of the oscilloscope is zero or not, and if the triggering time of the waveform level of the oscilloscope is zero, representing that the waveform level is centered; the waveform is operated to center it horizontally when the acceleration of the tilt reaches a set value.
Further, the number of pixel points of each movement of the waveform in step 6-2 has an upper limit value, that is, the maximum pixel value of the waveform movement, and the waveform is acted according to the maximum pixel value when the inclination angle exceeds the inclination angle corresponding to the maximum pixel value of the waveform movement.
According to the technical scheme, the horizontal position is adjusted by adopting the 3-axis accelerometer module mode, and when the horizontal position is adjusted, the left and right movement of the horizontal position can be conveniently and rapidly realized by only turning the handheld oscilloscope left and right and tilting the handheld oscilloscope by a certain angle. And because the horizontal position does not need to specially vacate an arm to swing back and forth to operate modes such as a knob, a key, touch and the like in the adjusting process, the physical consumption of a user is reduced, meanwhile, the problems of heavy weight, large volume and the like of part of the handheld oscilloscopes exist, and the use safety and stability can be improved by holding the oscilloscopes with two hands.
Drawings
The application is described in further detail below with reference to the drawings and detailed description;
fig. 1 is a schematic flow chart of a method for adjusting the horizontal position of a handheld oscilloscope based on gravity sensing.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application more clear, the technical solutions of the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application.
As shown in fig. 1, the application discloses a method for adjusting the horizontal position of a handheld oscilloscope based on gravity sensing, wherein a 3-axis accelerometer module is arranged in the handheld oscilloscope, the 3-axis accelerometer module is connected to a Central Processing Unit (CPU) through an SPI bus interface, the handheld oscilloscope is provided with a gravity sensing button, and the gravity sensing button controls whether the 3-axis accelerometer module collects data or not; the adjusting method comprises the following steps:
step 1: pressing a gravity sensing button on the side edge of the handheld oscilloscope, and starting an acceleration acquisition function of the 3-axis accelerometer module;
step 2: after the central processing unit delays for a certain time, the three-axis acceleration data collected in the FIFO of the 3-axis accelerometer module is read through the SPI bus interface;
step 3: the central processing unit stores the triaxial acceleration data into a memory buffer queue in a DMA mode and provides the triaxial acceleration data for an upper-layer application program so as to convert and decode;
step 4: the central processing unit carries out Euler angle rotation and serial conversion of rotation matrix processing on the three-axis acceleration raw data in the buffer queue, calculates the acceleration digital quantity of the X axis, the Y axis and the Z axis to obtain Euler angles, and determines the horizontal state of the machine;
the specific transformation formula is as follows:
wherein: m is M x 、M y 、M z The rotation matrices are shown rotated about X, Y, Z axes, and r, p, y represent the angles of rotation about the x, y, z axes, respectively. g is the acceleration of gravity and,indicating the gesture rotation.
Step 5: judging whether the machine is inclined according to the current horizontal state of the machine; if yes, acquiring inclination data and executing the step 6;
step 6: performing a horizontal position adjustment based on the pair of tilt data;
step 7: judging that the horizontal position moves to a satisfactory position left and right; if yes, releasing the side gravity sensing unlocking button, and stopping reading the data acquired by the gravity sensor by the central processing unit; otherwise, step 5 is performed.
Further, in the step 2, the 3-axis accelerometer module converts acceleration analog quantities measured in three directions of an X axis, a Y axis and a Z axis into acceleration digital quantities of three axes of the X axis, the Y axis and the Z axis which can be output through an internal multipath high-precision ADC, and stably and continuously collects the corresponding three-axis acceleration digital quantities in the three directions of the X axis, the Y axis and the Z axis due to the change of the body gesture of the handheld oscilloscope, and stores the three-axis acceleration digital quantities into the FIFO of the handheld oscilloscope.
Further, the Euler angle in step 4 includes a heading angle yaw, a roll angle roll, and a pitch angle pitch.
Further, in the step 4, the gravity sensor with the DMP function is selected to output the quaternion, the quaternion is directly converted into the Euler angle by the application program, and the application program determines the horizontal state of the handheld oscilloscope at the current moment according to the Euler angle.
Further, the tilt data in step 5 includes left tilt or right tilt, angle of tilt, and acceleration of the acquired tilt.
Further, the specific steps in the step 6 are as follows:
step 6-1, determining the horizontal adjustment direction of the oscillograph waveform according to the inclined direction;
when the handheld oscilloscope inclines leftwards, the waveform moves leftwards horizontally, and the waveform stops moving horizontally until the body posture of the handheld oscilloscope returns to be parallel to the horizontal line;
when the handheld oscilloscope is inclined to the right, the waveform moves horizontally to the right, and the waveform horizontally stops moving until the body posture of the handheld oscilloscope returns to be parallel to the horizontal line;
step 6-2, determining the number of pixels of the oscillographic waveform, which moves each time in the left-right direction of the oscillographic waveform horizontal adjustment, by the inclined angle; the number of pixels of each movement of the waveform is adjusted in a proportional manner according to the angle of inclination;
specifically, the larger the angle of inclination, the more pixels the waveform moves each time, and the smaller the angle of inclination, the fewer pixels the waveform moves each time.
Step 6-3, judging whether the waveform level of the handheld oscilloscope is centered or not based on the inclined acceleration, namely, whether the triggering time of the waveform level of the oscilloscope is zero or not, and if the triggering time of the waveform level of the oscilloscope is zero, representing that the waveform level is centered; the waveform is operated to center it horizontally when the acceleration of the tilt reaches a set value.
Further, the number of pixel points of each movement of the waveform in step 6-2 has an upper limit value, that is, the maximum pixel value of the waveform movement, and the waveform is acted according to the maximum pixel value when the inclination angle exceeds the inclination angle corresponding to the maximum pixel value of the waveform movement.
According to the technical scheme, the horizontal position is adjusted by adopting the 3-axis accelerometer module mode, and when the horizontal position is adjusted, the left and right movement of the horizontal position can be conveniently and rapidly realized by only turning the handheld oscilloscope left and right and tilting the handheld oscilloscope by a certain angle. And because the horizontal position does not need to specially vacate an arm to swing back and forth to operate modes such as a knob, a key, touch and the like in the adjusting process, the physical consumption of a user is reduced, meanwhile, the problems of heavy weight, large volume and the like of part of the handheld oscilloscopes exist, and the use safety and stability can be improved by holding the oscilloscopes with two hands.
It will be apparent that the described embodiments are some, but not all, embodiments of the application. Embodiments of the application and features of the embodiments may be combined with each other without conflict. The components of the embodiments of the present application generally described and illustrated in the figures herein may be arranged and designed in a wide variety of different configurations. Thus, the detailed description of the embodiments of the application is not intended to limit the scope of the application, as claimed, but is merely representative of selected embodiments of the application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
Claims (7)
1. The method for adjusting the horizontal position of the handheld oscilloscope based on gravity sensing is characterized in that a 3-axis accelerometer module is arranged in the handheld oscilloscope, the 3-axis accelerometer module is connected to a central processor of the handheld oscilloscope through an SPI bus interface, the handheld oscilloscope is provided with a gravity sensing button, and the gravity sensing button controls whether the 3-axis accelerometer module collects data or not; the method is characterized in that: the adjusting method comprises the following steps:
step 1: pressing a gravity sensing button on the side edge of the handheld oscilloscope, and starting an acceleration acquisition function of the 3-axis accelerometer module;
step 2: after the central processing unit delays for a certain time, the three-axis acceleration data collected in the FIFO of the 3-axis accelerometer module is read through the SPI bus interface;
step 3: the central processing unit stores the triaxial acceleration data into a memory buffer queue in a DMA mode and provides the triaxial acceleration data for an upper-layer application program so as to convert and decode;
step 4: the central processing unit carries out Euler angle rotation and serial conversion of rotation matrix processing on the three-axis acceleration raw data in the buffer queue, calculates the acceleration digital quantity of the X axis, the Y axis and the Z axis to obtain Euler angles, and determines the horizontal state of the machine;
step 5: judging whether the machine is inclined according to the current horizontal state of the machine; if yes, acquiring inclination data and executing the step 6;
step 6: performing a horizontal position adjustment based on the pair of tilt data;
step 7: judging that the horizontal position moves to a satisfactory position left and right; if yes, releasing the side gravity sensing unlocking button, and stopping reading the data acquired by the gravity sensor by the central processing unit; otherwise, step 5 is performed.
2. The method for adjusting the horizontal position of a handheld oscilloscope based on gravity sensing according to claim 1, wherein the method comprises the following steps: in the step 2, the 3-axis accelerometer module converts acceleration analog quantities measured in three directions of an X axis, a Y axis and a Z axis into acceleration digital quantities of three axes of the X axis, the Y axis and the Z axis which can be output through an internal multipath high-precision ADC, and stably and continuously collects the corresponding three-axis acceleration digital quantities in the three directions of the X axis, the Y axis and the Z axis due to the change of the body gesture of the handheld oscilloscope, and stores the three-axis acceleration digital quantities into the FIFO of the handheld oscilloscope.
3. The method for adjusting the horizontal position of a handheld oscilloscope based on gravity sensing according to claim 1, wherein the method comprises the following steps: in the step 4, the Euler angle comprises a course angle yw, a roll angle roll and a pitch angle pitch.
4. The method for adjusting the horizontal position of a handheld oscilloscope based on gravity sensing according to claim 1, wherein the method comprises the following steps: and 4, selecting a gravity sensor with a DMP function to output a quaternion, directly converting the quaternion into an Euler angle by an application program, and determining the horizontal state of the handheld oscilloscope at the current moment by the application program according to the Euler angle.
5. The method for adjusting the horizontal position of a handheld oscilloscope based on gravity sensing according to claim 1, wherein the method comprises the following steps: the tilt data in step 5 includes left or right tilt, angle of tilt, and acceleration of acquisition tilt.
6. The method for adjusting the horizontal position of a handheld oscilloscope based on gravity sensing according to claim 1, wherein the method comprises the following steps: the specific steps in the step 6 are as follows:
step 6-1, determining the horizontal adjustment direction of the oscillograph waveform according to the inclined direction;
when the handheld oscilloscope inclines leftwards, the waveform moves leftwards horizontally, and the waveform stops moving horizontally until the body posture of the handheld oscilloscope returns to be parallel to the horizontal line;
when the handheld oscilloscope is inclined to the right, the waveform moves horizontally to the right, and the waveform horizontally stops moving until the body posture of the handheld oscilloscope returns to be parallel to the horizontal line;
step 6-2, determining the number of pixels of the oscillographic waveform, which moves each time in the left-right direction of the oscillographic waveform horizontal adjustment, by the inclined angle; the number of pixels of each movement of the waveform is adjusted in a proportional manner according to the angle of inclination;
step 6-3, judging whether the waveform level of the handheld oscilloscope is centered or not based on the inclined acceleration, namely, whether the triggering time of the waveform level of the oscilloscope is zero or not, and if the triggering time of the waveform level of the oscilloscope is zero, representing that the waveform level is centered; when the tilting acceleration reaches a set value, the waveform is operated to horizontally center the tilting acceleration, that is, the waveform horizontal trigger time is equal to zero.
7. The gravity sensing-based hand-held oscilloscope horizontal position adjustment method according to claim 6, wherein: in the step 6-2, the number of the pixel points of each waveform movement has an upper limit value, namely, the maximum pixel value of the waveform movement, and the waveform is acted according to the maximum pixel value when the inclination angle exceeds the inclination angle corresponding to the maximum pixel value of the waveform movement.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210088224.7A CN114485562B (en) | 2022-01-25 | 2022-01-25 | Handheld oscilloscope horizontal position adjusting method based on gravity sensing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210088224.7A CN114485562B (en) | 2022-01-25 | 2022-01-25 | Handheld oscilloscope horizontal position adjusting method based on gravity sensing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114485562A CN114485562A (en) | 2022-05-13 |
CN114485562B true CN114485562B (en) | 2023-09-29 |
Family
ID=81474195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210088224.7A Active CN114485562B (en) | 2022-01-25 | 2022-01-25 | Handheld oscilloscope horizontal position adjusting method based on gravity sensing |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114485562B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114947665B (en) * | 2022-06-22 | 2023-12-15 | 汇智机器人科技(深圳)有限公司 | Handle module for sweeping robot and cleaning device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017031697A1 (en) * | 2015-08-25 | 2017-03-02 | 深圳市大疆创新科技有限公司 | Mode control system and method, and handheld pan tilt and mobile platform using same |
CN106643445A (en) * | 2016-12-30 | 2017-05-10 | 亿嘉和科技股份有限公司 | Track flatness measuring method |
CN109109866A (en) * | 2018-08-24 | 2019-01-01 | 深圳市国脉畅行科技股份有限公司 | Vehicle running state monitoring method, device, computer equipment and storage medium |
WO2020232727A1 (en) * | 2019-05-17 | 2020-11-26 | 南京东奇智能制造研究院有限公司 | Portable spine measurement instrument based on mimu and method |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI388806B (en) * | 2009-02-19 | 2013-03-11 | Mstar Semiconductor Inc | Handheld electronic apparatus and operating method thereof |
-
2022
- 2022-01-25 CN CN202210088224.7A patent/CN114485562B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017031697A1 (en) * | 2015-08-25 | 2017-03-02 | 深圳市大疆创新科技有限公司 | Mode control system and method, and handheld pan tilt and mobile platform using same |
CN106643445A (en) * | 2016-12-30 | 2017-05-10 | 亿嘉和科技股份有限公司 | Track flatness measuring method |
CN109109866A (en) * | 2018-08-24 | 2019-01-01 | 深圳市国脉畅行科技股份有限公司 | Vehicle running state monitoring method, device, computer equipment and storage medium |
WO2020232727A1 (en) * | 2019-05-17 | 2020-11-26 | 南京东奇智能制造研究院有限公司 | Portable spine measurement instrument based on mimu and method |
Non-Patent Citations (2)
Title |
---|
基于MEMS传感器的手持电动工具运动状态三维定位监测系统;廖泽淇;王伟光;唐上钦;吴旭东;;工业仪表与自动化装置(第05期);全文 * |
手机内置加速度传感器数据的空间坐标转换算法;赵宏;郭立渌;;计算机应用(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114485562A (en) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7843430B2 (en) | Inertial input apparatus with six-axial detection ability and the operating method thereof | |
CN114485562B (en) | Handheld oscilloscope horizontal position adjusting method based on gravity sensing | |
TWI293687B (en) | Initial sensing input apparatus | |
JP5258974B2 (en) | Method and device for inputting force intensity and rotational intensity based on motion sensing | |
JP6533590B2 (en) | Wearable device, posture measurement method and program thereof | |
JP5061274B2 (en) | Controller for impact detection device and simulated experience device | |
JP2009003651A (en) | Information processing program and information processor | |
CN103294226B (en) | A kind of virtual input device and method | |
JPH08511090A (en) | Attitude detection array | |
CN102662404A (en) | Cloud platform control apparatus and cloud platform control method | |
CN102981612A (en) | Orientation detection method and portable device | |
CN201025527Y (en) | Integrated input device | |
JP2001100906A (en) | Three-dimensional data display device | |
JP5531454B2 (en) | Moving direction calculation device and moving direction calculation program | |
US20220412721A1 (en) | Probe for three-dimensional coordinate measuring device, three-dimensional coordinate measuring device, three-dimensional coordinate measuring system, and three-dimensional coordinate measuring method | |
CN107885109A (en) | A kind of wireless controller | |
CN114237409A (en) | Gyro mouse data processing method, device, system and equipment | |
CN113053074A (en) | Sitting posture monitoring method | |
JP3133600U (en) | Accelerometer type pen-type pointing device. | |
Xu et al. | Design of Measurement Memory System Based on MEMS Acceleration Sensor. | |
CN218673342U (en) | Mortar yaw adjustment angle measuring device and mortar | |
CN110244855A (en) | A kind of body-sensing mouse angle sensor based | |
JP2020156813A (en) | Swing analysis method and swing analyzer | |
CN100495305C (en) | Indicating equipment | |
TWM313840U (en) | Integrated input device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |