CN109481946A - Bus master-slave equipment determines method and system and its medium and bus apparatus - Google Patents
Bus master-slave equipment determines method and system and its medium and bus apparatus Download PDFInfo
- Publication number
- CN109481946A CN109481946A CN201811347725.2A CN201811347725A CN109481946A CN 109481946 A CN109481946 A CN 109481946A CN 201811347725 A CN201811347725 A CN 201811347725A CN 109481946 A CN109481946 A CN 109481946A
- Authority
- CN
- China
- Prior art keywords
- bus
- equipment
- slave
- itself
- main equipment
- 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.)
- Granted
Links
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63H—TOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
- A63H33/00—Other toys
- A63H33/04—Building blocks, strips, or similar building parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
Abstract
The present invention provides a kind of bus master-slave equipments to determine method and system and its medium and bus apparatus, comprising: if meeting first condition, emits main equipment confirmation signal of the instruction equipment of itself as bus master to bus;Otherwise, it is determined that equipment of itself is as bus slave;The first condition includes not receiving main equipment confirmation signal from bus within the time of the preset delayed data instruction of equipment of itself, and main equipment statement signal is not received from bus, wherein, there is currently bus masters for the main equipment statement signal designation bus.The present invention expires to send main equipment confirmation signal according to the preset delay time of each bus apparatus, each bus apparatus has different preset delay times, to according to the length of delay time generate bus master without conflict, and have newly-increased bus apparatus and bus master it is offline in the case where still be able to generate new bus master or bus slave.
Description
Technical field
The present invention relates to electronic building blocks, and in particular, to bus master-slave equipment determines method and system and its medium and total
Line equipment.
Background technique
Electronics technology building blocks can be formed after traditional particle building blocks combination electronics technology, energy between these electronics technology building blocks
Enough function of the mutually communication to realize control be controlled, so that these multiple building blocks realize advanced function on the whole, and
Control and the one kind for by control itself for children being also playing method, after can therefrom obtaining many enjoyment and realizing control link
Sense of accomplishment.
It controls and is controlled due to being related to, must just have different role status between multiple building blocks, thus
Realize the relationship in control.Controller is called main equipment, and controlled person is called from equipment.Main equipment is to one or more from equipment
It is controlled, realizes function under control of the master device from equipment.
Patent document CN2537081Y discloses a kind of intellectual toy bricks, contains main module in a whole set of building blocks and sets as master
It is standby, it is used as from module from equipment, to form master & slave control relationship.Patent document CN105913741A is equally provided with main equipment
With from equipment, the training mode for the formula of playing with building blocks is realized, which solve how the equipment in part is damaged relative to integration apparatus
Bad when, does not influence the normal work of other equipment.Patent document CN107754349A discloses a kind of intelligent building blocks, is provided with master
Module and from module, main module include main display unit, main wireless communication unit, main CPU unit, main NFC unit, negative from module
Duty receives the data that main module distributes, and the module number near itself is uploaded to main module.
Shortcoming in the prior art is: main module, be from the role relation of module it is preset, and unconvertible,
Once main module damage goes offline or do not access, work will be unable to from module.
Summary of the invention
For the defects in the prior art, the object of the present invention is to provide a kind of bus master-slave equipments to determine method and system
And its medium and bus apparatus.
A kind of bus master-slave equipment provided according to the present invention determines method, comprising:
Principal and subordinate determines step: if meeting first condition, emitting instruction equipment of itself as bus master to bus
Main equipment confirmation signal;Otherwise, it is determined that equipment of itself is as bus slave;Wherein, the first condition includes following appoints
One condition:
Condition A: main equipment confirmation is not received from bus within the time of the preset delayed data instruction of equipment of itself
Signal;Or
Condition B: main equipment confirmation is not received from bus within the time of the preset delayed data instruction of equipment of itself
Signal, and do not receive main equipment statement signal from bus, wherein main equipment statement signal designation bus there is currently
Bus master.
Preferably, comprising:
Main equipment detecting step: judge whether to receive the main equipment statement signal from bus;If receiving main equipment
State signal, it is determined that equipment of itself is as bus slave;Otherwise, then determine that step continues to execute into the principal and subordinate.
Preferably, the principal and subordinate determines that step includes:
Delayed data obtains step: obtaining the preset delayed data according to the id information of equipment of itself.
Preferably, the relationship between the id information of bus apparatus and the time of delayed data instruction is one-to-one relationship.
Preferably, the principal and subordinate determines that step is executed by powering on triggering.
A kind of bus master-slave equipment provided according to the present invention determines system, comprising:
Principal and subordinate's determining module: if meeting first condition, emit instruction equipment of itself as bus master to bus
Main equipment confirmation signal;Otherwise, it is determined that equipment of itself is as bus slave;Wherein, the first condition includes following appoints
One condition:
Condition A: main equipment confirmation is not received from bus within the time of the preset delayed data instruction of equipment of itself
Signal;Or
Condition B: main equipment confirmation is not received from bus within the time of the preset delayed data instruction of equipment of itself
Signal, and do not receive main equipment statement signal from bus, wherein main equipment statement signal designation bus there is currently
Bus master.
Preferably, comprising:
Main equipment detection module: judge whether to receive the main equipment statement signal from bus;If receiving main equipment
State signal, it is determined that equipment of itself is as bus slave;Otherwise, then it is continued to execute into principal and subordinate's determining module.
Preferably, principal and subordinate's determining module includes:
Delayed data obtains module: obtaining the preset delayed data according to the id information of equipment of itself.
Preferably, the relationship between the id information of bus apparatus and the time of delayed data instruction is one-to-one relationship.
Preferably, principal and subordinate's determining module is executed by powering on triggering.
Preferably, the transmit cycle of main equipment statement signal is less than the time of preset delayed data instruction.
A kind of computer readable storage medium for being stored with computer program provided according to the present invention, the computer journey
The step of bus master-slave equipment determines method is realized when sequence is executed by processor.
A kind of bus apparatus provided according to the present invention, which is characterized in that including controller, wherein the controller packet
It includes the bus master-slave equipment and determines system or the computer readable storage medium for being stored with computer program.
Compared with prior art, the present invention have it is following the utility model has the advantages that
The present invention expires to send main equipment confirmation signal, each bus according to the preset delay time of each bus apparatus
Equipment has different preset delay times, to generate bus master without rushing according to the length of delay time
It is prominent, and have newly-increased bus apparatus and bus master it is offline in the case where still be able to generate new bus master or
Bus slave.
Detailed description of the invention
Upon reading the detailed description of non-limiting embodiments with reference to the following drawings, other feature of the invention,
Objects and advantages will become more apparent upon:
Fig. 1 is the step flow chart that a kind of bus master-slave equipment provided by the invention determines method.
Fig. 2 is the structure principle chart that a kind of bus master-slave equipment provided by the invention determines system.
Specific embodiment
The present invention is described in detail combined with specific embodiments below.Following embodiment will be helpful to the technology of this field
Personnel further understand the present invention, but the invention is not limited in any way.It should be pointed out that the ordinary skill of this field
For personnel, without departing from the inventive concept of the premise, several changes and improvements can also be made.These belong to the present invention
Protection scope.
A kind of bus master-slave equipment provided according to the present invention determines method, comprising:
Main equipment detecting step: judge whether to receive the main equipment statement signal from bus;If receiving main equipment
State signal, it is determined that equipment of itself is as bus slave;Otherwise, then determine that step continues to execute into the principal and subordinate.
Principal and subordinate determines step: if meeting first condition, emitting instruction equipment of itself as bus master to bus
Main equipment confirmation signal;Otherwise, it is determined that equipment of itself is as bus slave;Wherein, the first condition includes condition B:
Main equipment confirmation signal is not received from bus within the time of the preset delayed data instruction of equipment of itself, and not from total
Line receives main equipment statement signal, wherein there is currently bus masters for the main equipment statement signal designation bus.The principal and subordinate
It determines that step includes: that delayed data obtains step: the preset delayed data is obtained according to the id information of equipment of itself.Bus
Relationship between the time of id information and the delayed data instruction of equipment is one-to-one relationship.The principal and subordinate determines step by upper
Electricity triggering executes.Main equipment states that the transmit cycle of signal is less than the time of preset delayed data instruction.
Specifically, bus master-slave equipment provided by the invention determines method, especially a kind of bus in bus apparatus
Master-slave equipment determines method, and bus apparatus by bus master-slave equipment determines method to realize to itself being main equipment or from setting
The identification of standby role relation, and with the main equipment being used as by other bus apparatus or carry out being adapted to communication from equipment.
Assuming that there are three bus apparatus and a power supply, wherein these bus apparatus and power supply are building blocks, therefore
It is denoted as respectively: building blocks A, building blocks B, building blocks C, power supply building blocks.Building blocks A, it building blocks B, building blocks C, is electrically connected between power supply building blocks, this
When power supply building blocks be in close state, building blocks A, building blocks B, building blocks C are in power failure state.After power supply building blocks open power supply,
Building blocks A, building blocks B, building blocks C are powered on, since building blocks A, building blocks B, building blocks C are accessed on same bus, it is therefore desirable to set one
A main equipment and two are from equipment, if power supply building blocks are not preset as from equipment, need to set three from equipment, hereinafter with
Power supply building blocks have been preset as being illustrated for equipment.
Firstly, building blocks A, building blocks B, building blocks C respectively judge whether to receive the statement signal of the main equipment from bus,
Wherein, there is currently bus masters for the main equipment statement signal designation bus.Due to currently just powering on main equipment not yet,
Main equipment statement signal is naturally also issued without main equipment therefore determines that step continues to execute into the principal and subordinate.
Then, building blocks A, building blocks B, building blocks C are within the time of the preset delayed data instruction of equipment of itself not from bus
Main equipment confirmation signal is received, and does not receive main equipment statement signal from bus, emits instruction equipment of itself to bus
Main equipment confirmation signal as bus master.Specifically, it is assumed that building blocks A, building blocks B, preset delayed data refers in building blocks C
The time shown is respectively TA, TB, TC, wherein the time of TB is most short, time time short, the time longest of TC of TA.After powering on,
The TB time arrives first, and building blocks B emits main equipment confirmation signal of the instruction equipment of itself as bus master to bus, and determines
For bus master.Building blocks A, building blocks C receive main equipment of the instruction building blocks B sent by building blocks B as bus master
When confirmation signal still before TA, TC have not timed out, therefore building blocks A, building blocks C are determined as bus slave.
So far, building blocks A, building blocks C are not sent further on main equipment confirmation letter of the instruction equipment of itself as bus master
Number.So that it is determined that building blocks B, as bus master, building blocks A, building blocks C are as bus slave.Building blocks B is set as bus master
It is standby periodically to issue main equipment statement signal to bus, to notify the existing bus master of other bus apparatus of access bus
Equipment.
Further, when there is new bus apparatus, it is assumed that building blocks D comes from when accessing bus it is first determined whether receiving
The main equipment of bus states signal, the result is that the main equipment statement signal of building blocks B sending can be received, therefore building blocks D is determined certainly
Body equipment is as bus slave.
Further, after building blocks B is removed, building blocks B is offline from bus, all without bus master at this time
Send to phase property main equipment statement signal.Building blocks A, building blocks C, building blocks D also in bus will judge whether to receive from total
The main equipment of line states signal, and is not received by main equipment statement signal, determines that step continues to execute into the principal and subordinate, directly
To there is bus master appearance.Wherein, bus slave periodically judges whether to receive the statement of the main equipment from bus
Signal, to find the offline of bus master in time.Wherein, the main equipment statement signal can be heartbeat signal, control letter
Number or data-signal, periodically issued by bus master.
In change case, main equipment detecting step can be omitted, and first condition includes condition A: default in equipment of itself
Delayed data instruction time in do not receive main equipment confirmation signal from bus.Then building blocks A, building blocks B, building blocks C pass through
Principal and subordinate determines step also and the determination of bus master, bus slave may be implemented.
A kind of bus master-slave equipment provided by the invention determines system, and those skilled in the art can be by the bus principal and subordinate
Equipment determines that method is interpreted as the specific embodiment that the bus master-slave equipment determines system, and the bus master-slave equipment is true
Determining system can determine that the step process of method is realized by executing the bus master-slave equipment.Specifically, it mentions according to the present invention
A kind of bus master-slave equipment supplied determines system, comprising:
Principal and subordinate's determining module: if meeting first condition, emit instruction equipment of itself as bus master to bus
Main equipment confirmation signal;Otherwise, it is determined that equipment of itself is as bus slave;Wherein, the first condition includes following appoints
One condition:
Condition A: main equipment confirmation is not received from bus within the time of the preset delayed data instruction of equipment of itself
Signal;Or
Condition B: main equipment confirmation is not received from bus within the time of the preset delayed data instruction of equipment of itself
Signal, and do not receive main equipment statement signal from bus, wherein main equipment statement signal designation bus there is currently
Bus master.
Main equipment detection module: judge whether to receive the main equipment statement signal from bus;If receiving main equipment
State signal, it is determined that equipment of itself is as bus slave;Otherwise, then it is continued to execute into principal and subordinate's determining module.
Preferably, principal and subordinate's determining module includes:
Delayed data obtains module: obtaining the preset delayed data according to the id information of equipment of itself.
Relationship between the time of id information and the delayed data instruction of bus apparatus is one-to-one relationship.The principal and subordinate
Determining module is executed by powering on triggering.Main equipment states that the transmit cycle of signal is less than the time of preset delayed data instruction.
A kind of computer readable storage medium for being stored with computer program provided according to the present invention, the computer journey
The step of bus master-slave equipment determines method is realized when sequence is executed by processor.
A kind of bus apparatus provided according to the present invention, which is characterized in that including controller, wherein the controller packet
It includes the bus master-slave equipment and determines system or the computer readable storage medium for being stored with computer program.
In preference, the bus apparatus is intelligent building blocks.
One skilled in the art will appreciate that in addition to realizing system provided by the invention in a manner of pure computer readable program code
It, completely can be by the way that method and step be carried out programming in logic come so that provided by the invention other than system, device and its modules
System, device and its modules are declined with logic gate, switch, specific integrated circuit, programmable logic controller (PLC) and insertion
The form of controller etc. realizes identical program.So system provided by the invention, device and its modules may be considered that
It is a kind of hardware component, and the knot that the module for realizing various programs for including in it can also be considered as in hardware component
Structure;It can also will be considered as realizing the module of various functions either the software program of implementation method can be Hardware Subdivision again
Structure in part.
Specific embodiments of the present invention are described above.It is to be appreciated that the invention is not limited to above-mentioned
Particular implementation, those skilled in the art can make a variety of changes or modify within the scope of the claims, this not shadow
Ring substantive content of the invention.In the absence of conflict, the feature in embodiments herein and embodiment can any phase
Mutually combination.
Claims (13)
1. a kind of bus master-slave equipment determines method characterized by comprising
Principal and subordinate determines step: if meeting first condition, emitting instruction equipment of itself as the master of bus master to bus and sets
Standby confirmation signal;Otherwise, it is determined that equipment of itself is as bus slave;Wherein, the first condition include it is following any one
Condition:
Condition A: main equipment confirmation signal is not received from bus within the time of the preset delayed data instruction of equipment of itself;
Or
Condition B: not receiving main equipment confirmation signal from bus within the time of the preset delayed data instruction of equipment of itself,
And main equipment statement signal is not received from bus, wherein there is currently buses for the main equipment statement signal designation bus
It is main.
2. bus master-slave equipment according to claim 1 determines method characterized by comprising
Main equipment detecting step: judge whether to receive the main equipment statement signal from bus;If receiving main equipment statement
Signal, it is determined that equipment of itself is as bus slave;Otherwise, then determine that step continues to execute into the principal and subordinate.
3. bus master-slave equipment according to claim 1 determines method, which is characterized in that the principal and subordinate determines step packet
It includes:
Delayed data obtains step: obtaining the preset delayed data according to the id information of equipment of itself.
4. bus master-slave equipment according to claim 1 determines method, which is characterized in that the id information of bus apparatus with prolong
When information instruction time between relationship be one-to-one relationship.
5. bus master-slave equipment according to claim 1 determines method, which is characterized in that the principal and subordinate determines step by upper
Electricity triggering executes.
6. a kind of bus master-slave equipment determines system characterized by comprising
Principal and subordinate's determining module: if meeting first condition, emit instruction equipment of itself as the master of bus master to bus and set
Standby confirmation signal;Otherwise, it is determined that equipment of itself is as bus slave;Wherein, the first condition include it is following any one
Condition:
Condition A: main equipment confirmation signal is not received from bus within the time of the preset delayed data instruction of equipment of itself;
Or
Condition B: not receiving main equipment confirmation signal from bus within the time of the preset delayed data instruction of equipment of itself,
And main equipment statement signal is not received from bus, wherein there is currently buses for the main equipment statement signal designation bus
It is main.
7. bus master-slave equipment according to claim 6 determines system characterized by comprising
Main equipment detection module: judge whether to receive the main equipment statement signal from bus;If receiving main equipment statement
Signal, it is determined that equipment of itself is as bus slave;Otherwise, then it is continued to execute into principal and subordinate's determining module.
8. bus master-slave equipment according to claim 6 determines system, which is characterized in that principal and subordinate's determining module packet
It includes:
Delayed data obtains module: obtaining the preset delayed data according to the id information of equipment of itself.
9. bus master-slave equipment according to claim 6 determines system, which is characterized in that the id information of bus apparatus with prolong
When information instruction time between relationship be one-to-one relationship.
10. bus master-slave equipment according to claim 6 determines system, which is characterized in that principal and subordinate's determining module by
Triggering is powered on to execute.
11. bus master-slave equipment according to claim 1 determines that method or bus principal and subordinate as claimed in claim 6 are set
It is standby to determine system, which is characterized in that main equipment states that the transmit cycle of signal is less than the time of preset delayed data instruction.
12. a kind of computer readable storage medium for being stored with computer program, which is characterized in that the computer program is located
The step of reason device realizes method described in any one of claims 1 to 5 or claim 11 when executing.
13. a kind of bus apparatus, which is characterized in that including controller, wherein the controller includes in claim 6 to 11
Described in any item bus master-slave equipments determine the computer that computer program is stored with described in system or claim 12
Readable storage medium storing program for executing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811347725.2A CN109481946B (en) | 2018-11-13 | 2018-11-13 | Bus master-slave equipment determining method and system, medium and bus equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811347725.2A CN109481946B (en) | 2018-11-13 | 2018-11-13 | Bus master-slave equipment determining method and system, medium and bus equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109481946A true CN109481946A (en) | 2019-03-19 |
CN109481946B CN109481946B (en) | 2022-07-15 |
Family
ID=65694771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811347725.2A Active CN109481946B (en) | 2018-11-13 | 2018-11-13 | Bus master-slave equipment determining method and system, medium and bus equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109481946B (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1336598A (en) * | 2001-09-07 | 2002-02-20 | 清华大学 | Quasi-synchronous master-slave remote education information management system and its implementation method |
CN106776436A (en) * | 2017-01-12 | 2017-05-31 | 烽火通信科技股份有限公司 | A kind of high-speed serial bus structure and its communication means suitable for multiple spot interconnection |
CN107754349A (en) * | 2017-12-04 | 2018-03-06 | 成都伟嘉斯特科技有限公司 | Intelligent building blocks |
CN108351851A (en) * | 2015-09-11 | 2018-07-31 | 思睿逻辑国际半导体有限公司 | More equipment of multiple equipment synchronize |
CN108536636A (en) * | 2018-04-02 | 2018-09-14 | 郑州云海信息技术有限公司 | A kind of master-slave negotiation sequential machine based on PECI buses |
CN108563593A (en) * | 2018-04-12 | 2018-09-21 | 四川升华电源科技有限公司 | A kind of host determination method and device |
-
2018
- 2018-11-13 CN CN201811347725.2A patent/CN109481946B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1336598A (en) * | 2001-09-07 | 2002-02-20 | 清华大学 | Quasi-synchronous master-slave remote education information management system and its implementation method |
CN108351851A (en) * | 2015-09-11 | 2018-07-31 | 思睿逻辑国际半导体有限公司 | More equipment of multiple equipment synchronize |
CN106776436A (en) * | 2017-01-12 | 2017-05-31 | 烽火通信科技股份有限公司 | A kind of high-speed serial bus structure and its communication means suitable for multiple spot interconnection |
CN107754349A (en) * | 2017-12-04 | 2018-03-06 | 成都伟嘉斯特科技有限公司 | Intelligent building blocks |
CN108536636A (en) * | 2018-04-02 | 2018-09-14 | 郑州云海信息技术有限公司 | A kind of master-slave negotiation sequential machine based on PECI buses |
CN108563593A (en) * | 2018-04-12 | 2018-09-21 | 四川升华电源科技有限公司 | A kind of host determination method and device |
Also Published As
Publication number | Publication date |
---|---|
CN109481946B (en) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9672186B2 (en) | Electronic monitoring device having wake-up for daisy chain | |
CN108370338A (en) | Optimal stand-by period packetizer finite state machine for information receiving and input/output passing interface | |
CN105101361A (en) | Node devices and communication method thereof | |
TW201022947A (en) | Bus-handling device and method | |
CA2438370A1 (en) | Command synchronization establishment system | |
CN109597741A (en) | A kind of the remote access instruction device and server of server | |
CN109395418A (en) | Bus master-slave equipment determines method and system and its medium and bus apparatus | |
TW201447559A (en) | Two-wire serial interface and protocol | |
CN105122736B (en) | Method and system for main arbitration | |
CN103778092A (en) | USB and SD interface multiplex circuit and multiplex method | |
US9720489B2 (en) | System comprising a main electrical unit and a peripheral electrical unit | |
CN107085379A (en) | A kind of intelligent home control system and control method | |
CN104916102B (en) | The wireless communication and control method of intelligent gas meter | |
CN109481946A (en) | Bus master-slave equipment determines method and system and its medium and bus apparatus | |
CN105868131B (en) | Delays time to control equipment, delay control method and electronic device | |
US20160124488A1 (en) | Controlling power states of a device | |
US20160239456A1 (en) | Electronic device for communicating between a microcontroller unit (mcu) and a host processor and related methods | |
CN108989393A (en) | Beddo synchronisation control means and control system based on single line communication | |
CN103839394B (en) | The control method of controlled switch and controlled switch | |
CN101955095B (en) | Multi-target card based operation and control system and control method of wireless remote elevator calling | |
CN109993951A (en) | A kind of doorplate system and its control method and device | |
CN209336500U (en) | A kind of battery management system and electric car applied to electric car | |
CN106605186A (en) | Image processing apparatus and method for controlling image processing apparatus | |
CN207601173U (en) | electric quantity monitoring device and electric quantity monitoring control system | |
CN103632518B (en) | USB wireless network connections equipment, onboard system and its awakening method |
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 |