CPDLC: add some initial work. Once it's merged to -next, I can then proceed to implement it better
This commit is contained in:
parent
d6d654afbf
commit
acc4b5c381
2 changed files with 35 additions and 17 deletions
|
@ -11,18 +11,18 @@ var CPDLCmessage = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
makeNewDictionaryItem(CPDLCmessage.new("CONNECT",0), "CONNECT");
|
var CPDLCnewMsgFlag = props.globals.getNode("/network/cpdlc/rx/new-message");
|
||||||
|
|
||||||
|
setlistener("/network/cpdlc/rx/new-message", func() {
|
||||||
|
if (CPDLCnewMsgflag.getBoolValue()) {
|
||||||
|
# add to DCDU message buffer
|
||||||
|
# make alert on DCDU
|
||||||
|
# add DCDU prompts (wilco, etc)
|
||||||
|
CPDLCnewMsgFlag.setBoolValue(0);
|
||||||
|
}
|
||||||
|
}, 0, 0);
|
||||||
|
|
||||||
makeNewDictionaryItem(CPDLCmessage.new("WILCO",0), "WILCO");
|
# issue fgcommand with cpdlc message to send
|
||||||
makeNewDictionaryItem(CPDLCmessage.new("UNABLE",0), "UNABLE");
|
|
||||||
makeNewDictionaryItem(CPDLCmessage.new("STANDBY",0), "STANDBY");
|
|
||||||
makeNewDictionaryItem(CPDLCmessage.new("ROGER",0), "ROGER");
|
|
||||||
makeNewDictionaryItem(CPDLCmessage.new("AFFIRM",0), "AFFIRM");
|
|
||||||
makeNewDictionaryItem(CPDLCmessage.new("NEGATIVE",0), "NEGATIVE");
|
|
||||||
|
|
||||||
|
|
||||||
makeNewDictionaryItem(CPDLCmessage.new("REQUEST ALTITUDE",0), "REQUEST ALTITUDE");
|
|
||||||
|
|
||||||
var freeText = {
|
var freeText = {
|
||||||
new: func(index) {
|
new: func(index) {
|
||||||
|
@ -32,6 +32,23 @@ var freeText = {
|
||||||
},
|
},
|
||||||
selection: 9,
|
selection: 9,
|
||||||
changed: 0,
|
changed: 0,
|
||||||
|
getText: func() {
|
||||||
|
if (me.selection == 0) {
|
||||||
|
return "DUE TO A/C PERFORMANCE";
|
||||||
|
} elsif (me.selection == 1) {
|
||||||
|
return "DUE TO WEATHER";
|
||||||
|
} elsif (me.selection == 2) {
|
||||||
|
return "DUE TO TURBULENCE";
|
||||||
|
} elsif (me.selection == 3) {
|
||||||
|
return "DUE TO MEDICAL";
|
||||||
|
} elsif (me.selection == 4) {
|
||||||
|
return "DUE TO TECHNICAL";
|
||||||
|
} elsif (me.selection == 5) {
|
||||||
|
return "AT PILOTS DISCRETION";
|
||||||
|
} else {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var freeTexts = [freeText.new(0), freeText.new(1)];
|
var freeTexts = [freeText.new(0), freeText.new(1)];
|
|
@ -20,16 +20,17 @@ var notificationSystem = {
|
||||||
notifyAirport: nil,
|
notifyAirport: nil,
|
||||||
hasNotified: 0,
|
hasNotified: 0,
|
||||||
inputAirport: func(airport) {
|
inputAirport: func(airport) {
|
||||||
if (!fmgc.FMGCInternal.flightNumSet or size(airport) != 4) { return 1; }
|
#if (!fmgc.FMGCInternal.flightNumSet or size(airport) != 4) { return 1; }
|
||||||
var airportList = findAirportsByICAO(airport);
|
#var airportList = findAirportsByICAO(airport);
|
||||||
if (size(airportList) == 0) { return 2; }
|
#if (size(airportList) == 0) { return 2; }
|
||||||
if (me.hasNotified) { me.hasNotified = 0; }
|
if (me.hasNotified) { me.hasNotified = 0; }
|
||||||
me.notifyAirport = airportList[0].id;
|
me.notifyAirport = airport;
|
||||||
return 0;
|
return 0;
|
||||||
},
|
},
|
||||||
notify: func() {
|
notify: func() {
|
||||||
if (me.notifyAirport != nil) {
|
if (me.notifyAirport != nil) {
|
||||||
me.hasNotified = 1;
|
me.hasNotified = 1;
|
||||||
|
fgcommand("cpdlc-connect", props.Node.new( {atc: me.notifyAirport} ));
|
||||||
# todo - send notification to ATC
|
# todo - send notification to ATC
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
|
@ -37,9 +38,9 @@ var notificationSystem = {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
automaticTransfer: func(station) {
|
automaticTransfer: func(station) {
|
||||||
var airportList = findAirportsByICAO(station);
|
#var airportList = findAirportsByICAO(station);
|
||||||
if (size(airportList) == 0) { return 2; }
|
#if (size(airportList) == 0) { return 2; }
|
||||||
me.notifyAirport = airportList[0].id;
|
me.notifyAirport = station;
|
||||||
return 0;
|
return 0;
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue