viewing paste Unknown #56411 | Javascript

Posted on the
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
const varBraketopcenter = "A:BRAKE PARKING POSITION";
const varGearHandletopcenter = "A:GEAR HANDLE POSITION";
//const varFlapsHandletopcenter = "TRAILING EDGE FLAPS LEFT PERCENT";
const varFlapsHandletopcenter="TRAILING EDGE FLAPS LEFT ANGLE";
const varPlaneHeadingtopcenter = "A:PLANE HEADING DEGREES MAGNETIC";
const varAirspeedtopcenter = "A:AIRSPEED INDICATED";
const varGroundVelocitytopcenter = "A:GROUND VELOCITY";
const varAltitudetopcenter = "A:INDICATED ALTITUDE";
const varAltAboveGroundtopcenter = "A:PLANE ALT ABOVE GROUND";
const varVerticalSpeedtopcenter = "A:VERTICAL SPEED";con
const varNacellesRotationtopcenter = "A:SPOILERS HANDLE POSITION";
//const varNG1topcenter="A:ENG N1 RPM:1";
const varRudTrimtopcenter = "A:RUDDER TRIM PCT";
const varElevTrimtopcenter = "A:Elevator TRIM PCT";
const varWindDirectiontopcenter = "A:AMBIENT WIND DIRECTION";
const varWindVelocitytopcenter = "A:AMBIENT WIND VELOCITY";
const varLocalTimetopcenter = "E:LOCAL TIME";
 
this.store = {
    active: false,
}
this.update_interval=.5;  //Refresh Interval (Seconds)
this.$api.datastore.import(this.store);
 
html_created((el) => {
    this.cellBraketopcenter = document.getElementById("braketopcenter");
    this.cellGearHandletopcenter = document.getElementById("geartopcenter");
    this.cellFlapsHandletopcenter = document.getElementById("flapstopcenter");
    this.cellPlaneHeadingtopcenter = document.getElementById("hdgtopcenter");
    this.cellAirspeedtopcenter = document.getElementById("airspeedtopcenter");
    this.cellGroundVelocitytopcenter = document.getElementById("groundspeedtopcenter");
    this.cellAltitudetopcenter = document.getElementById("alttopcenter");
    this.cellAltAboveGroundtopcenter = document.getElementById("altogtopcenter");
    this.cellVerticalSpeedtopcenter = document.getElementById("vstopcenter");
    this.cellNacellesRotationtopcenter = document.getElementById("nacellesrotationtopcenter");
    this.cellRudTrimtopcenter = document.getElementById("rudtrimtopcenter");
    this.cellElevTrimtopcenter = document.getElementById("elevtrimtopcenter");
    this.cellWindDirectiontopcenter = document.getElementById("winddirtopcenter");
    this.cellWindVelocitytopcenter = document.getElementById("windvelotopcenter");
    
    this.update_elements();
}); 
 
this.update_elements = () => {
    document.getElementById("mytabletopcenter").style.display=(this.store.active ? "block":"none");
    this.stateBraketopcenter = this.$api.variables.get(varBraketopcenter, "Bool");
    this.stateGearHandletopcenter = this.$api.variables.get(varGearHandletopcenter, "Percent Over 100");
    // radians * 180/PI = degrees   radians* 57.3
    this.stateFlapsHandletopcenter = Math.round(this.$api.variables.get(varFlapsHandletopcenter, "Degrees")) .toString().padStart(3, '0');
    //this.stateFlapsHandletopcenter = Math.round(this.$api.variables.get(varFlapsHandletopcenter, "Percent")) %  1000 .toString().padStart(3, '0');
    this.statePlaneHeadingtopcenter = Math.round(this.$api.variables.get(varPlaneHeadingtopcenter, "Degrees")).toString().padStart(3, '0');
    this.stateAirspeedtopcenter = Math.round(this.$api.variables.get(varAirspeedtopcenter, "Knots")).toString().padStart(3, '0');
    this.stateGroundVelocitytopcenter = Math.round(this.$api.variables.get(varGroundVelocitytopcenter, "Knots")).toString().padStart(3, '0');
    this.stateAltitudetopcenter = Math.round(this.$api.variables.get(varAltitudetopcenter, "Feet")).toString();
    this.stateAltAboveGroundtopcenter = Math.round(this.$api.variables.get(varAltAboveGroundtopcenter, "Feet"));
    this.stateVerticalSpeedtopcenter = Math.round(this.$api.variables.get(varVerticalSpeedtopcenter, "Feet per minute"));
    this.stateNacellesRotationtopcenter = Math.round(this.$api.variables.get(varNacellesRotationtopcenter, "Percent")) % 1000 .toString().padStart(3, '0');
    this.stateRudTrimtopcenter = Math.round(this.$api.variables.get(varRudTrimtopcenter, "Percent")) % 1000 .toString().padStart(3, '0');
    this.stateElevTrimtopcenter = Math.round(this.$api.variables.get(varElevTrimtopcenter, "Percent")) % 1000 .toString().padStart(3, '0');
    this.stateWindDirectiontopcenter = Math.round(this.$api.variables.get(varWindDirectiontopcenter, "Degrees")).toString().padStart(3, '0');
    this.stateWindVelocitytopcenter = Math.round(this.$api.variables.get(varWindVelocitytopcenter, "Knots")).toString().padStart(3, '0');
    
    // Uhrzeit umrechnen
let timeInSeconds = Math.round(this.$api.variables.get(varLocalTimetopcenter, "Seconds"));
let date = new Date(null);
date.setSeconds(timeInSeconds);
let hours = date.getUTCHours().toString().padStart(2, '0');
let minutes = date.getUTCMinutes().toString().padStart(2, '0');
this.stateLocalTimetopcenter = `${hours}:${minutes}`;
this.cellLocalTimetopcenter = document.getElementById("localtimetopcenter");
 
// Windrichtung zum Flugzeug berechnen
let relativeWindDirection = this.$api.variables.get(varWindDirectiontopcenter, "Degrees") - this.$api.variables.get(varPlaneHeadingtopcenter, "Degrees");
 
relativeWindDirection = (relativeWindDirection + 360) % 360;
 
//Pfeil justieren 
let rotationDegrees = relativeWindDirection - 180;// Drehung auf den Pfeil anwenden
document.getElementById("windarrowtopcenter").style.transform = `rotate(${rotationDegrees}deg)`;
    
    this.colorNacellesRotationtopcenter = "red";
    this.textBraketopcenter = this.stateBraketopcenter ? "on" : "off";
    this.colorBraketopcenter = this.stateBraketopcenter ? "red" : "lightgreen";
    this.cellBraketopcenter.innerHTML = this.textBraketopcenter;
    this.cellBraketopcenter.style.color = this.colorBraketopcenter;
 
    this.textGearHandletopcenter = "";
    this.colorGearHandletopcenter = "";
    if (this.stateGearHandletopcenter < 0.25) {
      this.textGearHandletopcenter = "up";
      this.colorGearHandletopcenter = "red";
    } else if (this.stateGearHandletopcenter > 0.75) {
      this.textGearHandletopcenter = "down";
      this.colorGearHandletopcenter = "lightgreen";
    } else {
      this.textGearHandletopcenter = `${Math.round(this.stateGearHandle * 100)}%`;
      this.colorGearHandletopcenter = "black";
    }
    this.cellGearHandletopcenter.innerHTML = this.textGearHandletopcenter;
    this.cellGearHandletopcenter.style.color = this.colorGearHandletopcenter;
    this.cellFlapsHandletopcenter.innerHTML = this.stateFlapsHandletopcenter;
    this.cellPlaneHeadingtopcenter.innerHTML = this.statePlaneHeadingtopcenter;
    this.cellAirspeedtopcenter.innerHTML = this.stateAirspeedtopcenter;
    this.cellGroundVelocitytopcenter.innerHTML = this.stateGroundVelocitytopcenter;
    this.cellAltitudetopcenter.innerHTML = this.stateAltitudetopcenter;
    this.cellAltAboveGroundtopcenter.innerHTML = this.stateAltAboveGroundtopcenter;
    this.cellVerticalSpeedtopcenter.innerHTML = this.stateVerticalSpeedtopcenter;
    this.cellNacellesRotationtopcenter.innerHTML = this.stateNacellesRotationtopcenter;
    this.cellRudTrimtopcenter.innerHTML = this.stateRudTrimtopcenter;
    this.cellElevTrimtopcenter.innerHTML = this.stateElevTrimtopcenter;
    this.cellWindDirectiontopcenter.innerHTML = this.stateWindDirectiontopcenter;
    this.cellWindVelocitytopcenter.innerHTML = this.stateWindVelocitytopcenter;
    this.cellLocalTimetopcenter.innerHTML = this.stateLocalTimetopcenter;
 this.cellNacellesRotationtopcenter.style.color = this.colorNacellesRotationtopcenter;
}
 
this.update_counter=0;  
loop_30hz(()=>{
    if(this.store.active && (this.update_counter >= (this.update_interval*30))){
        this.update_counter=0;
        this.update_elements();
    }
    this.update_counter++;
});
 
run(() => {
    this.store.active=!this.store.active;
    this.$api.datastore.export(this.store);
    this.update_elements();
    return 2000;
});
 
style(() => {
    return this.store.active ? 'active' : 'inactive';
});
Viewed 631 times, submitted by Guest.