Navtex enhancements.

* Navtex transmission.
	* SitorB reception and transmission.
	* Navtex lookup of the station name and locator.
	* Typo in qso_db.cxx.
pull/1/head
Remi Chateauneu 2012-02-01 22:04:05 +00:00 zatwierdzone przez David Freese
rodzic 25b4499a63
commit f2268b8841
15 zmienionych plików z 1054 dodań i 137 usunięć

Wyświetl plik

@ -0,0 +1,200 @@
Azores;AZR;490.0;J;CTH;Horta;38 32 N;28 38 W;II;PP
Canada;CAN;490.0;D;VCK;Riviere-au-Renard, OC;50 11 N;66 07 W;IV;FF
Canada;CAN;490.0;J;VOO;Sydney, NS;46 11 N;59 54 W;IV;FF
Canada;CAN;490.0;S;VFF;Iqaluit, NU;63 44 N;68 33 W;IV;FF
Canada;CAN;490.0;V;VAR-3;Fundy, NB;43 45 N;66 10 W;IV;FF
Canary Isles;CNR;490.0;A;EAL;Las Palmas;28 09 N;15 25 W;II;SS
Cape Verde;CPV;490.0;P;D4A;Sao Vicente;16 51 N;25 00 W;II;EE
Ecuador;EOA;490.0;A;;Ayora;00 45 S;90 19 W;XII;SS
England;ENG;490.0;T;GNI;Niton;50 35 N;01 18 W;I;FF
England;ENG;490.0;I;GNI;Niton;50 35 N;01 18 W;I;EE
England;ENG;490.0;U;GOC;Cullercoats;55 04 N;01 28 W;I;EE
France;FRA;490.0;E;FRC;CROSS Corsen;48 24 N;05 03 W;II;FF
France;FRA;490.0;S;FRL;CROSS La Garde;43 06 N;05 59 E;III;FF
Germany;DEU;490.0;L;DDH47;Pinneberg;53 43 N;09 55 E;I;DD
Iceland;ISL;490.0;R;TFA;Reykiavik;64 05 N;21 51 W;I;IS
Portugal;POR;490.0;G;CTV;Monsanto;38 44 N;09 11 W;II;PP
Romania;ROU;490.0;L;YOI;Constanta;44 12 N;28 40 E;III;RO
Scotland;SCT;490.0;C;GPK;Portpatrick;54 51 N;05 07 W;I;EE
South Korea;KOR;490.0;J;;Chukpyon;37 03 N;129 26 E;XI;KO
South Korea;KOR;490.0;K;;Pyonsan;35 36 N;126 29 E;XI;KO
Spain;ESP;490.0;M;EAV;Valencia (Cabo de la Nao);39 27 N;00 20 W;III;SS
Spain;ESP;490.0;T;EAC;Tarifa;36 01 N;05 35 W;II;SS
Spain;ESP;490.0;W;EAR;Coruna;43 22 N;08 27 W;II;SS
Taiwan;TWN;490.0;V;;Lintou;23 33 N;119 38 E;XI;CC
Taiwan;TWN;490.0;X;XSY;Yenliaoken;23 54 N;121 36 E;XI;CC
Turkey;TUR;490.0;A;TAF;Samsun;41 17 N;36 20 E;III;TT
Turkey;TUR;490.0;B;TAH;Istanbul;41 04 N;28 57 E;III;TT
Turkey;TUR;490.0;C;TAN;Izmir;38 22 N;26 36 E;III;TT
Turkey;TUR;490.0;D;TAL;Antalya;36 53 N;30 42 E;III;TT
Uruguay;URG;490.0;A;CWM27;La Paloma;34 40 S;54 09 W;VI;SS
Alaska;ALS;518.0;J;NOJ;Kodiak (east of);57 46 N;152 34 W;XII;EE
Alaska;ALS;518.0;X;NOJ;Kodiak (west of);57 46 N;152 34 W;XII;EE
Algeria;ALG;518.0;B;7TA;Alger Radio;36 40 N;03 18 E;III;EE
Argentina;ARG;518.0;A;L3K;Ushuaia;54 48 S;68 18 W;VI;SS
Argentina;ARG;518.0;B;L3D;Rio Gallegos;51 37 S;69 03 W;VI;SS
Argentina;ARG;518.0;C;L2W;Comodoro Rivadavia;45 51 S;67 25 W;VI;SS
Argentina;ARG;518.0;D;L2l;Bahia Blanca;38 43 S;62 6 W;VI;SS
Argentina;ARG;518.0;E;L2P;Mar del Plata;38 03 S;57 32 W;VI;SS
Argentina;ARG;518.0;H;L2B;Buenos Aires;34 27 S;58 37 W;VI;SS
Argentina;ARG;518.0;M;L3K;Ushuaia;54 48 S;68 18 W;VI;EE
Argentina;ARG;518.0;N;L3D;Rio Gallegos;51 37 S;69 03 W;VI;EE
Argentina;ARG;518.0;O;L2W;Comodoro Rivadavia;45 51 S;67 25 W;VI;EE
Argentina;ARG;518.0;P;L2l;Bahia Blanca;38 43 S;62 6 W;VI;EE
Argentina;ARG;518.0;O;L2P;Mar del Plata;38 03 S;57 32 W;VI;EE
Argentina;ARG;518.0;R;L2B;Buenos Aires;34 27 S;58 37 W;VI;EE
Azores;AZR;518.0;F;CTH;Horta;38 32 N;28 38 W;II;EE
Bahrain;BHR;518.0;B;A9M;Amala;26 13 N;50 39 E;IX;EE
Belgium;BEL;518.0;M;OST;Oostende (Thames);51 11 N;02 48 E;I;EE
Belgium;BEL;518.0;T;OST;Oostende;51 11 N;02 48 E;I;EE
Bermuda;BER;518.0;B;ZBM;Bermuda Harbour;32 23 N;64 41 W;IV;EE
Bulgaria;BUL;518.0;J;LZW;Varna;43 04 N;27 46 E;III;EE
Canada;CAN;518.0;C;VOK;Riviere-au-Renard, OC;50 11 N;66 07 W;IV;EE
Canada;CAN;518.0;D;VAJ;Prince Rupert, BC;54 18 N;130 25 W;XII;EE
Canada;CAN;518.0;H;XMJ;329 Prescott, ON;45 42 N;125 32 W;IV;EE
Canada;CAN;518.0;H;XLK835;Tofino, BC;48 56 N;125 32 W;XII;EE
Canada;CAN;518.0;O;VON;St. Johns, NL;47 37 N;52 40 W;IV;EE
Canada;CAN;518.0;P;XLJ;895 Thunder Bay, ON;48 26 N;89 13 W;IV;EE
Canada;CAN;518.0;O;VCO;Sydney, NS;46 11 N;59 54 W;IV;EE
Canada;CAN;518.0;T;VFF;Iqaluit, NT;63 44 N;68 33 W;IV;EE
Canada;CAN;518.0;U;VAR-3;Fundy, NB;45 14 N;65 59 W;IV;EE
Canada;CAN;518.0;X;VOK;Labrador, NL;53 18 N;60 33 W;IV;EE
Canary Isles;CNR;518.0;I;EAL;Las Palmas;28 09 N;15 25 W;II;EE
Cape Verde;CPV;518.0;U;D4A;San Vicente;16 51 N;25 00 W;II;EE
Chile;CHL;518.0;I;CBV;Valparaiso;32 48 S;71 29 W;XV;SS
Chile;CHL;518.0;A;CBA;Antofgasta;23 40 S;70 25 W;XV;EE
Chile;CHL;518.0;B;CBV;Valparaiso;32 48 S;71 29 W;XV;EE
Chile;CHL;518.0;C;CBT;Talcahuano;36 42 S;73 6 W;XV;EE
Chile;CHL;518.0;D;CBP;Puerto Montt;41 29 S;72 57 W;XV;EE
Chile;CHL;518.0;E;CBM;Magallenes;52 56 S;70 54 W;XV;EE
Chile;CHL;518.0;H;CBA;Antofgasta;23 40 S;70 25 W;XV;SS
Chile;CHL;518.0;J;CBT;Talcahuano;36 42 S;73 06 W;XV;SS
Chile;CHL;518.0;K;CBP;Puerto Montt;41 29 S;72 57 W;XV;EE
Chile;CHL;518.0;L;CBM;Magallenes;52 56 S;70 54 W;XV;SS
China;CHN;518.0;L;VRX;Hong Kong;22 13 N;114 15 E;XI;EE
China;CHN;518.0;M;XSI;Sanya;18 14 N;109 30 E;XI;EE/CC
China;CHN;518.0;N;XSO;Guangzhou;23 09 N;113 29 E;XI;EE/CC
China;CHN;518.0;O;XSL;Foochow;26 02 N;119 18 E;XI;EE
China;CHN;518.0;O;XSG;Shanghai;31 07 N;121 33 E;XI;EE
China;CHN;518.0;R;XSZ;Dalian;38 52 N;121 31 E;XI;EE
Croatia;HRV;518.0;O;9AS;Split;43 30 N;16 29 E;III;EE
Cyprus;CYP;518.0;M;5BA;Cyprus;35 02 N;33 17 E;III;EE
Easter Island;PAO;518.0;G;CBY;Isla de Pascua;27 09 S;109 23 W;XV;SS
Easter Island;PAO;518.0;H;CBY;Isla de Easter;27 09 S;109 23 W;XV;EE
Egypt;EGY;518.0;N;SUH;Alexandria;31 12 N;29 52 E;III;EE
Egypt;EGY;518.0;V;SUK;Kosseir;26 06 N;34 17 E;IX;EE
Egypt;EGY;518.0;X;SUZ;Serapeum (Ismailia);30 35 N;32 17 E;IX;EE
England;ENG;518.0;E;GNI;Niton;50 35 N;01 18 W;I;EE
England;ENG;518.0;G;GOC;Cullercoats;55 04 N;01 28 W;I;EE
England;ENG;518.0;K;GNI;Niton (Northern France);50 35 N;01 18 W;I;EE
Equador;EOA;518.0;L;;Aycra;00 45 S;90 19 W;XII;EE
Equador;EOA;518.0;M;HOG;Guayaquil;02 17 S;72 01 W;XII;EE
Estonia;EST;518.0;U;ESA;Tallinn;59 30 N;24 30 E;I;EE
Faroes;FRO;518.0;D;OXJ;Torshavn;62 00 N;06 47 W;I;EE
France;FRA;518.0;A;FRC;CROSS Corsen;48 24 N;05 03 W;II;EE
France;FRA;518.0;W;FRL;CROSS La Garde;43 06 N;05 59 E;III;EE
Germany;DEU;518.0;L;DEU;Germany;53 43 N;09 55 E;I;EE
Greece;GRC;518.0;H;SVH;Irakleio (Crete);35 20 N;25 07 E;III;EE/GK
Greece;GRC;518.0;K;SVK;Kerkyra;39 45 N;19 52 E;III;EE/GK
Greece;GRC;518.0;L;SVL;Limnos;39 52 N;25 04 E;III;EE/GK
Greenland;GRL;518.0;W;OXI;Nuuk (Kook Island);64 04 N;52 02 W;IV;EE
Guam;GUM;518.0;V;NRV;Guam;13 29 N;144 50 E;XI;EE
Hawaii;HWA;518.0;O;NMO;Honolulu;21 22 N;158 09 W;XII;EE
Iceland;ISL;518.0;R;TFA;Reykiavik;64 05 N;21 51 W;I;EE
Iceland;ISL;518.0;X;TFA;Reykiavik;64 05 N;21 51 W;I;EE
India;IND;518.0;G;WNB;Bombay;19 05 N;72 50 E;VIII;EE
India;IND;518.0;P;VWM;Madras;13 05 N;80 17 E;VIII;EE
Indonesia;INS;518.0;A;PNK;Jayapura;02 31 S;140 43 E;XI;EE
Indonesia;INS;518.0;B;PKE;Ambon;03 42 S;128 12 E;XI;EE
Indonesia;INS;518.0;D;PKF;Makassar;05 06 S;119 26 W;XI;EE
Indonesia;INS;518.0;E;PKX;Jakarta;06 07 S;106 52 E;XI;EE
Iran;IRN;518.0;A;EQM;Bushehr;28 58 N;50 50 E;IX;EE
Iran;IRN;518.0;H;EOI;Bandar Abbas;27 08 N;57 04 E;IX;EE
Ireland;IRL;518.0;O;EJM;Malin Head Coastguard;55 22 N;07 21 W;I;EE
Ireland;IRL;518.0;W;EJK;Valentia Coastguard;51 27 N;09 49 W;I;EE
Israel;ISR;518.0;P;4XO;Haifa;32 49 N;35 00 E;III;EE
Italy;ITA;518.0;R;IAR;Roma;41 48 N;12 31 E;III;EE/II
Italy;ITA;518.0;U;IOX;Trieste;45 41 N;13 46 E;III;EE/II
Japan;JPN;518.0;G;JNB;Naha;26 09 N;127 46 E;XI;EE
Japan;JPN;518.0;H;JNR;Moji;33 52 N;130 36 E;XI;EE
Japan;JPN;518.0;I;JGC;Yokohama;35 22 N;118 43 E;XI;EE
Japan;JPN;518.0;J;JNL;Otaru;43 12 N;141 00 E;XI;EE
Japan;JPN;518.0;K;JNX;Kushiro;42 59 N;144 23 E;XI;EE
Malaysia;MLA;518.0;S;9WH 21;Sandakan;05 54 N;118 00 E;XI;EE
Malaysia;MLA;518.0;T;9WW;Miri;04 28 N;114 01 E;XI;EE
Malaysia;MLA;518.0;U;9MG;Penang;05 25 N;100 24 E;XI;EE
Malta;MLT;518.0;O;9HD;Malta;35 49 N;14 32 E;III;EE
Mauritius;MAU;518.0;C;MAU;Mauritius;20 10 S;57 28 E;II;EE
Morocco;MRC;518.0;M;CNP;Casablanca;33 36 N;07 38 W;II;EE
Namibia;NMB;518.0;B;V5W;Walvis Bay;23 03 S;14 37 E;VII;EE
Netherland;ATN;518.0;H;JPC;Curacao;12 10 N;68 52 W;IV;EE
Netherlands;HOL;518.0;P;PBK;Netherlands Coast Guard;52 06 N;04 15 E;I;EE
Norway;NOR;518.0;B;LGP;Bode;67 16 N;14 23 E;I;EE
Norway;NOR;518.0;L;LGO;Rogaland;58 39 N;05 36 E;I;EE
Norway;NOR;518.0;N;LGD;Orlandet;63 40 N;09 33 E;I;EE
Norway;NOR;518.0;V;LGV;Varde;70 22 N;31 06 E;;EE
Oman;OMA;518.0;M;A4M;Muscat;23 37 N;58 31 E;IX;EE
Pakistan;PAK;518.0;P;ASK;Karachi;24 51 N;67 03 E;IX;EE
Peru;PRU;518.0;S;OBY2;Paita;05 05 S;81 07 W;XV;EE/SS
Peru;PRU;518.0;U;OBC3;Callao;12 3 S;77 09 W;XV;EE/SS
Peru;PRU;518.0;W;OBF4;Matarani;17 01 S;72 01 W;XV;EE/SS
Philipines;PHL;518.0;I;;Puerto Princesa;09 44 N;121 03 E;XI;EE
Philipines;PHL;518.0;J;DZS;Manila;14 35 N;121 03 E;XI;EE
Philipines;PHL;518.0;K;;Davao;07 04 N;125 36 E;XI;EE
Portugal;POR;518.0;R;CTV-;Monsanto;38 44 N;09 11 W;II;EE
Puerto Rico;PTR;518.0;R;NMR;Isabella - San Juan, PR;18 28 N;67 04 W;IV;EE
Russia;RSE;518.0;A;UIK;Vladivostok;43 23 N;131 54 E;XI;II;EE
Russia;RSE;518.0;C;UBA2;Petropavlovsk;53 15 N;158 25 E;XI;II;EE
Russia;RSE;518.0;D;UIB;Magadan;59 41 N;150 09 E;XI;II;EE
Russia;RSE;518.0;G;;Okhotsk;59 22 N;143 12 E;XI;II;EE
Russia;RUS;518.0;A;UDN;Novorossiysk;44 43 N;37 47 E;III;EE
Russia;RSE;518.0;B;UFO;Kholmsk;47 02 N;142 03 E;XIII;EE
Russia;RUS;518.0;C;UHS;Murmansk;68 46 N;32 58 E;;EE
Russia;RUS;518.0;H;UGE;Arkhangelsk;64 33 N;40 32 E;;EE
Russia (Caspian);RUS;518.0;W;UJB;Astrakhan;46 18 N;47 58 E;III;EE
Sardinia;SAR;518.0;T;IDC;Cagliari;39 14 N;09 14 E;III;EE
Saudi Arabia;ARS;518.0;H;HZH;Jeddah;21 23 N;39 11 E;IX;EE
Scotland;SCT;518.0;O;GPK;Portpatrick;54 51 N;05 07 W;I;EE
Sicily;SCY;518.0;V;IQA;Augusta;37 14 N;15 14 E;III;EE
Singapore;SNG;518.0;C;9VG;Singapore;01 20 N;103 42 E;XI;EE
South Africa;AFS;518.0;C;ZSC;Cape Town;33 41 S;18 43 E;VII;EE
South Africa;AFS;518.0;I;ZSO;Port Elizabeth;33 57 S;25 31 E;VII;EE
South Africa;AFS;518.0;O;ZSD;Durban;29 48 S;30 49 E;VII;EE
South Korea;KOR;518.0;V;;Chukpyon;37 03 N;129 26 E;XI;EE
South Korea;KOR;518.0;W;;Pyonsan;35 36 N;126 29 E;XI;EE
Spain;ESP;518.0;D;EAR;Coruna;43 21 N;08 27 W;II;EE
Spain;ESP;518.0;G;EAC;Tarifa;36 01 N;05 35 W;II;EE
Spain;ESP;518.0;X;EAV;Valencia (Cabo de la Nao);38 43 N;00 09 W;III;EE
Svalbard;SVB;518.0;A;LGS;Svalbard;78 04 N;13 36 E;;EE
Sweden;SWE;518.0;H;SAH;Bjuroklubb;64 28 N;21 36 E;I;EE
Sweden;SWE;518.0;I;SAG;Grimeton;57 06 N;12 23 E;I;EE
Sweden;SWE;518.0;J;SAA;Gisovshammar;55 29 N;14 19 E;I;EE
Taiwan;TWN;518.0;P;;Lintou;23 33 N;119 38 E;XI;EE
Taiwan;TWN;518.0;P;;Yenliaoken;23 54 N;121 36 E;XI;EE
Thailand;THA;518.0;H;HAS;Bangkok (Nonthaburi);13 01 N;100 01 E;XI;EE
Turkey;TUR;518.0;D;TAH;Istanbul;41 04 N;28 57 E;III;EE
Turkey;TUR;518.0;H;TAF;Samsun;41 17 N;36 20 E;III;EE
Turkey;TUR;518.0;H;TAL;Antalya;36 35 N;30 42 E;III;EE
Turkey;TUR;518.0;I;TAN;Izmir;38 21 N;26 35 E;III;EE
Ukraine;UKR;518.0;B;UTW;Kerch;44 23 N;36 28 E;III;EE
Ukraine;UKR;518.0;C;UTT;Odessa;46 29 N;30 44 E;III;EE
United States;USA;518.0;A;NMA;Miami, FL;25 30 N;80 23 W;IV;EE
United States;USA;518.0;C;NMC;San Francisco (Point;37 55 N;122 42 W;XII;EE
United States;USA;518.0;H;NMB;Savannah, GA;32 08 N;81 42 W;IV;EE
United States;USA;518.0;H;NMF;Boston, MA;41 43 N;70 31 W;IV;EE
United States;USA;518.0;G;NMG;New Orleans, LA;29 53 N;89 55 W;IV;EE
United States;USA;518.0;N;NMN;Portsmouth, VA;36 44 N;76 01 W;IV;EE
United States;USA;518.0;O;NMO;Long Beach, CA (Cambria);35 31 N;121 03 W;XII;EE
United States;USA;518.0;W;NMW;Astoria, OR;46 10 N;123 49 W;XII;EE
Uruguay;URG;518.0;H;CWM27;La Paloma;34 40 S;54 09 W;VI;EE
Vietnam;VTN;518.0;K;XVT;Danang;16 05 N;108 13 E;XI;EE
Vietnam;VTN;518.0;W;XVG;Haiphong;20 44 N;106 44 E;XI;EE
Vietnam;VTN;518.0;X;XVS;Ho Chi Minh-Ville;10 47 N;106 40 E;XI;EE
Egypt;EGY;4209.5;X;SUZ;Serapeum (Ismalia);30 28 N;32 15 E;IX;EE
Taiwan;TWN;4209.5;P;;Ohi-lung (Keelung);25 08 N;121 45 E;XI;EE
Taiwan;TWN;4209.5;P;;Linyuan;22 29 N;120 25 E;XI;EE
Taiwan;TWN;4209.5;V;XSX;Chi-lung (Keelung);25 08 N;121 45 E;XI;CC
Taiwan;TWN;4209.5;X;;Linyuan;22 29 N;120 25 E;XI;CC
Turkey;TUR;4209.5;M;TAH;Istanbul;41 04 N;28 57 E;III;TT
Vietnam;VTN;4209.5;W;;Haiphong;20 44 N;106 44 E;XI;
Nie można renderować tego pliku, ponieważ ma nieprawidłową liczbę pól w wierszu 146.

Wyświetl plik

@ -11,7 +11,7 @@ if WANT_FLARQ
endif
# The BUILD_* variables are defined in build.m4
fldigi_CPPFLAGS = -DBUILD_FLDIGI -DLOCALEDIR=\"$(localedir)\" @FLDIGI_BUILD_CPPFLAGS@
fldigi_CPPFLAGS = -DBUILD_FLDIGI -DLOCALEDIR=\"$(localedir)\" @FLDIGI_BUILD_CPPFLAGS@ -DPKGDATADIR=\"$(pkgdatadir)\"
fldigi_CXXFLAGS = @FLDIGI_BUILD_CXXFLAGS@
fldigi_CFLAGS = $(fldigi_CXXFLAGS)
fldigi_LDFLAGS = @FLDIGI_BUILD_LDFLAGS@
@ -133,6 +133,10 @@ if WANT_FLDIGI
$(mkinstalldirs) $(DESTDIR)/$(datadir)/applications; \
$(INSTALL_DATA) $(srcdir)/../data/fldigi.desktop $(DESTDIR)/$(datadir)/applications; \
fi
if test -f $(srcdir)/../data/NAVTEX_Stations.csv; then \
$(mkinstalldirs) $(DESTDIR)/$(datadir)/fldigi; \
$(INSTALL_DATA) $(srcdir)/../data/NAVTEX_Stations.csv $(DESTDIR)/$(pkgdatadir); \
fi
endif
if WANT_FLARQ
if test -f $(srcdir)/../data/flarq.xpm; then \
@ -652,6 +656,7 @@ EXTRA_DIST = \
$(srcdir)/../data/fldigi-rtty.png \
$(srcdir)/../data/fldigi.xpm \
$(srcdir)/../data/fldigi.desktop \
$(srcdir)/../data/NAVTEX_Stations.csv \
$(srcdir)/../data/mac/Info.plist.in \
$(srcdir)/../data/mac/fldigi.icns \
$(srcdir)/../data/win32/fldigi.ico \

Wyświetl plik

@ -1999,6 +1999,21 @@ static void cb_btnNvtxAdifLog(Fl_Check_Button* o, void*) {
progdefaults.changed = true;
}
Fl_Output *txtNvtxCatalog=(Fl_Output *)0;
static void cb_txtNvtxCatalog(Fl_Output* o, void*) {
progdefaults.NVTX_Catalog=o->value();
progdefaults.changed = true;
}
Fl_Button *btnSelectNvtxCatalog=(Fl_Button *)0;
static void cb_btnSelectNvtxCatalog(Fl_Button*, void*) {
Fl_File_Chooser *fc = new Fl_File_Chooser(".",NULL,Fl_File_Chooser::SINGLE,"Navtex stations file");
fc->callback(NvtxCatalogSet);
fc->show();
}
Fl_Group *tabRig=(Fl_Group *)0;
Fl_Tabs *tabsRig=(Fl_Tabs *)0;
@ -4599,6 +4614,7 @@ an merging"));
tabsModems->selection_color((Fl_Color)FL_LIGHT1);
tabsModems->align(FL_ALIGN_TOP_RIGHT);
{ tabContestia = new Fl_Group(0, 50, 500, 320, _("Contestia"));
tabContestia->hide();
{ Fl_Group* o = new Fl_Group(5, 60, 490, 200);
o->box(FL_ENGRAVED_FRAME);
{ Fl_Choice* o = mnuContestia_Bandwidth = new Fl_Choice(60, 80, 85, 20, _("Bandwidth"));
@ -5904,6 +5920,7 @@ an merging"));
tabPacket->end();
} // Fl_Group* tabPacket
{ tabWefax = new Fl_Group(-5, 50, 590, 320, _("Wefax"));
tabWefax->hide();
{ Fl_Group* o = new Fl_Group(-5, 50, 590, 320);
{ Fl_Check_Button* o = btnWefaxAdifLog = new Fl_Check_Button(10, 130, 235, 30, _("Log Wefax messages to Adif file"));
btnWefaxAdifLog->tooltip(_("Sent and received faxes are logged to Adif file."));
@ -5972,13 +5989,22 @@ an merging"));
tabWefax->end();
} // Fl_Group* tabWefax
{ tabNavtex = new Fl_Group(-5, 50, 590, 320, _("Navtex"));
tabNavtex->hide();
{ Fl_Group* o = new Fl_Group(-5, 50, 590, 320);
{ Fl_Check_Button* o = btnNvtxAdifLog = new Fl_Check_Button(10, 65, 235, 30, _("Log Navtex messages to Adif file"));
btnNvtxAdifLog->down_box(FL_DOWN_BOX);
btnNvtxAdifLog->callback((Fl_Callback*)cb_btnNvtxAdifLog);
o->value(progdefaults.NVTX_AdifLog);
} // Fl_Check_Button* btnNvtxAdifLog
{ Fl_Output* o = txtNvtxCatalog = new Fl_Output(10, 123, 270, 22, _("Navtex stations file:"));
txtNvtxCatalog->tooltip(_("Use Open to select descriptor file"));
txtNvtxCatalog->color((Fl_Color)FL_LIGHT2);
txtNvtxCatalog->callback((Fl_Callback*)cb_txtNvtxCatalog);
txtNvtxCatalog->align(FL_ALIGN_TOP_LEFT);
o->value(fl_filename_name(progdefaults.NVTX_Catalog.c_str()));
} // Fl_Output* txtNvtxCatalog
{ btnSelectNvtxCatalog = new Fl_Button(315, 125, 80, 20, _("Directory..."));
btnSelectNvtxCatalog->callback((Fl_Callback*)cb_btnSelectNvtxCatalog);
} // Fl_Button* btnSelectNvtxCatalog
o->end();
} // Fl_Group* o
tabNavtex->end();
@ -5987,10 +6013,10 @@ an merging"));
} // Fl_Tabs* tabsModems
tabModems->end();
} // Fl_Group* tabModems
{ tabRig = new Fl_Group(0, 23, 500, 345, _("Rig"));
{ tabRig = new Fl_Group(0, 23, 500, 347, _("Rig"));
tabRig->tooltip(_("Transceiver control"));
tabRig->hide();
{ tabsRig = new Fl_Tabs(0, 23, 500, 345);
{ tabsRig = new Fl_Tabs(0, 23, 500, 347);
tabsRig->selection_color((Fl_Color)FL_LIGHT1);
{ Fl_Group* o = new Fl_Group(0, 50, 500, 320, _("Hardware PTT"));
o->hide();
@ -7697,3 +7723,12 @@ if( ( w->value() != NULL ) && ( ! w->shown() ) ) {
cb_btnWefaxSaveDir( btnWefaxSaveDir, NULL );
}
}
void NvtxCatalogSet(Fl_File_Chooser *w, void *userdata) {
/* http://www.fltk.org/documentation.php/doc-1.1/Fl_File_Chooser.html */
if( ( w->value() != NULL ) && ( ! w->shown() ) ) {
txtNvtxCatalog->value( w->value() );
txtNvtxCatalog->redraw();
cb_txtNvtxCatalog( txtNvtxCatalog, NULL );
}
}

Wyświetl plik

@ -1309,7 +1309,7 @@ behaves inside the waterfall} xywh {13 196 150 22} down_box BORDER_BOX align 8
} {
Fl_Group tabContestia {
label Contestia open
xywh {0 50 500 320}
xywh {0 50 500 320} hide
} {
Fl_Group {} {open
xywh {5 60 490 200} box ENGRAVED_FRAME
@ -2481,7 +2481,7 @@ progdefaults.changed = true;}
}
Fl_Group tabWefax {
label Wefax open
xywh {-5 50 590 320}
xywh {-5 50 590 320} hide
} {
Fl_Group {} {open
xywh {-5 50 590 320}
@ -2537,7 +2537,7 @@ fc->show();}
Fl_Check_Button btnWefaxHideTx {
label {Hide Transmission window}
callback {progdefaults.WEFAX_HideTx=o->value();
progdefaults.changed = true;} selected
progdefaults.changed = true;}
tooltip {Hide transmission window by default.} xywh {10 100 235 30} down_box DOWN_BOX
code0 {o->value(progdefaults.WEFAX_HideTx);}
}
@ -2552,7 +2552,7 @@ progdefaults.changed = true;}
}
Fl_Group tabNavtex {
label Navtex open
xywh {-5 50 590 320} hide
xywh {-5 50 590 320}
} {
Fl_Group {} {open
xywh {-5 50 590 320}
@ -2564,6 +2564,20 @@ progdefaults.changed = true;}
xywh {10 65 235 30} down_box DOWN_BOX
code0 {o->value(progdefaults.NVTX_AdifLog);}
}
Fl_Output txtNvtxCatalog {
label {Navtex stations file:}
callback {progdefaults.NVTX_Catalog=o->value();
progdefaults.changed = true;}
tooltip {Use Open to select descriptor file} xywh {10 123 270 22} color 52 align 5
code0 {o->value(fl_filename_name(progdefaults.NVTX_Catalog.c_str()));}
}
Fl_Button btnSelectNvtxCatalog {
label {Directory...}
callback {Fl_File_Chooser *fc = new Fl_File_Chooser(".",NULL,Fl_File_Chooser::SINGLE,"Navtex stations file");
fc->callback(NvtxCatalogSet);
fc->show();} selected
xywh {315 125 80 20}
}
}
}
}
@ -2573,7 +2587,7 @@ progdefaults.changed = true;}
tooltip {Transceiver control} xywh {0 23 500 345} hide
} {
Fl_Tabs tabsRig {open
xywh {0 23 500 345} selection_color 50
xywh {0 23 500 347} selection_color 50
} {
Fl_Group {} {
label {Hardware PTT} open
@ -4469,3 +4483,13 @@ if( ( w->value() != NULL ) && ( ! w->shown() ) ) {
cb_btnWefaxSaveDir( btnWefaxSaveDir, NULL );
}} {}
}
Function {NvtxCatalogSet(Fl_File_Chooser *w, void *userdata)} {open return_type void
} {
code {/* http://www.fltk.org/documentation.php/doc-1.1/Fl_File_Chooser.html */
if( ( w->value() != NULL ) && ( ! w->shown() ) ) {
txtNvtxCatalog->value( w->value() );
txtNvtxCatalog->redraw();
cb_txtNvtxCatalog( txtNvtxCatalog, NULL );
}} {}
}

Wyświetl plik

@ -501,6 +501,7 @@ Fl_Menu_Item quick_change_wefax[] = {
Fl_Menu_Item quick_change_navtex[] = {
{ mode_info[MODE_NAVTEX].name, 0, cb_init_mode, (void *)MODE_NAVTEX },
{ mode_info[MODE_SITORB].name, 0, cb_init_mode, (void *)MODE_SITORB },
{ 0 }
};
@ -1114,6 +1115,7 @@ void init_modem(trx_mode mode, int freq)
break;
case MODE_NAVTEX:
case MODE_SITORB:
startup_modem(*mode_info[mode].modem ? *mode_info[mode].modem :
*mode_info[mode].modem = new navtex(mode), freq);
quick_change = quick_change_navtex;
@ -3170,7 +3172,10 @@ Fl_Menu_Item menu_[] = {
{ mode_info[MODE_WEFAX_288].name, 0, cb_init_mode, (void *)MODE_WEFAX_288, 0, FL_NORMAL_LABEL, 0, 14, 0},
{0,0,0,0,0,0,0,0,0},
{ "Navtex", 0, cb_init_mode, (void *)MODE_NAVTEX, 0, FL_NORMAL_LABEL, 0, 14, 0},
{"Navtex/SitorB", 0, 0, 0, FL_SUBMENU, FL_NORMAL_LABEL, 0, 14, 0},
{ mode_info[MODE_NAVTEX].name, 0, cb_init_mode, (void *)MODE_NAVTEX, 0, FL_NORMAL_LABEL, 0, 14, 0},
{ mode_info[MODE_SITORB].name, 0, cb_init_mode, (void *)MODE_SITORB, 0, FL_NORMAL_LABEL, 0, 14, 0},
{0,0,0,0,0,0,0,0,0},
{"NBEMS modes", 0, 0, 0, FL_SUBMENU | FL_MENU_DIVIDER, FL_NORMAL_LABEL, 0, 14, 0},
{ mode_info[MODE_DOMINOEX11].name, 0, cb_init_mode, (void *)MODE_DOMINOEX11, 0, FL_NORMAL_LABEL, 0, 14, 0},
@ -5006,7 +5011,10 @@ Fl_Menu_Item alt_menu_[] = {
{ mode_info[MODE_WEFAX_288].name, 0, cb_init_mode, (void *)MODE_WEFAX_288, 0, FL_NORMAL_LABEL, 0, 14, 0},
{0,0,0,0,0,0,0,0,0},
{ "Navtex", 0, cb_init_mode, (void *)MODE_NAVTEX, 0, FL_NORMAL_LABEL, 0, 14, 0},
{"Navtex/SitorB", 0, 0, 0, FL_SUBMENU, FL_NORMAL_LABEL, 0, 14, 0},
{ mode_info[MODE_NAVTEX].name, 0, cb_init_mode, (void *)MODE_NAVTEX, 0, FL_NORMAL_LABEL, 0, 14, 0},
{ mode_info[MODE_SITORB].name, 0, cb_init_mode, (void *)MODE_SITORB, 0, FL_NORMAL_LABEL, 0, 14, 0},
{0,0,0,0,0,0,0,0,0},
{"NBEMS modes", 0, 0, 0, FL_SUBMENU | FL_MENU_DIVIDER, FL_NORMAL_LABEL, 0, 14, 0},
{ mode_info[MODE_DOMINOEX11].name, 0, cb_init_mode, (void *)MODE_DOMINOEX11, 0, FL_NORMAL_LABEL, 0, 14, 0},

Wyświetl plik

@ -80,6 +80,7 @@ const struct mode_info_t mode_info[NUM_MODES] = {
{ MODE_WEFAX_288, &wefax288_modem, "WEFAX288", "WEFAX-IOC288", "WEFAXIOC288", "FAX", "FX288" },
{ MODE_NAVTEX, &navtex_modem, "NAVTEX", "NAVTEX", "NAVTEX", "TOR", "NAVTEX" },
{ MODE_SITORB, &sitorb_modem, "SITORB", "SITORB", "SITORB", "TOR", "SITORB" },
{ MODE_MT63_500, &mt63_500_modem, "MT63-500", "MT63-500", "MT63-500", "MT63", "MT63-500" },
{ MODE_MT63_1000, &mt63_1000_modem, "MT63-1K", "MT63-1000", "MT63-1XX", "MT63", "MT63 1K" },

Wyświetl plik

@ -274,6 +274,9 @@ extern Fl_Check_Button *btnWefaxHideTx;
extern Fl_Check_Button *btnWefaxSaveMonochrome;
extern Fl_Group *tabNavtex;
extern Fl_Check_Button *btnNvtxAdifLog;
#include <FL/Fl_Output.H>
extern Fl_Output *txtNvtxCatalog;
extern Fl_Button *btnSelectNvtxCatalog;
extern Fl_Group *tabRig;
extern Fl_Tabs *tabsRig;
extern Fl_Check_Button *btnPTTrightchannel;
@ -293,7 +296,6 @@ extern Fl_Counter *cntPTT_on_delay;
extern Fl_Counter *cntPTT_off_delay;
extern Fl_Check_Button *chkUSERIGCAT;
extern Fl_Group *grpRigCAT;
#include <FL/Fl_Output.H>
extern Fl_Output *txtXmlRigFilename;
extern Fl_Button *btnSelectRigXmlFile;
extern Fl_Input_Choice *inpXmlRigDevice;
@ -490,4 +492,5 @@ void closeDialog();
void createConfig();
class Fl_File_Chooser ;
void WefaxDestDirSet(Fl_File_Chooser *w, void *userdata);
void NvtxCatalogSet(Fl_File_Chooser *w, void *userdata);
#endif

Wyświetl plik

@ -1362,6 +1362,9 @@
ELEM_(bool, NVTX_AdifLog, "NAVTEXADIFLOG", \
"Logs Navtex messages in Adig log file", \
false) \
ELEM_(std::string, NVTX_Catalog, "NAVTEXCATALOG", \
"Catalog pathname of Navtex stations", \
PKGDATADIR "/NAVTEX_Stations.txt") \
/* WX fetch from NOAA */ \
ELEM_(std::string, wx_sta, "WX_STA", \
"4 letter specifier for wx station", \

Wyświetl plik

@ -94,6 +94,9 @@ enum {
MODE_WEFAX_LAST = MODE_WEFAX_288,
MODE_NAVTEX,
MODE_SITORB,
MODE_NAVTEX_FIRST = MODE_NAVTEX,
MODE_NAVTEX_LAST = MODE_SITORB,
MODE_MT63_500,
MODE_MT63_1000,

Wyświetl plik

@ -201,6 +201,7 @@ extern modem *wefax576_modem;
extern modem *wefax288_modem;
extern modem *navtex_modem;
extern modem *sitorb_modem;
extern modem *mt63_500_modem;
extern modem *mt63_1000_modem;

Wyświetl plik

@ -28,6 +28,7 @@ public:
int tx_process();
std::string get_message(int max_seconds);
std::string send_message(const std::string & msg);
};
#endif

Wyświetl plik

@ -3,7 +3,7 @@
//
// Copyright (C) 2006-2009
// Dave Freese, W1HKJ
// Remi Chateaunaeu, 2011
// Remi Chateauneu, 2011
//
// This file is part of fldigi.
//
@ -35,8 +35,6 @@
using namespace std;
// class cQsoRec
static int compby = COMPDATE;
static bool date_off = true;

Wyświetl plik

@ -2631,20 +2631,21 @@ struct Wefax_send_file : public xmlrpc_c::method
// Returns the current navtex modem pointer.
static navtex * get_navtex(void)
{
if( active_modem->get_mode() != MODE_NAVTEX )
if( ( active_modem->get_mode() != MODE_NAVTEX )
&& ( active_modem->get_mode() != MODE_SITORB ) )
{
navtex * ptr = dynamic_cast<navtex *>( active_modem );
if( ptr == NULL ) throw runtime_error("Inconsistent navtex object");
return ptr ;
}
throw runtime_error("Not in navtex mode");
throw runtime_error("Not in navtex or sitorB mode");
}
struct Navtex_get_message : public xmlrpc_c::method
{
Navtex_get_message() {
_signature = "s:i";
_help = "Returns next Navtex message with a max delay in seconds.. Empty string if timeout."; }
_help = "Returns next Navtex/SitorB message with a max delay in seconds.. Empty string if timeout."; }
void execute(const xmlrpc_c::paramList& params, xmlrpc_c::value* retval)
try
@ -2657,6 +2658,23 @@ struct Navtex_get_message : public xmlrpc_c::method
}
};
struct Navtex_send_message : public xmlrpc_c::method
{
Navtex_send_message() {
_signature = "s:s";
_help = "Send a Navtex/SitorB message. Returns an empty string if OK otherwise an error message."; }
void execute(const xmlrpc_c::paramList& params, xmlrpc_c::value* retval)
try
{
std::string status = get_navtex()->send_message( params.getString(0) );
*retval = xmlrpc_c::value_string( status );
}
catch( const exception & e )
{
*retval = xmlrpc_c::value_string( e.what() );
}
};
// =============================================================================
// End XML-RPC interface

Plik diff jest za duży Load Diff

Wyświetl plik

@ -59,6 +59,7 @@ modem *wefax576_modem = 0;
modem *wefax288_modem = 0;
modem *navtex_modem = 0;
modem *sitorb_modem = 0;
modem *mt63_500_modem = 0;
modem *mt63_1000_modem = 0;