Spedmo Javascript Vario API

Die Spedmo Javascript Vario-API basiert auf Standard-Webfunktionalität. Daher stehen den Piloten und Entwicklern neben den unten aufgeführten spezifischen Spedmo Vario-Objekten alle mit Javascript und modernen Browsern verfügbaren Standardfunktionen uneingeschränkt zur Verfügung.

Es gibt viele Web- und JavaScript-Tutorials für neue Entwickler im Internet. Dieses API-Dokument soll Entwicklern nicht das Programmieren beibringen, sondern definiert die spezifischen Objekte, die zum Erstellen benutzerdefinierter Vario-Displays für Android- und IOS-Geräte verfügbar sind.

Grundlegendes zur Abhängigkeit der Spedmo-App

Die Spedmo Javascript Vario-API verwendet eine angepasste Anwendungserstellung, die sowohl auf Android- als auch auf iOS-Plattformen verfügbar ist. Diese Anwendung verfügt über angepasste Funktionen, mit denen Anrufe an vordefinierte BLE-Variablen über die Anwendung ausgehandelt werden können. Wenn wir mehr Geräte in den Händen halten, wird die Anzahl der unterstützten Varios mit der Zeit zunehmen. Der Hauptvorteil für Entwickler besteht jedoch darin, dass die harte Programmierarbeit für BLE-Geräte vereinfacht wurde, um die Programmierkomplexität zu verringern und den Piloten die Möglichkeit zu geben, sich speziell auf die zu konzentrieren Anzeigefunktionalität. Die Spedmo-App gibt vereinfachte JavaScript-Ereignisse an den Entwickler zurück, mit denen zur Anzeige von Aktualisierungen oder zur Benutzerinteraktion aufgefordert werden kann. Dies ist das grundlegende Konzept hinter dem Framework, das verstanden werden sollte, bevor mit der Entwicklung begonnen wird.

Entwickler können ihre App-Funktionen und -Versionen über den Spedmo App Manager verwalten. Wir empfehlen, das GitHub-Test-Harness zu verwenden, um Funktionen offline zu erstellen, bevor Sie die Testversion hochladen.

Javascript-Abhängigkeiten

Hier werden nicht alle Javascript-Abhängigkeiten aufgelistet, aber die Hauptabhängigkeit für Entwickler ist die Verwendung von Jquery.

Jquery ist die obligatorische JavaScript-Basisbibliothek, die für alle Spedmo BLE-Objektaufrufe verwendet wird und in Kürze nicht mehr entfernt wird. Andere Frameworks wie React / Angular usw. stehen Entwicklern theoretisch zur Verfügung. Es wird jedoch keine Dokumentation oder Unterstützung für diese Frameworks angeboten, die über die in Online-Foren bereits öffentlich verfügbaren hinausgeht.

Javascript BLE-Objekte

Stammobjekt

$ .spedmo

Das Basisobjekt , das für alle Darstellungen einer Seite definiert werden soll, ist das Objekt $ .spedmo . Dieses Objekt sollte niemals undefiniert sein , wenn beim Debuggen der Grundursache höchstwahrscheinlich ein vom Entwickler eingeführtes Problem aufgedeckt wird, das vor dem Veröffentlichen der Anwendung behoben werden müsste. Wenn ein Fehler vermutet wird, der nicht von einem Entwickler verursacht wurde, können Sie einen Fehler im Spedmo Github-Beispielprojekt zur Untersuchung melden .

BLE-Ready-Ereignis

$ .spedmo.bleReady

Dieses Ereignis wird aufgerufen, wenn die Spedmo-App erfolgreich mit dem Piloten BLE vario verhandelt hat. Entwickler sollten davon ausgehen, dass das BLE-Gerät beim Aufrufen dieses Ereignisses nützliche Daten überträgt. In diesem Fall sollte im Allgemeinen das anfängliche Bildschirmlayout für die Benutzeranzeige sowie alle Ereignis-Hooks erstellt werden, die eingerichtet werden müssen.

BLE-Rohzeilenvorschubereignis

$ .spedmo.ble.event.rawLineFeed

Dies ist ein Low-Level-Geräteereignis, das ausgelöst wird, wenn Daten vom BLE-Gerät gesendet und ohne Analyse oder Filterung direkt an die Entwickleranwendung übergeben werden. Dies kann nützlich sein, um bestimmte Gerätefunktionen zu schreiben oder Funktionen zu unterstützen, die noch nicht von der Javascript Vario-API unterstützt werden.

BLE GPS Update Event

$ .spedmo.ble.event.gpsUpdate

Dieses Ereignis wird ausgelöst, wenn ein GPS-Update vom BLE-Gerät übergeben wurde. Ein Zustandsobjekt geleitet wird , das aufgebaut wird , um die Verwendung von GPS.js Bibliothek und hat das folgende Format.

  • Uhrzeit: Aktuelle Uhrzeit
  • lat: Latitude
  • lon: Länge
  • alt: Altitude (Nicht zu verwechseln mit Vario Altitude)
  • satsActive: Array von aktiven Satelliten
  • Geschwindigkeit: Geschwindigkeit über Grund in km / h
  • Spur: Spur in Grad
  • satsVisible: Array aller sichtbaren Satelliten

BLE-Höhenaktualisierungsereignis

$ .spedmo.ble.event.altitudeUpdate

Dieses Ereignis wird ausgelöst, wenn eine Höhenaktualisierung vom BLE-Gerät empfangen wurde. Ein Höhe Objekt übergeben wird, die das folgende Format hat.

  • loggerStored: Logger gespeichert (J / N)
  • iasKph: IAS (km / h)
  • baroAltitudeM: Baroaltitude (m)
  • varioChangeMs1: vario (m / s) (letzte 6 Messungen in letzter Sekunde)
  • varioChangeMs2: vario (m / s) (letzte 6 Messungen in letzter Sekunde)
  • varioChangeMs3: vario (m / s) (letzte 6 Messungen in letzter Sekunde)
  • varioChangeMs4: vario (m / s) (letzte 6 Messungen in letzter Sekunde)
  • varioChangeMs5: vario (m / s) (letzte 6 Messungen in letzter Sekunde)
  • varioChangeMs6: vario (m / s) (letzte 6 Messungen in letzter Sekunde)
  • Überschrift: Überschrift
  • windCourseDeg: Windkurs (Grad)
  • windSpeedKph: Windgeschwindigkeit (km / h)