changeset 672:2d8abfd9ad3a

common: update to ADIF 3.1.2 Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
author Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
date Tue, 24 Jan 2023 20:46:08 -0500
parents 2ef747df2c88
children 173984184fe9
files common/adif-mode.c common/adif.c
diffstat 2 files changed, 84 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/common/adif-mode.c	Fri Jan 13 09:44:37 2023 -0500
+++ b/common/adif-mode.c	Tue Jan 24 20:46:08 2023 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2020-2021 Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
+ * Copyright (c) 2020-2021,2023 Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -21,10 +21,10 @@
  */
 
 /*
- * Map between ADIF modes & submodes used by ADIF 3.1.1 and our mode
+ * Map between ADIF modes & submodes used by ADIF 3.1.2 and our mode
  * strings.
  *
- * http://www.adif.org/311/ADIF_311.htm
+ * http://www.adif.org/312/ADIF_312.htm
  */
 
 #include <jeffpc/types.h>
@@ -80,6 +80,15 @@
 	MODE(NULL, /* ? */          "CONTESTI",           NULL),
 	MODE(NULL, /* ? */          "CW",                 "PCW"),
 	MODE(NULL, /* ? */          "DIGITALVOICE",       NULL),
+	MODE(NULL, /* ? */          "DOMINO",             "DOM-M"),
+	MODE(NULL, /* ? */          "DOMINO",             "DOM4"),
+	MODE(NULL, /* ? */          "DOMINO",             "DOM5"),
+	MODE(NULL, /* ? */          "DOMINO",             "DOM8"),
+	MODE(NULL, /* ? */          "DOMINO",             "DOM11"),
+	MODE(NULL, /* ? */          "DOMINO",             "DOM16"),
+	MODE(NULL, /* ? */          "DOMINO",             "DOM22"),
+	MODE(NULL, /* ? */          "DOMINO",             "DOM44"),
+	MODE(NULL, /* ? */          "DOMINO",             "DOM88"),
 	MODE(NULL, /* DOMEX* */     "DOMINO",             "DOMINOEX"),
 	MODE("DOMF",                "DOMINO",             "DOMINOF"),
 	MODE("DSTAR",               "DSTAR",              NULL),
@@ -90,8 +99,11 @@
 	MODE(NULL, /* ? */          "HELL",               "FMHELL"),
 	MODE(NULL, /* ? */          "HELL",               "FSKHELL"),
 	MODE(NULL, /* ? */          "HELL",               "HELL80"),
+	MODE(NULL, /* ? */          "HELL",               "HELLX5"),
+	MODE(NULL, /* ? */          "HELL",               "HELLX9"),
 	MODE(NULL, /* ? */          "HELL",               "HFSK"),
 	MODE(NULL, /* ? */          "HELL",               "PSKHELL"),
+	MODE(NULL, /* ? */          "HELL",               "SLOWHELL"),
 	MODE(NULL, /* ? */          "ISCAT",              "ISCAT-A"),
 	MODE(NULL, /* ? */          "ISCAT",              "ISCAT-B"),
 	MODE("JT4", /* !submode */  "JT4",                NULL),
@@ -130,8 +142,10 @@
 	MODE(NULL, /* ? */          "JT65",               "JT65C2"),
 	MODE(NULL, /* ? */          "MFSK",               "FSQCALL"),
 	MODE("FST4",                "MFSK",               "FST4"),
+	MODE("FST4W",               "MFSK",               "FST4W"),
 	MODE("FT4",                 "MFSK",               "FT4"),
 	MODE("JS8",                 "MFSK",               "JS8"),
+	MODE(NULL,                  "MFSK",               "JTMS"),
 	MODE("MFSK4",               "MFSK",               "MFSK4"),
 	MODE("MFSK8",               "MFSK",               "MFSK8"),
 	MODE("MFSK11",              "MFSK",               "MFSK11"),
@@ -140,7 +154,10 @@
 	MODE("MFSK31",              "MFSK",               "MFSK31"),
 	MODE("MFSK32",              "MFSK",               "MFSK32"),
 	MODE("MFSK64",              "MFSK",               "MFSK64"),
+	MODE("MFSK64L",             "MFSK",               "MFSK64L"),
 	MODE("MFSK128",             "MFSK",               "MFSK128"),
+	MODE("MFSK128L",            "MFSK",               "MFSK128L"),
+	MODE("Q65",                 "MFSK",               "Q65"),
 	MODE("MSK144",              "MSK144",             NULL),
 	MODE("MT63",                "MT63",               NULL),
 	MODE("OL-4/125",            "OLIVIA",             "OLIVIA 4/125"),
@@ -157,15 +174,56 @@
 	MODE(NULL, /* ? */          "PAC",                "PAC4"),
 	MODE(NULL, /* ? */          "PAX",                "PAX2"),
 	MODE(NULL, /* ? */          "PKT",                NULL),
+	MODE("8PSK125",             "PSK",                "8PSK125"),
+	MODE("8PSK125F",            "PSK",                "8PSK125F"),
+	MODE("8PSK125FL",           "PSK",                "8PSK125FL"),
+	MODE("8PSK250",             "PSK",                "8PSK250"),
+	MODE("8PSK250F",            "PSK",                "8PSK250F"),
+	MODE("8PSK250FL",           "PSK",                "8PSK250FL"),
+	MODE("8PSK500",             "PSK",                "8PSK500"),
+	MODE("8PSK500F",            "PSK",                "8PSK500F"),
+	MODE("8PSK1000",            "PSK",                "8PSK1000"),
+	MODE("8PSK1000F",           "PSK",                "8PSK1000F"),
+	MODE("8PSK1200F",           "PSK",                "8PSK1200F"),
 	MODE("FSK31",               "PSK",                "FSK31"),
 	MODE("PSK10",               "PSK",                "PSK10"),
 	MODE("PSK31",               "PSK",                "PSK31"),
 	MODE("PSK63",               "PSK",                "PSK63"),
 	MODE("PSK63F",              "PSK",                "PSK63F"),
+	MODE("PSK63RC4",            "PSK",                "PSK63RC4"),
+	MODE("PSK63RC5",            "PSK",                "PSK63RC5"),
+	MODE("PSK63RC10",           "PSK",                "PSK63RC10"),
+	MODE("PSK63RC20",           "PSK",                "PSK63RC20"),
+	MODE("PSK63RC32",           "PSK",                "PSK63RC32"),
 	MODE("PSK125",              "PSK",                "PSK125"),
+	MODE("PSK125C12",           "PSK",                "PSK125C12"),
+	MODE("PSK125R",             "PSK",                "PSK125R"),
+	MODE("PSK125RC10",          "PSK",                "PSK125RC10"),
+	MODE("PSK125RC12",          "PSK",                "PSK125RC12"),
+	MODE("PSK125RC16",          "PSK",                "PSK125RC16"),
+	MODE("PSK125RC4",           "PSK",                "PSK125RC4"),
+	MODE("PSK125RC5",           "PSK",                "PSK125RC5"),
 	MODE("PSK250",              "PSK",                "PSK250"),
+	MODE("PSK250C6",            "PSK",                "PSK250C6"),
+	MODE("PSK250R",             "PSK",                "PSK250R"),
+	MODE("PSK250RC2",           "PSK",                "PSK250RC2"),
+	MODE("PSK250RC3",           "PSK",                "PSK250RC3"),
+	MODE("PSK250RC5",           "PSK",                "PSK250RC5"),
+	MODE("PSK250RC6",           "PSK",                "PSK250RC6"),
+	MODE("PSK250RC7",           "PSK",                "PSK250RC7"),
 	MODE("PSK500",              "PSK",                "PSK500"),
+	MODE("PSK500C2",            "PSK",                "PSK500C2"),
+	MODE("PSK500C4",            "PSK",                "PSK500C4"),
+	MODE("PSK500R",             "PSK",                "PSK500R"),
+	MODE("PSK500RC2",           "PSK",                "PSK500RC2"),
+	MODE("PSK500RC3",           "PSK",                "PSK500RC3"),
+	MODE("PSK500RC4",           "PSK",                "PSK500RC4"),
+	MODE("PSK800C2",            "PSK",                "PSK800C2"),
+	MODE("PSK800RC2",           "PSK",                "PSK800RC2"),
 	MODE("PSK1000",             "PSK",                "PSK1000"),
+	MODE("PSK1000C2",           "PSK",                "PSK1000C2"),
+	MODE("PSK1000R",            "PSK",                "PSK1000R"),
+	MODE("PSK1000RC2",          "PSK",                "PSK1000RC2"),
 	MODE("PSKAM10",             "PSK",                "PSKAM10"),
 	MODE("PSKAM31",             "PSK",                "PSKAM31"),
 	MODE("PSKAM50",             "PSK",                "PSKAM50"),
@@ -195,9 +253,28 @@
 	MODE("SSTV",                "SSTV",               NULL),
 	MODE("T10",                 "T10",                NULL),
 	MODE(NULL, /* THOR* */      "THOR",               NULL),
+	MODE(NULL, /* ? */          "THOR",               "THOR-M"),
+	MODE("THOR4",               "THOR",               "THOR4"),
+	MODE(NULL, /* ? */          "THOR",               "THOR5"),
+	MODE("THOR8",               "THOR",               "THOR8"),
+	MODE(NULL, /* ? */          "THOR",               "THOR11"),
+	MODE("THOR16",              "THOR",               "THOR16"),
+	MODE(NULL, /* ? */          "THOR",               "THOR22"),
+	MODE(NULL, /* ? */          "THOR",               "THOR25X4"),
+	MODE(NULL, /* ? */          "THOR",               "THOR50X1"),
+	MODE(NULL, /* ? */          "THOR",               "THOR50X2"),
+	MODE(NULL, /* ? */          "THOR",               "THOR100"),
 	MODE(NULL, /* ? */          "THRB",               "THRBX"),
+	MODE(NULL, /* ? */          "THRB",               "THRBX1"),
+	MODE(NULL, /* ? */          "THRB",               "THRBX2"),
+	MODE(NULL, /* ? */          "THRB",               "THRBX4"),
+	MODE(NULL, /* ? */          "THRB",               "THROB1"),
+	MODE(NULL, /* ? */          "THRB",               "THROB2"),
+	MODE(NULL, /* ? */          "THRB",               "THROB4"),
 	MODE(NULL, /* ? */          "TOR",                "AMTORFEC"),
 	MODE(NULL, /* ? */          "TOR",                "GTOR"),
+	MODE(NULL, /* ? */          "TOR",                "NAVTEX"),
+	MODE(NULL, /* ? */          "TOR",                "SITORB"),
 	MODE(NULL, /* ? */          "V4",                 NULL),
 	MODE(NULL, /* ? */          "VOI",                NULL),
 	MODE(NULL, /* ? */          "WINMOR",             NULL),
--- a/common/adif.c	Fri Jan 13 09:44:37 2023 -0500
+++ b/common/adif.c	Tue Jan 24 20:46:08 2023 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2020-2022 Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
+ * Copyright (c) 2020-2023 Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -21,9 +21,9 @@
  */
 
 /*
- * ADIF 3.1.1
+ * ADIF 3.1.2
  *
- * http://www.adif.org/311/ADIF_311.htm
+ * http://www.adif.org/312/ADIF_312.htm
  */
 
 #include <jeffpc/buffer.h>
@@ -39,7 +39,7 @@
 
 #include "qso_impl.h"
 
-#define ADIF_VERSION "3.1.1"
+#define ADIF_VERSION "3.1.2"
 
 #define HLOGPFX	"app_hlog_"