Git Product home page Git Product logo

avionics_js's Introduction

Avionics JS Build Status Maintainability npm

JavaScript library to make glass EFIS from any phone or tablet. Inspired by Garmin G5. Made by Ivy Knob.

Live Demo

Installation

  • Add @ivyknob/avionics_js to your project (npm -i @ivyknob/avionics_js or yarn add @ivyknob/avionics_js)
  • Run yarn or npm install to install all necessary libraries
  • Include avionics.js to your project

Using CDN

If you want to just include js on your page from the hosting, just add https://unpkg.com/@ivyknob/avionics_js as a script source

Usage

Quickstart example

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Avionics JS</title>
  <script type="text/javascript" defer src="https://unpkg.com/@ivyknob/avionics_js"></script>
  <script type="text/javascript">
    document.addEventListener("DOMContentLoaded", function() {
      var avionics = new Avionics(document.body);
      avionics.pitch = 10;
      avionics.roll = 5;
      avionics.heading = 300;
      avionics.altitude = 800;
      avionics.airspeed = 150;
      avionics.selectedAltitude = 1000;
      avionics.verticalSpeed = 2;
      avionics.groundSpeed = 130;
      avionics.qnh = 1030.15;
    })
  </script>
</head>
<body>
</body>
</html>

Look at the examples code here

Initialization

At first, you need to assign avionics.js to html element:

var avionics = new Avionics(nodeElement);

After initialization, you can set values:

avionics.pitch = 10;

API

Here is the list of available setter-methods:

Available setter-methods
airspeed
altitude
roll
pitch
verticalSpeed
heading
groundSpeed
selectedAltitude
qnh
// You can run it in browser console to see current available methods
Object.getOwnPropertyNames(avionics.__proto__).filter(i => !i.startsWith('_') && i !== 'constructor')

Roll

Roll value of the aircraft, deg. Increase roll value to proceed counter clockwise rotation, negative for clockwise. Acceptable values from -180 to 180 deg. Setter name: roll.

Pitch

Pitch values of the aircraft, def. Nose up is for upper semisphere, down for lower. Acceptable values from -180 to 180 deg. Setter name: roll.

Airspeed

Indicates airspeed, knots, m/h or km/h. Can show values from 0 to 500. Setter name: airspeed.

Altitude

Shows altitude, feet or m. Can show values from -10000 to 10000 (but scale only starts from 0). Values below zero is possible with different settings of qnh. Setter name: altitude.

Vertical speed (VSI)

Gives rate information for the climb or descent, m/s. Usually in the range โˆ’30 to +30 m/s (-6000 to +6000 fpm). Setter name: verticalSpeed.

Heading

Shows heading of the aircraft, similar to a magnetic compass, deg. North direction corresponds to zero angle. Setter name: heading.

Ground speed

Indicates ground speed, knots, m/h or km/h. Can show values from 0 to 500 (why???). Setter name: groundSpeed.

Selected altitude

Shows selected altitude, feet or m. Can show values from -10000 to 10000 (but scale only starts from 0). Values below zero is possible with different settings of qnh. Setter name: selected Altitude.

QNH

Shows QNH: the pressure measured at station then reduced down to mean sea level pressure; mmHg, inHg, hPA. Can show values from -900 to 1200 (hPa). Setter name: qnh.

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request.

avionics_js's People

Contributors

arrowcircle avatar cortc avatar zloypotroh avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.