Software update system for aerial vehicles
A software update system is disclosed for managing a remote software updating process for aerial vehicles. Responsive to receiving an indication from a companion application that an update for a display or a Flight Control Computer (FCC) is available for installation, the software update system may determine if a set of requirements are met by retrieving information associated with the aircraft from the sensors of the aircraft. The software update system may determine whether the aircraft is suitable for performing the installation of the update by checking a set of requirements and retrieving information from the sensors of the aircraft. The software update system may further determine if the update is for a display or an FCC and perform a different remote update process for each type of update correspondingly.
1 . A method for coordinating review of a software update, the method comprising:
receiving, from a software update system implemented on an aircraft, an update completion code indicating the software update was installed on a control system for the aircraft, wherein the control system is configured to generate control signals for operating one or more actuators controlling mechanical components of the aircraft;
confirming the update completion code against an expected update completion code;
in response to confirming the update completion code as valid:
sending to the software update system a confirmation code,
sending to a client device of a certified reviewer an update log indicating the software update installed on the control system; and
receiving, from the client device, a result from review by the certified reviewer;
in response to confirming the update completion code as invalid:
sending to the software update system an error code indicating improper installation of the software update, wherein the error code comprises instructions to enjoin operation of the aircraft by enjoining startup of the control system implemented on the aircraft; and
updating in a database an entry for the aircraft comprising a unique aircraft identifier, the software update installed on the control system, the update completion code as valid or invalid, and the result from the review.
2 . The method of claim 1 , wherein the update completion code comprises one or more cyclic redundancy check (CRC) codes staggered throughout the software update.
3 . The method of claim 2 , wherein confirming the update completion code comprises matching each CRC code against an expected CRC code.
4 . The method of claim 1 , wherein the error code further comprises
a prompt to reinitiate the software update.
5 . The method of claim 1 , wherein the result is either a positive result or a negative result.
6 . The method of claim 5 , further comprising:
in response to receiving a positive result, sending to the software update system the positive result indicating successful installation and approval of the software update; and
in response to receiving a negative result, sending to the software update system the negative result indicating disapproval of the software update.
7 . The method of claim 6 , wherein the negative result comprises one or both of:
instructions to enjoin operation of the aircraft; and
a prompt to reinitiate the software update.
8 . A non-transitory computer-readable storage medium storing instructions that, when executed by one or more computer processors, causes the one or computer processors to execute operations comprising:
receiving, from a software update system implemented on an aircraft, an update completion code indicating the software update was installed on a control system for the aircraft, wherein the control system is configured to generate control signals for operating one or more actuators controlling mechanical components of the aircraft;
confirming the update completion code against an expected update completion code;
in response to confirming the update completion code as valid:
sending to the software update system a confirmation code,
sending to a client device of a certified reviewer an update log indicating the software update installed on the control system; and
receiving, from the client device, a result from review by the certified reviewer;
in response to confirming the update completion code as invalid:
sending to the software update system an error code indicating improper installation of the software update, wherein the error code comprises instructions to enjoin operation of the aircraft by enjoining startup of the control system implemented on the aircraft; and
updating in a database an entry for the aircraft comprising a unique aircraft identifier, the software update installed on the control system, the update completion code as valid or invalid, and the result from the review.
9 . The non-transitory computer-readable storage medium of claim 8 , wherein the update completion code comprises one or more cyclic redundancy check (CRC) codes staggered throughout the software update.
10 . The non-transitory computer-readable storage medium of claim 9 , wherein confirming the update completion code comprises matching each CRC code against an expected CRC code.
11 . The non-transitory computer-readable storage medium of claim 8 , wherein the error code further comprises
a prompt to reinitiate the software update.
12 . The non-transitory computer-readable storage medium of claim 8 , wherein the result is either a positive result or a negative result.
13 . The non-transitory computer-readable storage medium of claim 12 , the operations further comprising:
sending to the software update system the positive result indicating successful installation and approval of the software update upon receipt of a positive result; and
sending to the software update system the negative result indicating disapproval of the software update upon receipt of a negative result.
14 . The non-transitory computer-readable storage medium of claim 13 , wherein the negative result comprises one or both of:
instructions to enjoin operation of the aircraft; and
a prompt to reinitiate the software update.