Avionics JS
JavaScript library to make glass EFIS from any phone or tablet. Inspired by Garmin G5. Made by Ivy Knob.
Installation
- Add
@ivyknob/avionics_js
to your project (npm -i @ivyknob/avionics_js
oryarn add @ivyknob/avionics_js
) - Run
yarn
ornpm 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
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request.