Irrigation smart controllers with programming and firmware updating
First Claim
Patent Images
1. An irrigation control unit (ICU), comprising:
- at least one interface configured to control at least one water distribution element;
at least one network interface;
at least one processor;
a first memory; and
a second memory comprising;
a boot portion comprising a first family ID value;
instructions executable by the at least one processor to;
receive, from a first server address via the at least one network interface, a time and a second server address to request a software update;
request a data block associated with the software update based upon a block number associated with the block;
receive the data block, a first error code, and a second family ID value from the second server address via the at least one network interface;
determine that the first family ID value and second family ID value are the same;
confirm an integrity of the data block based upon the first error code;
generate a second error code based upon the data block;
store the data block in the first memory;
confirm the integrity of the data block as stored in the first memory based upon the second error code;
generate a third error code based upon a plurality of data blocks stored in the first memory, the plurality of data blocks including the first data block;
confirm the integrity of the plurality of data blocks based upon the third error code;
store a plurality of configuration parameters to the second memory;
transfer a portion of contents of the first memory to the second memory, the portion comprising the data block as stored in the first memory; and
restart the ICU based in part upon the boot portion.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the present disclosure include systems and methods for downloading and installing software updates upon an irrigation control unit (ICU). Some of the disclosed embodiments include error checking and integrity verification procedures which help ensure that the new software is properly installed. In some embodiments the update is coordinated in conjunction with the ICU'"'"'s regular contact with a control server.
14 Citations
11 Claims
-
1. An irrigation control unit (ICU), comprising:
-
at least one interface configured to control at least one water distribution element; at least one network interface; at least one processor; a first memory; and a second memory comprising; a boot portion comprising a first family ID value; instructions executable by the at least one processor to; receive, from a first server address via the at least one network interface, a time and a second server address to request a software update; request a data block associated with the software update based upon a block number associated with the block; receive the data block, a first error code, and a second family ID value from the second server address via the at least one network interface; determine that the first family ID value and second family ID value are the same; confirm an integrity of the data block based upon the first error code; generate a second error code based upon the data block; store the data block in the first memory; confirm the integrity of the data block as stored in the first memory based upon the second error code; generate a third error code based upon a plurality of data blocks stored in the first memory, the plurality of data blocks including the first data block; confirm the integrity of the plurality of data blocks based upon the third error code; store a plurality of configuration parameters to the second memory; transfer a portion of contents of the first memory to the second memory, the portion comprising the data block as stored in the first memory; and restart the ICU based in part upon the boot portion. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An irrigation control unit (ICU), comprising:
-
at least one interface configured to control a water distribution element; at least one processor; a first memory; and a second memory comprising instructions executable by the at least one processor to; receive a data block and a first error code from a server; confirm an integrity of the data block based upon the first code; store the data block in the first memory; transfer the contents of the first memory to the second memory; create a first event based on the first error code received from the server; generate a second error code based on a directory; generate a third error code based on a binary code in the first memory; create a second event based on the second error code; create a third event based on the third error code; and restart the ICU. - View Dependent Claims (7, 8, 9, 10, 11)
-
Specification