DE102011088268A1 - Software-Rahmen und Software-Entwicklungsplattform für Multisensorsysteme - Google Patents

Software-Rahmen und Software-Entwicklungsplattform für Multisensorsysteme Download PDF

Info

Publication number
DE102011088268A1
DE102011088268A1 DE201110088268 DE102011088268A DE102011088268A1 DE 102011088268 A1 DE102011088268 A1 DE 102011088268A1 DE 201110088268 DE201110088268 DE 201110088268 DE 102011088268 A DE102011088268 A DE 102011088268A DE 102011088268 A1 DE102011088268 A1 DE 102011088268A1
Authority
DE
Germany
Prior art keywords
software
sensor
sensors
development
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE201110088268
Other languages
English (en)
Inventor
Kent D. Long
Paul A. Iannacito
John Logan
Adrian Woolley
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Atmel Corp
Original Assignee
Atmel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Atmel Corp filed Critical Atmel Corp
Publication of DE102011088268A1 publication Critical patent/DE102011088268A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Navigation (AREA)
  • Stored Programmes (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)
  • Gyroscopes (AREA)

Abstract

Der Software-Rahmen und die Software-Entwicklungsplattform, die offenbart worden sind, erleichtern die Software-Entwicklung für Multisensorsysteme. Bei manchen Implementierungen können Entwickler eine Sensorkarte auswählen, die eine gewünschte Kombination von Sensorvorrichtungen enthält. Die Sensorkarte kann mit einer Entwicklungskarte gekoppelt sein, die einen Zielprozessor und weitere Schaltungen enthält, um die Entwicklung und das Testen eines Systems, das den Zielprozessor und die Sensoren enthält, zu erleichtern. Es sind verschiedene Software-Unterstützungswerkzeuge bereitgestellt, die eine Anwendungsprogrammierschnittstelle (API) umfassen, die API-Abstraktionen für Software-Treiber für die Sensoren auf der Sensorkarte liefert. Durch Verwendung der Abstraktionen der API muss ein Software-Entwickler keinen Code (”Leim”) zuern schreiben. Außerdem verschafft die API Zugriff auf eine Vielzahl von Software-Bibliotheksfunktionen zum Ausführen von Datenskalierung, Umrechnung von Einheiten sowie mathematischen Funktionen und Algorithmen.

Description

  • Die Erfindung bezieht sich auf die Software-Entwicklung und insbesondere auf Software-Rahmen und Software-Entwicklungsplattformen für Multisensorsysteme.
  • Diese Anmeldung beansprucht die Priorität der vorläufigen US-Anmeldung Nr. 61/422.084, eingereicht am 10. Dezember 2010, mit dem Titel ”Software Framework and Development Platform for Multi-Sensor Systems”, deren gesamte Inhalte hier durch Bezugnahme mit aufgenommen sind.
  • Viele moderne Mobilvorrichtungen (z. B. Smartphones, elektronische Tabletts) umfassen eine Reihe von Sensoren, um Anwendungen zu unterstützen, die Trägheits- und Umgebungssensordaten benötigen. Trägheitsdaten können durch integrierte Beschleunigungsmesser, Gyrosensoren und Magnetometer geliefert werden. Umgebungssensordaten können durch Temperatur-, Druck-, Näherungs- und Umgebungslichtsensoren geliefert werden. Trägheits- und Umgebungssensoren können durch eine Vielzahl von Herstellern als IC-Bausteine beschafft werden. Somit ist es üblich, dass eine einzige Vorrichtung Sensoren von verschiedenen Herstellern enthält. Jeder Sensor kann seinen eigenen Software-Treiber enthalten, um für die Interaktion mit dem Sensor wie beispielsweise das Anfordern von Sensordaten oder das Programmieren des Sensors das Ausführen von Programmcode durch einen Anwendungsprozessor (z. B. einen Mikrocontroller) zu ermöglichen.
  • Da die Hersteller von Sensorvorrichtungen ihre Vorrichtungen an viele Kunden verkaufen, liefern die Sensorvorrichtungen im Allgemeinen Rohdaten, um zu ermöglichen, dass die Software-Anwendungen des Kunden die Rohdaten wie gewünscht verarbeiten. Anwendungsentwickler müssen eine weitere Verarbeitung der Rohdaten (z. B. Skalieren und Umrechnen von Einheiten) vornehmen, was vom Anwendungsprozessor zusätzliche Verarbeitungszyklen verlangt.
  • Der Erfindung liegt die Aufgabe zugrunde, einen Software-Rahmen und eine Software-Entwicklungsplattform zu schaffen, die wesentliche Vorteile bieten.
  • Die oben genannte Aufgabe wird erfindungsgemäß gelöst durch ein System nach Anspruch 1 bzw. ein Verfahren nach Anspruch 4. Vorteilhafte Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
  • Der Software-Rahmen und die Software-Entwicklungsplattform, die offenbart worden sind, erleichtern die Software-Entwicklung für Multisensorsysteme. Bei manchen Implementierungen können Entwickler eine Sensorkarte auswählen, die eine gewünschte Kombination von Sensorvorrichtungen enthält. Die Sensorkarte kann mit einer Entwicklungskarte gekoppelt sein, die einen Zielprozessor und weitere Schaltungen enthält, um die Entwicklung und das Testen eines Systems, das den Zielprozessor und die Sensoren enthält, zu erleichtern. Es sind verschiedene Software-Unterstützungswerkzeuge bereitgestellt, die eine Anwendungsprogrammierschnittstelle (API) umfassen, die API-Abstraktionen für Software-Treiber für die Sensoren auf der Sensorkarte liefert. Durch Verwendung der Abstraktionen der API muss ein Software-Entwickler keinen Code (”Leim”) zur Interaktion mit den verschiedenen Software-Treibern schreiben. Außerdem verschafft die API Zugriff auf eine Vielzahl von Software-Bibliotheksfunktionen zum Ausführen von Datenskalierung, Umrechnung von Einheiten sowie mathematischen Funktionen und Algorithmen.
  • Bestimmte Ausführungsformen der Erfindung können implementiert sein, um einen oder mehrere der folgenden Vorteile zu verwirklichen: 1) schnelle und effiziente Software-Entwicklung für Multisensorsysteme, 2) reduzierte Software-Entwicklungskosten und 3) eine einfache Schnittstelle zu Sensoren und Standard-API-Definition zur Anwendungs-Software.
  • Weitere Merkmale und Vorteile der Erfindung werden deutlich beim Lesen der folgenden Beschreibung bevorzugter Ausführungsformen, die auf die Zeichnungen Bezug nimmt, es zeigen:
  • 1 einen Blockschaltplan eines beispielhaften Software-Entwicklungssystems zum Entwickeln und Testen von Multisensorsystemen,
  • 2 eine beispielhafte Software-Architektur zum Entwickeln von Software unter Verwendung des Software-Entwicklungssystems von 1,
  • 3 einen Ablaufplan eines beispielhaften Prozesses zum Anfordern von Sensordaten unter Verwendung der Software-Architektur von 2 und
  • 4 einen Blockschaltplan eines beispielhaften Multisensorsystems zum Speichern und Ausführen von durch das Software-Entwicklungssystem von 1 entwickelter Software unter Verwendung der Software-Architektur von 2.
  • Beispielhafte Entwicklungsplattform
  • 1 ist ein Blockschaltplan eines beispielhaften Software-Entwicklungssystems 100 zum Entwickeln und Testen von Multisensorsystemen. In manchen Implementierungen umfasst das System 100 eine Entwicklungskarte 102 und eine Sensorkarte 104.
  • Die Entwicklungskarte 102 kann einen Zielprozessor 106, einen Karten-Controller 108, digitale Anschlüsse 110a–b, einen Datenspeicher 112 (z. B. einen Flash-Speicher), einen analogen Anschluss 114, einen Programmieranschluss 116, einen seriellen Anschluss 118 (z. B. USB), einen Vielzweck-E/A-Anschluss 120 (GPIO) und eine Berührungs-Schiebeeinrichtungs-Schnittstelle 122 enthalten.
  • Der Zielprozessor 106 ist jener Prozessor, der die Software, die unter Verwendung der Entwicklungskarte 102 entwickelt oder getestet wird, speichert und ausführt. Der Karten-Controller 108 steuert die Funktionen der Entwicklungskarte 102 einschließlich des Leistungsmanagements, der E/A-Anschlüsse und Peripherieeinheiten, des Busmanagements, des Speichermanagements und irgendwelcher weiterer Funktionen, die mit der Entwicklungskarte 102 zusammenhängen. Der Karten-Controller 108 kann Betriebssystemcode zur Erfüllung der verschiedenen Entwicklungskartenfunktionen ausführen. Die digitalen Anschlüsse 110a, 110b bilden eine digitale Schnittstelle zur Entwicklungskarte 102 für verschiedene digitale Vorrichtungen und Peripherieeinheiten. Der analoge Anschluss 114 bildet eine analoge Schnittstelle zur Entwicklungskarte 102 für verschiedene analoge Vorrichtungen und Peripherieeinheiten. Der Programmieranschluss 116 bildet eine Schnittstelle zur Entwicklungskarte 102, die einer weiteren Rechenvorrichtung ermöglicht, Programmcode in die Entwicklungskarte 102 zur Ausführung durch den Zielprozessor 106 zu laden. Der serielle Anschluss 118 bildet eine serielle Kommunikationsschnittstelle (z. B. USB) zur Entwicklungskarte 102. Der Vielzweck-E/A-(GPIO)-Anschluss stellt einen allgemeinen Schnittstellenanschluss zur Entwicklungskarte 102 für externe Vorrichtungen und Peripherieeinheiten dar. Die Berührungs-Schiebeinrichtungs-Schnittstelle 122 bildet eine Schnittstelle zur Entwicklungskarte 102 für Berührungs-Schiebeinrichtungseingabe. Weitere Entwicklungskarten können mehr oder weniger Komponenten enthalten.
  • Die Sensorkarte 104 kann eine Schnittstelle 124 zur Kommunikation mit der Entwicklungskarte 102 enthalten. Die Sensorkarte 104 enthält Sensoren 126a126c. Die Sensoren 126 können irgendeine Kombination von durch den Entwickler ausgewählten Sensorvorrichtungen sein. Die Sensoren 126a126b können Trägheitssensoren sein, wobei der Sensor 126a ein Beschleunigungsmesser ist, der Sensor 126b ein Gyrosensor ist und der Sensor 126c Magnetometer ist. Manche Sensorkarten können Umgebungssensoren enthalten, die Temperatursensoren, Drucksensoren und Lichtsensoren umfassen. Nochmals weitere Sensorkarten können eine Kombination von Trägheitssensoren und Umgebungssensoren enthalten.
  • Jede dieser Sensorvorrichtungen kann ein von einem anderen Hersteller gelieferter IC-Chip sein. In einem einzigen IC-Gehäuse können mehrere Sensoren (z. B. eine Beschleunigungsmesser- und Gyroskopkombination) vorgesehen sein. Jede Sensorvorrichtung kann durch einen eigens für jenen speziellen Sensor entwickelten Software-Treiber rohe Sensordaten liefern. Der zugeordnete Software-Treiber bildet eine API der unteren Ebene, um dem Anwender das Anfordern von rohen Sensordaten zu ermöglichen. Der Anwendungsprogrammcode kann durch eine API der oberen Ebene, die Abstraktionen für die Software-Treiber liefert, um so den Software-Treibern eine Transparenzschicht hinzuzufügen, auf diese Software-Treiber zugreifen. Diese zusätzliche Transparenzebene kann dadurch, dass sich die Wissensmenge, die der Entwickler darüber benötigt, wie die Software-Treiber mit den Sensoren kommunizieren, verringert, die Entwicklung des Anwendungsprogrammcodes vereinfachen. Mit der API der oberen Ebene ist kein sensorspezifischer Code für die Anwendung erforderlich. Mittels der API der oberen Ebene können Anwendungen ohne Quellcodemodifikation mit verschiedenen Hardware-Plattformen verwendet werden. Die API der oberen Ebene wird mit Bezug auf 2 näher besprochen.
  • 2 zeigt eine beispielhafte Software-Architektur 200 zum Entwickeln von Software mit Hilfe des Software-Entwicklungssystems von 1. In manchen Implementierungen kann die Software-Architektur 200 konzeptionell eine Anwendungsschicht 202, eine Software-Bibliotheksschicht 204 und eine Treiberschicht 206 umfassen. Die Treiberschicht 206 kommuniziert direkt mit einer Hardware 208, die die Sensorvorrichtungen auf der Sensorkarte 104 enthält. Die Software-Architektur 200 repräsentiert eine konzeptionelle Hierarchie oder einen ”Software-Stapel”, den API-Funktionsaufrufe und API-Funktionsaufrufantworten durchqueren können. Beispielsweise kann ein Anwendungsprogramm, das einen Kompasskurs benötigt, den API-Funktionsaufruf an eine Software-Bibliotheksfunktion zur Berechnung des Kompasskurses absetzen. Die Software-Bibliotheksfunktion kann Definitionen und Deklarationen zum Definieren von Datenstrukturen zur Rückgabe von API-Funktionsaufrufergebnissen zugeordnet sein. Ein API-Funktionsaufruf kann eine Parameterliste umfassen, die Variablen oder Zeiger zum Senden und Empfangen von Daten und Zeiger zu und von dem zugrunde liegenden Software-Bibliothekscode zum Durchführen der Kompasskursberechnung liefert. Der Software-Bibliothekscode kann durch die Sensorhersteller gelieferte API der unteren Ebene verwenden, um auf in Datenregistern in den Sensorvorrichtungen gespeicherte Rohdaten zuzugreifen. Diese API der unteren Ebene sind für den Anwendungsentwickler aufgrund der API-Abstraktionen der oberen Ebene transparent.
  • In der beispielhaften Architektur 200 gibt es in der Hardware 208 eine Mischung von Trägheits- und Umgebungssensoren. Dies führt zu Treibern und API-Abstraktionen in der Treiberschicht 206 für jeden der Sensoren, wie sie in 2 gezeigt sind. Software-Bibliotheksfunktionen in der Software-Bibliotheksschicht 204 greifen mittels der API-Abstraktionen auf die Software-Treiber zu. Einige Beispiele von Software-Bibliotheksfunktionen sind das Skalieren, das Umrechnen von Einheiten, mathematische Berechnungen oder Algorithmen oder irgendeine andere gewünschte Funktion, die für eine Anwendung nützlich sein kann. Die in 2 gezeigten Sensoren entsprechen keiner erschöpfenden Auflistung; in ähnlicher Weise können weitere Typen von Sensoren unterstützt sein.
  • In manchen Implementierungen kann in der Treiberschicht 206 ein Software-Rahmen vorgesehen sein. Ein Software-Rahmen ist eine Abstraktion, die üblichen Code zum Verschaffen einer allgemeinen Funktionalität umfasst, der wahlweise durch Anwendercode überschrieben oder spezifiziert werden kann, um so eine spezifische Funktionalität zu verschaffen. Der Software-Rahmen kann wieder verwendbare Abstraktionen von in der API verborgenem Code umfassen, die kennzeichnende Merkmale enthalten können, die sie von anderen Software-Bibliotheksfunktionen unterscheiden.
  • 3 ist ein Ablaufplan eines beispielhaften Prozesses 300 zum Anfordern von Sensordaten unter Verwendung der Software-Architektur von 2. In manchen Implementierungen kann der Prozess 300 beginnen, wenn von einer Anwendung eine Anforderung von Sensordaten empfangen wird (302). Eine solche Anforderung kann auf Grundlage einer programmierten Zeitperiode, durch die Anwendung identifizierter Bedingungen oder in Ansprechen auf Unterbrechungen oder andere asynchrone Ereignisse einschließlich jener, die durch die Sensorvorrichtung selbst erzeugt werden, eingeleitet werden. Die Anforderung kann von einem Anwendungsprogramm durch einen API-Aufruf ausgeführt werden. Der API-Code kann in der Programmiersprache C oder irgendeiner anderen geeigneten Sprache implementiert sein. Strukturdefinitionen können C-Unions verwenden, um ”Aliases” von Datenfeldern für verschiedene Datenklassen zu ermöglichen. Ein Zeitstempelfeld kann von einem Echtzeit-Taktgeber automatisch mit einem Wert (z. B. einem Mikrosekundenwert) ausgefüllt werden.
  • Der Prozess 300 identifiziert einen Zielsensor zum Liefern von Sensordaten (304). Der Prozess 300 prüft, um zu sehen, ob rohe Sensordaten angefordert worden sind (306). Wenn rohe Sensordaten angefordert worden sind, fordert der Prozess 300 die rohen Sensordaten vom Zielsensor an (308), empfängt die Rohdaten vom Zielsensor (310) und sendet die rohen Sensordaten zur aufrufenden Anwendung zurück (312). Wenn keine rohen Sensordaten angefordert worden sind, fordert der Prozess 300 die Rohdaten vom Zielsensor an (314), empfängt die rohen Sensordaten vom Zielsensor (316), verarbeitet die Rohdaten (318) und sendet die verarbeiteten rohen Sensordaten zur aufrufenden Anwendung zurück (320). Das Verarbeiten der Rohdaten (318) kann das Datenskalieren, das Umsetzen oder das Berechnen mathematischer Formeln und Algorithmen unter Verwendung der Rohdaten umfassen.
  • Beim Verwenden der API der oberen Ebene kann eine Beschleunigungsablesesequenz die folgende Form besitzen:
    Figure 00090001
    Figure 00100001
  • In diesem Beispiel können der API-Aufruf Sensor_attach () und der Sensor-Deskriptor accel_dev dazu verwendet werden, den Beschleunigungsmesser als Zielsensor zu identifizieren. Rohe Beschleunigungsmesserdaten können durch das aufrufende Anwendungsprogramm angefordert werden, in dem accel_data.scaled = true gesetzt wird. Dies führt dazu, dass rohe Beschleunigungsdaten in Milli-g zum aufrufenden Anwendungsprogramm zurückgesendet werden. Der API-Funktionsaufruf sensor_get_acceleration () kann dazu verwendet werden, die Beschleunigungsdaten zu erlangen und die Beschleunigungsdaten in den drei Feldern der accal_data-Struktur zurückzusenden.
  • Die API kann zum Zurücksenden von Sensordaten zwei grundlegende strukturierte Datentypen verwenden. Der erste Datentyp ist vector_data_t. Dieser Datentyp kann für 3-Achsen-Messvorrichtungen (z. B. Beschleunigungsmesser, Gyroskop) oder andere Ablesungen, die drei Werte zurückgeben (z. B. Kompasskurs) verwendet werden. Die drei Werte können in drei separaten Datenfeldern (z. B. als ganze Zahlen mit 32 Bit und Vorzeichen) zurückgesendet werden. Der zweite Datentyp ist scalar_t. Dieser Datentyp kann dazu verwendet werden, eindimensionale Messwerte (z. B. Temperatur, Druck) zurückzusenden.
  • Andere Sensoren besitzen eine ähnliche Ablesesequenz. Beispielsweise kann ein Gyrosensor eine Ablesesequenz in der folgenden Form besitzen:
    Figure 00110001
  • Viele Sensorvorrichtungen können Temperaturdaten als sekundären Ausgabewert liefern. Die Temperaturdaten können intern in der Vorrichtung zur Temperaturkompensation verwendet werden. Eine beispielhafte Temperaturablesesequenz für ein Gyroskop kann die folgende Form besitzen:
    Figure 00110002
  • In manchen Implementierungen können API-Aufrufe mathematische Funktionen oder Algorithmen liefern. Beispielsweise beinhaltet ein API-Aufruf für den Kompasskurs das Sammeln von 3-Achsen-Magnetsensormesswerten X, Y, Z und das Verwenden einer Schwerebeschleunigung vom Beschleunigungsmesser, um Neigungswinkel für das Wanken (θ) und das Nicken (ϕ) zu messen. Die X- und Y-Magnetsensormesswerte können in eine durch Vektoren XH und YH definierte horizontale Ebene gedreht werden, und zwar mit Hilfe der folgenden Gleichungen [1] und [2]: XH = X·cos(ϕ) + Y·sin(θ)·sin(ϕ) – Z·cos(θ)·sin(ϕ) [1] YH = Y·cos(θ) + Y·sin(θ) [2]
  • Der Azimut kann berechnet werden anhand der Gleichungen [1] und [2] unter Verwendung der Gleichung [3]: Azimut = [(tan)](–1) (YH/XH) [3]
  • Eine Magnetkursberechnungssequenz kann die folgende Form besitzen:
    Figure 00120001
  • 4 ist ein Blockschaltplan eines beispielhaften Multisensorsystems 400 zum Speichern und Ausführen von durch das Software-Entwicklungssystem von 1 unter Verwendung der Software-Architektur von 2 entwickelter Software. In manchen Implementierungen kann das System 400 eine Speicherschnittstelle 402, einen oder mehrere Prozessoren 404, eine Peripherieeinheitenschnittstelle 406, einen Speicher 410, ein E/A-Subsystem 412, einen Beschleunigungsmesser 414, ein MEMS-Gyroskop 416, ein Magnetometer 418 und einen Drucksensor 420 umfassen. Das E/A-Subsystem 412 umfasst einen Berührungs-Controller 422, der mit dem Berührungsbildschirm/Berührungsfeld 426 gekoppelt ist, und weitere Eingabe-Controller 424, die mit anderen Eingabe-/Steuervorrichtungen (z. B. Schaltern) gekoppelt sind. Die für die Sensoren 414, 416, 418 und 420 entwickelte Software kann im Speicher 410 gespeichert und durch den (die) Prozessor(en) 404 ausgeführt werden, um Sensordaten zu einer oder mehreren Anwendungen zu liefern, die ebenfalls im Speicher 410 gespeichert sind und durch den (die) Prozessor(en) 404 ausgeführt werden.
  • Obwohl dieses Dokument viele spezifische Implementierungsdetails enthält, sollten diese nicht als Beschränkungen des Umfangs dessen, was beansprucht sein kann, aufgefasst werden, sondern vielmehr als Beschreibungen von Merkmalen, die für bestimmte Ausführungsformen spezifisch sein können. Gewisse Merkmale, die in dieser Patentbeschreibung im Kontext verschiedener Ausführungsformen beschrieben worden sind, können auch in Kombination in einer einzelnen Ausführungsform implementiert sein. Umgekehrt können verschiedene Merkmale, die im Kontext einer einzelnen Ausführungsform beschrieben worden sind, auch in mehreren Ausführungsformen getrennt oder in irgendeiner geeigneten Teilkombination implementiert sein. Obwohl Merkmale oben als in bestimmten Kombinationen wirkend beschrieben und sogar zu Anfang als solche beansprucht sein können, können ein oder mehrere Merkmale einer beanspruchten Kombination in manchen Fällen aus der Kombination herausgeschnitten sein und kann die beanspruchte Kombination auf eine Teilkombination oder eine Variante einer Teilkombination gerichtet sein.

Claims (4)

  1. Software-Entwicklungssystem, das umfasst: eine Entwicklungskarte (102) mit einer Schnittstelle (124), einem Karten-Controller (108) und einem Zielprozessor (106); eine Sensorkarte (104), die durch die Schnittstelle (124) mit der Entwicklungskarte (102) gekoppelt ist, wobei die Sensorkarte (104) mehrere Sensorvorrichtungen (126a, 126b, 126c) enthält; Speicherspeicherungs-Programmcode, der, wenn er durch den Zielprozessor (106) ausgeführt wird, Zugriff auf Software-Treiber oder Software-Bibliotheksfunktionen zur Interaktion mit den mehreren Sensoren durch Software-Abstraktionen verschafft.
  2. System nach Anspruch 1, dadurch gekennzeichnet, dass die Software-Abstraktionen eine Option, rohe Sensordaten oder verarbeitete Sensordaten zu empfangen, verschaffen, wobei die verarbeiteten Sensordaten durch eine oder mehrere der Software-Bibliotheksfunktionen geliefert werden.
  3. System nach Anspruch 1, dadurch gekennzeichnet, dass die Sensoren aus einer Gruppe von Sensoren sind, die Beschleunigungsmesser, Gyrosensoren, Magnetometer, Temperatursensoren, Drucksensoren, Lichtsensoren, Näherungssensoren und Berührungssensoren umfasst.
  4. Verfahren, das umfasst: Empfangen einer Anforderung von Sensordaten von einem Anforderer; Identifizieren eines Zielsensors zum Liefern der Sensordaten; Bestimmen, dass verarbeitete Sensordaten angefordert werden; Anfordern von Rohdaten vom Zielsensor; Verarbeiten der rohen Sensordaten; und Zurücksenden der verarbeiteten Sensordaten zum Anforderer.
DE201110088268 2010-12-10 2011-12-12 Software-Rahmen und Software-Entwicklungsplattform für Multisensorsysteme Withdrawn DE102011088268A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US42208410P 2010-12-10 2010-12-10
US61/422,084 2010-12-10
US13/109,952 US8869095B2 (en) 2010-12-10 2011-05-17 Software framework and development platform for multi-sensor systems
US13/109,952 2011-05-17

Publications (1)

Publication Number Publication Date
DE102011088268A1 true DE102011088268A1 (de) 2012-06-14

Family

ID=46200784

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201110088268 Withdrawn DE102011088268A1 (de) 2010-12-10 2011-12-12 Software-Rahmen und Software-Entwicklungsplattform für Multisensorsysteme

Country Status (4)

Country Link
US (1) US8869095B2 (de)
CN (1) CN102629193A (de)
DE (1) DE102011088268A1 (de)
TW (1) TW201234266A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112114789A (zh) * 2019-06-20 2020-12-22 腾讯科技(深圳)有限公司 一种业务开发方法及设备

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043619B2 (en) * 2012-06-19 2015-05-26 Getac Technology Corporation Method and apparatus for power management according to a situation mode
US9378055B1 (en) 2012-08-22 2016-06-28 Societal Innovations Ipco Limited Configurable platform architecture and method for use thereof
DE102012216919A1 (de) 2012-09-20 2014-05-28 Continental Automotive Gmbh Fahrzeugsteuersystem
US9501140B2 (en) 2012-11-05 2016-11-22 Onysus Software Ltd Method and apparatus for developing and playing natural user interface applications
US9454208B2 (en) * 2013-03-14 2016-09-27 Google Inc. Preventing sleep mode for devices based on sensor inputs
US9891893B2 (en) 2014-05-21 2018-02-13 N.Io Innovation, Llc System and method for a development environment for building services for a platform instance
CA2953297A1 (en) 2014-05-21 2015-11-26 Societal Innovations Ipco Limited System and method for fully configurable real time processing
US10154095B2 (en) 2014-05-21 2018-12-11 N.Io Innovation, Llc System and method for aggregating and acting on signals from one or more remote sources in real time using a configurable platform instance
CN104156211B (zh) * 2014-08-08 2017-02-22 北京大学 一种用于传感器的通用数据接口及数据调用方法
US10073707B2 (en) 2015-03-23 2018-09-11 n.io Innovations, LLC System and method for configuring a platform instance at runtime
US10412291B2 (en) * 2016-05-19 2019-09-10 Scenera, Inc. Intelligent interface for interchangeable sensors
US10693843B2 (en) 2016-09-02 2020-06-23 Scenera, Inc. Security for scene-based sensor networks
US10101175B2 (en) 2016-11-15 2018-10-16 Industrial Technology Research Institute Sensor interface circuit and sensor output adjusting method
CN108334102A (zh) * 2017-01-17 2018-07-27 翔升(上海)电子技术有限公司 无人机开发平台和方法
US11022511B2 (en) 2018-04-18 2021-06-01 Aron Kain Sensor commonality platform using multi-discipline adaptable sensors for customizable applications
CN110569206A (zh) * 2019-07-16 2019-12-13 广州市中海达测绘仪器有限公司 一种支持多传感器的驱动框架、方法、电子设备及存储介质
ES2939070T3 (es) * 2021-01-26 2023-04-18 Deutsche Telekom Ag Procedimiento para proporcionar información de posicionamiento adaptada hacia al menos una aplicación de consumo con respecto a una pluralidad de objetos que comprenden al menos un objeto específico, sistema o red de telecomunicaciones para proporcionar información de posicionamiento adaptada, aplicación de consumo de información de posicionamiento, programa y medio legible por ordenador

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6144954A (en) * 1998-01-27 2000-11-07 Li; Chou H. Automatic development of computer software
US7346891B2 (en) * 2002-07-05 2008-03-18 Eka Systems Inc. System and method for automating generation of an automated sensor network
US7773715B2 (en) * 2002-09-06 2010-08-10 Rosemount Inc. Two wire transmitter with isolated can output
US8355804B2 (en) * 2005-09-15 2013-01-15 Honda Motor Co., Ltd. Interface for sensor query and control
WO2007098468A1 (en) * 2006-02-21 2007-08-30 University Of Florida Research Foundation Inc. Modular platform enabling heterogeneous devices, sensors and actuators to integrate automatically into heterogeneous networks
US8015547B2 (en) * 2006-06-29 2011-09-06 Augusta Systems, Inc. Reconfigurable, hierarchical component-based architecture and framework and methods for rapidly developing sensor device-enabling software applications
WO2008022156A2 (en) * 2006-08-14 2008-02-21 Neural Id, Llc Pattern recognition system
US8700924B2 (en) * 2008-05-21 2014-04-15 International Electronic Machines Corp. Modular sensor node and communications system
US8276159B2 (en) * 2009-09-23 2012-09-25 Microsoft Corporation Message communication of sensor and other data
US9197736B2 (en) * 2009-12-31 2015-11-24 Digimarc Corporation Intuitive computing methods and systems
US8121618B2 (en) * 2009-10-28 2012-02-21 Digimarc Corporation Intuitive computing methods and systems
KR20110063297A (ko) * 2009-12-02 2011-06-10 삼성전자주식회사 휴대용단말기 및 그 제어방법
US8432368B2 (en) * 2010-01-06 2013-04-30 Qualcomm Incorporated User interface methods and systems for providing force-sensitive input

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112114789A (zh) * 2019-06-20 2020-12-22 腾讯科技(深圳)有限公司 一种业务开发方法及设备
CN112114789B (zh) * 2019-06-20 2024-02-06 腾讯科技(深圳)有限公司 一种业务开发方法及设备

Also Published As

Publication number Publication date
US20120151432A1 (en) 2012-06-14
CN102629193A (zh) 2012-08-08
TW201234266A (en) 2012-08-16
US8869095B2 (en) 2014-10-21

Similar Documents

Publication Publication Date Title
DE102011088268A1 (de) Software-Rahmen und Software-Entwicklungsplattform für Multisensorsysteme
DE202017105528U1 (de) Ausführen von Mittelwert-Poolbildung in Hardware
DE112016001866T5 (de) Zeilenpuffereinheit für Bildprozessor
DE102019003851A1 (de) Systeme und Verfahren zum automatischen Realisieren von Modellen zu Co-Simulation
DE102019122818A1 (de) Neuronale Netzwerkvorrichtung für eine neuronale Netzwerkoperation, Verfahren zum Betreiben einer neuronalen Netzwerkvorrichtung und Anwendungsprozessor, der die neuronale Netzwerkvorrichtung beinhaltet
EP3291081A1 (de) Vorrichtungen, systeme und verfahren zur bereitstellung eines visuellen programms für maschinenvisionssysteme
DE112012003716T5 (de) Erzeugen von kompiliertem Code, der Registeraktivität angibt
DE102015102135A1 (de) Unterbrechbares Exklusivspeichern
DE102020119519A1 (de) Verfahren und einrichtungen zum ermöglichen einer "out-of-order"-pipeline-ausführung der statischen abbildung einer arbeitslast
DE112015007179T5 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Informationsverarbeitungsprogramm
Lienen et al. Reconros: Flexible hardware acceleration for ros2 applications
CN111127584A (zh) 建立视觉地图的方法和装置、电子设备和存储介质
WO2024125071A1 (zh) Gnss/ins冗余组合导航方法、模组、系统及介质
DE102013213314A1 (de) Hinterlegen mindestens eines berechenbaren Integritätsmesswertes in einem Speicherbereich eines Speichers
Bertolotti et al. Real-time embedded systems: open-source operating systems perspective
DE102022114509A1 (de) Speicherzuweisung unter verwendung von graphen
EP3341277A1 (de) Steuergerät für ein fahrrad
CN106126764A (zh) 用于执行预期会经历金属缩颈失效的结构的时间推进数值模拟的方法和系统
DE102020118022A1 (de) Erzeugen verschiedener traces für grafikprozessorcode
EP2899652A1 (de) Verfahren zur Einsatzoptimierung programmierbarer Logikbausteine in Steuerungsgeräten für Fahrzeuge
US7966162B1 (en) Hierarchically scoped resettable variables in graphical modeling environments
EP4179395B1 (de) Steuerung eines technischen systems mit einer recheneinheit für künstliche intelligenz
Sajaniemi et al. Animation metaphors for object-oriented concepts
DE112016006987T5 (de) Eingabevorrichtung für elektronische vorrichtungen
CN112488476A (zh) 一种任务全生命周期管理方法、装置及电子设备

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee