ATIS fixes from John Denker
This commit is contained in:
parent
4428b7358c
commit
2cb67b06b7
3 changed files with 21 additions and 8 deletions
|
@ -216,9 +216,12 @@ int FGATIS::GenTransmission(const int regen, const int special) {
|
||||||
using namespace lex;
|
using namespace lex;
|
||||||
|
|
||||||
string BRK = ".\n";
|
string BRK = ".\n";
|
||||||
|
string PAUSE = " / ";
|
||||||
|
|
||||||
double tstamp = atof(fgGetString("sim/time/elapsed-sec"));
|
double tstamp = atof(fgGetString("sim/time/elapsed-sec"));
|
||||||
int interval = ATIS ? ATIS_interval : 2*minute; // AWOS updated frequently
|
int interval = _type == ATIS ?
|
||||||
|
ATIS_interval // ATIS updated hourly
|
||||||
|
: 2*minute; // AWOS updated more frequently
|
||||||
int sequence = current_commlist->GetAtisSequence(ident,
|
int sequence = current_commlist->GetAtisSequence(ident,
|
||||||
tstamp, interval, special);
|
tstamp, interval, special);
|
||||||
if (!regen && sequence > LTRS) {
|
if (!regen && sequence > LTRS) {
|
||||||
|
@ -320,6 +323,9 @@ int FGATIS::GenTransmission(const int regen, const int special) {
|
||||||
transmission += " " + at + " " + ConvertNumToSpokenDigits(buf) + BRK;
|
transmission += " " + at + " " + ConvertNumToSpokenDigits(buf) + BRK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sounds better with a pause in there:
|
||||||
|
transmission += PAUSE;
|
||||||
|
|
||||||
int did_some(0);
|
int did_some(0);
|
||||||
int did_ceiling(0);
|
int did_ceiling(0);
|
||||||
|
|
||||||
|
@ -431,21 +437,24 @@ int FGATIS::GenTransmission(const int regen, const int special) {
|
||||||
transmission += ConvertNumToSpokenDigits(buf) + BRK;
|
transmission += ConvertNumToSpokenDigits(buf) + BRK;
|
||||||
|
|
||||||
if (_type == ATIS /* as opposed to AWOS */) {
|
if (_type == ATIS /* as opposed to AWOS */) {
|
||||||
const FGAirport* apt = fgFindAirportID(ident);
|
const FGAirport* apt = fgFindAirportID(ident);
|
||||||
assert(apt);
|
if (apt) {
|
||||||
string rwy_no = apt->getActiveRunwayForUsage()->ident();
|
string rwy_no = apt->getActiveRunwayForUsage()->ident();
|
||||||
if(rwy_no != "NN") {
|
if(rwy_no != "NN") {
|
||||||
transmission += Landing_and_departing_runway + " ";
|
transmission += Landing_and_departing_runway + " ";
|
||||||
transmission += ConvertRwyNumToSpokenString(rwy_no) + BRK;
|
transmission += ConvertRwyNumToSpokenString(rwy_no) + BRK;
|
||||||
|
#ifdef ATIS_TEST
|
||||||
if (msg_OK) {
|
if (msg_OK) {
|
||||||
msg_time = cur_time;
|
msg_time = cur_time;
|
||||||
//cout << "In atis.cxx, r.rwy_no: " << rwy_no
|
cout << "In atis.cxx, r.rwy_no: " << rwy_no
|
||||||
// << " wind_dir: " << wind_dir << endl;
|
<< " wind_dir: " << wind_dir << endl;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
transmission += On_initial_contact_advise_you_have_information + " ";
|
transmission += On_initial_contact_advise_you_have_information + " ";
|
||||||
transmission += phonetic_seq_string;
|
transmission += phonetic_seq_string;
|
||||||
transmission += "... " + BRK;
|
transmission += "... " + BRK + PAUSE + PAUSE;
|
||||||
}
|
}
|
||||||
#ifdef ATIS_TEST
|
#ifdef ATIS_TEST
|
||||||
cout << "**** ATIS active on:";
|
cout << "**** ATIS active on:";
|
||||||
|
@ -474,7 +483,7 @@ int FGATIS::GenTransmission(const int regen, const int special) {
|
||||||
for (size_t where;;) {
|
for (size_t where;;) {
|
||||||
where = transmission.find_first_of(":.");
|
where = transmission.find_first_of(":.");
|
||||||
if (where == string::npos) break;
|
if (where == string::npos) break;
|
||||||
transmission.replace(where, 1, " /_ ");
|
transmission.replace(where, 1, PAUSE);
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,9 +34,12 @@ Q(hundred)
|
||||||
Q(zero)
|
Q(zero)
|
||||||
Q(Temperature)
|
Q(Temperature)
|
||||||
Q(clear)
|
Q(clear)
|
||||||
|
Q(isolated)
|
||||||
|
Q(few)
|
||||||
Q(scattered)
|
Q(scattered)
|
||||||
Q(broken)
|
Q(broken)
|
||||||
Q(overcast)
|
Q(overcast)
|
||||||
|
Q(thin)
|
||||||
Q(Sky_condition)
|
Q(Sky_condition)
|
||||||
Q(Ceiling)
|
Q(Ceiling)
|
||||||
Q(minus)
|
Q(minus)
|
||||||
|
|
|
@ -3,6 +3,7 @@ REMAP(Rgnl, Regional)
|
||||||
REMAP(Co, County)
|
REMAP(Co, County)
|
||||||
REMAP(Muni, Municipal)
|
REMAP(Muni, Municipal)
|
||||||
REMAP(Mem, Memorial)
|
REMAP(Mem, Memorial)
|
||||||
|
REMAP(Meml, Memorial)
|
||||||
REMAP(Apt, Airport)
|
REMAP(Apt, Airport)
|
||||||
REMAP(Arpt, Airport)
|
REMAP(Arpt, Airport)
|
||||||
REMAP(Fld, Field)
|
REMAP(Fld, Field)
|
||||||
|
|
Loading…
Reference in a new issue