Method and system for remote update of microprocessor code for irrigation controllers
First Claim
1. A device for receiving a remote download of microprocessor program code into an operating controller, comprising:
- (A) non-volatile random access memory, configured to store program code;
(B) a microprocessor, in communication with the non-volatile random access memory, including program memory random access memory executing a first program code; and
(C) a physical communication port in communication with the microprocessor;
(D) wherein the microprocessor is configured to facilitate receiving second program code, via the communication port, and storing the second program code into the non-volatile random access memory;
receiving a message, via the communication port, to initiate the second program code and causing a re-start of the microprocessor; and
, responsive to the re-start, fetching the second program code stored in the non-volatile random access memory into the program memory random access memory to replace the first program code, and beginning execution of the second program code in the program memory random access memory.
1 Assignment
0 Petitions
Accused Products
Abstract
A remote download of microprocessor code for an irrigation controller is provided. A microprocessor, on an irrigation controller, is executing program code (in volatile memory) and receives a remote download of updated program code, which it stores into non-volatile random access memory, e.g., flash memory. The microprocessor is configured to receive the updated program code, via a communication port, and to store the updated program code into the non-volatile flash memory. Optionally, the updated program code is received at multiple controllers via a global transmission on a communication bus. The microprocessor receives a communication causing it to re-start. In response to the re-start communication, the microprocessor fetches the updated program code stored in the non-volatile flash memory into the program memory RAM to replace the original program code, and begins execution of the updated program code in the program memory RAM. A device is also provided for directing the download of program code to irrigation controllers. Options provide for global download of entirely new program code, global and/or individual download of particular pages of updated program code, and global downloads to controllers grouped by communication speed.
-
Citations
20 Claims
-
1. A device for receiving a remote download of microprocessor program code into an operating controller, comprising:
-
(A) non-volatile random access memory, configured to store program code;
(B) a microprocessor, in communication with the non-volatile random access memory, including program memory random access memory executing a first program code; and
(C) a physical communication port in communication with the microprocessor;
(D) wherein the microprocessor is configured to facilitate receiving second program code, via the communication port, and storing the second program code into the non-volatile random access memory;
receiving a message, via the communication port, to initiate the second program code and causing a re-start of the microprocessor; and
, responsive to the re-start, fetching the second program code stored in the non-volatile random access memory into the program memory random access memory to replace the first program code, and beginning execution of the second program code in the program memory random access memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable medium comprising instructions being executed by a computer, the instructions including a computer-implemented method for downloading microprocessor code into one or more controllers, where the controllers include a microprocessor running an application that supports the download process, the instructions for implementing the steps of:
-
(A) determining whether at least one controller is to receive an updated program code;
(B) transmitting the updated program code to the at least one controller; and
(C) transmitting an instruction causing the at least one controller to initiate the new program code;
(D) wherein the updated program code includes instructions for receiving program code and storing program code into non-volatile random access memory of a controller. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A system facilitating remote download of microprocessor code into a network of controllers, comprising:
-
(A) a plurality of controllers, the controllers having (i) non-volatile random access memory, configured to store program code;
(ii) a microprocessor, in communication with the non-volatile random access memory, including program random access memory executing a first program code; and
(iii) a physical communication port in communication with the microprocessor;
(iv) wherein the microprocessor is configured to facilitate receiving second program code, via the communication port, and storing the second program code into the non-volatile random access memory;
receiving a message, via the communication port, to initiate the second program code and causing a re-start of the microprocessor; and
, responsive to the re-start, fetching the second program code stored in the non-volatile random access memory into the program random access memory to replace the first program code, and beginning execution of the second program code in the program random access memory;
wherein the microprocessor is further configured to communicate, via the communication port, to at least one of a connection to a computer and a connection to at least one other controller; and
(B) a computer program device, in communication with the plurality of controllers, configured to facilitate;
(i) determining whether at least one controller of the plurality of controllers is to receive the second program code;
(ii) transmitting the second program code to the at least one controller; and
(iii) transmitting the message causing the at least one controller to initiate the second program code. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification