Abstract:
Embodiments of the present invention provide a software core controller for facilitating communication between a UAV control system, a UAV, and other peripheral devices used to control or to determine the status of the UAV. Different UAVs, control systems, and peripheral devices may require that data be transmitted and received according to their own particular specifications, such as a particular data rate and a particular format. The software core controller may be configurable to interface with these devices using the devices' interfaces. The interfaces may be specified by the devices' interface control documents (ICDs). The ICDs may be used to configure the software core controller upon initialization. The software core controller may asynchronously receive and provide data at the data rate specified in the various ICDs. The software core controller may support a plurality of different physical interfaces in order to communicate with different control systems, UAVs, and peripheral devices.