Patent ID: 7302312

Claim:
A hardware abstraction layer (HAL) in an apparatus with a software architecture, the HAL comprising: software interfaces to higher-level software, wherein the software interfaces are configured to communicate with higher-level software with real-world measurements relating to interaction of the apparatus with an environment; a resource configuration that provides an indication of available resources of the higher-level software; a plurality of resource drivers, wherein at least a portion of the resource drivers correspond to the available resources in the resource configuration, wherein at least two of the resource drivers overlap in functionality, where only one of the at least two resource drivers has a corresponding resource available, where a resource driver for an available resource is configured to translate between real-world measurements for the apparatus and device-level measurements for a device; and an interface to lower-level device drivers, wherein the lower-level device drivers communicate with corresponding hardware at a device level, and where the interface to lower-level device drivers communicates to the higher-level software via a resource driver.