Software framework and development platform for multi-sensor systems
First Claim
1. A software development system, comprising:
- a development board including an interface and a target processor;
a sensor board coupled to the development board through the interface, the sensor board including multiple sensors;
memory storing application program code and a software library, which, when executed by the target processor, causes the target processor to perform the operations comprising;
receiving a request from the application program for sensor data;
identifying a sensor of the multiple sensors for providing the requested sensor data;
identifying a dedicated driver in a driver layer for the identified sensor;
determining whether the application program is requesting raw or processed sensor data;
if the application program is requesting processed sensor data;
requesting raw sensor data from the identified driver;
receiving the requested raw sensor data from the identified driver;
sending the raw sensor data to a function of the software library;
processing, by the function of the software library, the raw sensor data to generate the requested processed sensor data; and
providing the processed sensor data to the application program; and
if the application program is requesting raw sensor data;
requesting raw sensor data from the identified driver; and
providing the raw sensor data to the application program.
17 Assignments
0 Petitions
Accused Products
Abstract
The disclosed software framework and development platform facilitates software development for multi-sensor systems. In some implementations, developers can select a sensor board that includes a desired combination of sensor devices. The sensor board can be coupled to a development board that includes a target processor and other circuitry to facilitate development and testing of a system that includes the target processor and the sensors. Various software support tools are provided including an Application Programming Interface (API) that provides API abstractions for software drivers for the sensors on the sensor board. By using the abstractions of the API, a software developer does not have to write code (“glue”) to interact with the various software drivers. Additionally, the API provides access to a variety of software library functions for performing data scaling, unit conversion and mathematical functions and algorithms.
30 Citations
14 Claims
-
1. A software development system, comprising:
-
a development board including an interface and a target processor; a sensor board coupled to the development board through the interface, the sensor board including multiple sensors; memory storing application program code and a software library, which, when executed by the target processor, causes the target processor to perform the operations comprising; receiving a request from the application program for sensor data; identifying a sensor of the multiple sensors for providing the requested sensor data; identifying a dedicated driver in a driver layer for the identified sensor; determining whether the application program is requesting raw or processed sensor data; if the application program is requesting processed sensor data; requesting raw sensor data from the identified driver; receiving the requested raw sensor data from the identified driver; sending the raw sensor data to a function of the software library; processing, by the function of the software library, the raw sensor data to generate the requested processed sensor data; and providing the processed sensor data to the application program; and if the application program is requesting raw sensor data; requesting raw sensor data from the identified driver; and providing the raw sensor data to the application program. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method performed by a software development system including a development board including an interface, a target processor and a sensor board coupled to the development board through the interface, the sensor board including multiple sensors, the method comprising:
-
receiving a request from the application program for sensor data; identifying a sensor of the multiple sensors for providing the requested sensor data; identifying a dedicated driver in a driver layer for the identified sensor; determining whether the application program is requesting raw or processed sensor data; if the application program is requesting processed sensor data; requesting raw sensor data from the identified driver; receiving the requested raw sensor data from the identified driver; sending the raw sensor data to a function of the software library; processing, by the function of the software library, the raw sensor data to generate the requested processed sensor data; and providing the processed sensor data to the application program; and
if the application program is requesting raw sensor data;requesting raw sensor data from the identified driver; and providing the raw sensor data to the application program. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification