From ca636338d974f46339fc7ff09da8ca8991e55750 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Tue, 5 Jul 2016 17:51:16 +0100 Subject: [PATCH 1/9] Add BN/BT of the YSF FICH for debugging. --- Defines.h | 2 +- YSFControl.cpp | 8 +++++++- YSFFICH.cpp | 10 ++++++++++ YSFFICH.h | 2 ++ 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/Defines.h b/Defines.h index 542bac1..13ffcba 100644 --- a/Defines.h +++ b/Defines.h @@ -35,7 +35,7 @@ enum RPT_RF_STATE { RS_RF_LISTENING, RS_RF_LATE_ENTRY, RS_RF_AUDIO, - RS_RF_DATA, + RS_RF_DATA }; enum RPT_NET_STATE { diff --git a/YSFControl.cpp b/YSFControl.cpp index 3a533f9..8b5cb78 100644 --- a/YSFControl.cpp +++ b/YSFControl.cpp @@ -186,6 +186,8 @@ bool CYSFControl::writeModem(unsigned char *data) } else if (valid) { CSync::addYSFSync(data + 2U); + unsigned char bn = fich.getBN(); + unsigned char bt = fich.getBT(); unsigned char fn = fich.getFN(); unsigned char ft = fich.getFT(); unsigned char dt = fich.getDT(); @@ -212,6 +214,7 @@ bool CYSFControl::writeModem(unsigned char *data) break; case YSF_DT_DATA_FR_MODE: + LogDebug("YSF, RF data FICH B=%u/%u F=%u/%u", bn, bt, fn, ft); valid = m_rfPayload.processDataFRModeData(data + 2U, fn); break; @@ -430,10 +433,12 @@ void CYSFControl::writeNetwork() CYSFFICH fich; bool valid = fich.decode(data + 35U); if (valid) { + unsigned char bn = fich.getBN(); + unsigned char bt = fich.getBT(); unsigned char dt = fich.getDT(); unsigned char fn = fich.getFN(); - unsigned char fi = fich.getFI(); unsigned char ft = fich.getFT(); + unsigned char fi = fich.getFI(); // Set the downlink callsign switch (fi) { @@ -463,6 +468,7 @@ void CYSFControl::writeNetwork() break; case YSF_DT_DATA_FR_MODE: + LogDebug("YSF, Network data FICH B=%u/%u F=%u/%u", bn, bt, fn, ft); m_netPayload.processDataFRModeData(data + 35U, fn, gateway); break; diff --git a/YSFFICH.cpp b/YSFFICH.cpp index bc90117..a8b1ae1 100644 --- a/YSFFICH.cpp +++ b/YSFFICH.cpp @@ -169,6 +169,16 @@ unsigned char CYSFFICH::getCM() const return (m_fich[0U] >> 2) & 0x03U; } +unsigned char CYSFFICH::getBN() const +{ + return m_fich[0U] & 0x03U; +} + +unsigned char CYSFFICH::getBT() const +{ + return (m_fich[1U] >> 6) & 0x03U; +} + unsigned char CYSFFICH::getFN() const { return (m_fich[1U] >> 3) & 0x07U; diff --git a/YSFFICH.h b/YSFFICH.h index 33c35d0..534e6f6 100644 --- a/YSFFICH.h +++ b/YSFFICH.h @@ -30,6 +30,8 @@ public: unsigned char getFI() const; unsigned char getCM() const; + unsigned char getBN() const; + unsigned char getBT() const; unsigned char getFN() const; unsigned char getFT() const; unsigned char getDT() const; From 7d67055fff050d4112d5b57f5f3efd8c0d5e9b8b Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Tue, 5 Jul 2016 18:21:18 +0100 Subject: [PATCH 2/9] Remove the holdoff timers. --- DStarControl.cpp | 10 ---------- DStarControl.h | 1 - YSFControl.cpp | 11 ----------- YSFControl.h | 1 - 4 files changed, 23 deletions(-) diff --git a/DStarControl.cpp b/DStarControl.cpp index 9706cbb..9f39fee 100644 --- a/DStarControl.cpp +++ b/DStarControl.cpp @@ -54,7 +54,6 @@ m_slowData(), m_rfN(0U), m_netN(0U), m_networkWatchdog(1000U, 0U, 1500U), -m_holdoffTimer(1000U, 0U, 500U), m_rfTimeoutTimer(1000U, timeout), m_netTimeoutTimer(1000U, timeout), m_packetTimer(1000U, 0U, 200U), @@ -171,7 +170,6 @@ bool CDStarControl::writeModem(unsigned char *data) m_rfHeader = header; - m_holdoffTimer.stop(); m_ackTimer.stop(); m_rfBits = 1U; @@ -388,10 +386,6 @@ unsigned int CDStarControl::readModem(unsigned char* data) if (m_queue.isEmpty()) return 0U; - // Don't relay data until the timer has stopped. - if (m_holdoffTimer.isRunning()) - return 0U; - unsigned char len = 0U; m_queue.getData(&len, 1U); @@ -564,10 +558,6 @@ void CDStarControl::clock() m_ackTimer.stop(); } - m_holdoffTimer.clock(ms); - if (m_holdoffTimer.isRunning() && m_holdoffTimer.hasExpired()) - m_holdoffTimer.stop(); - m_rfTimeoutTimer.clock(ms); m_netTimeoutTimer.clock(ms); diff --git a/DStarControl.h b/DStarControl.h index 856e247..192f1b2 100644 --- a/DStarControl.h +++ b/DStarControl.h @@ -63,7 +63,6 @@ private: unsigned char m_rfN; unsigned char m_netN; CTimer m_networkWatchdog; - CTimer m_holdoffTimer; CTimer m_rfTimeoutTimer; CTimer m_netTimeoutTimer; CTimer m_packetTimer; diff --git a/YSFControl.cpp b/YSFControl.cpp index 8b5cb78..bd22a65 100644 --- a/YSFControl.cpp +++ b/YSFControl.cpp @@ -34,7 +34,6 @@ m_netState(RS_NET_IDLE), m_rfTimeoutTimer(1000U, timeout), m_netTimeoutTimer(1000U, timeout), m_networkWatchdog(1000U, 0U, 1500U), -m_holdoffTimer(1000U, 0U, 500U), m_rfFrames(0U), m_netFrames(0U), m_rfErrs(0U), @@ -90,8 +89,6 @@ bool CYSFControl::writeModem(unsigned char *data) if (fi == YSF_FI_TERMINATOR) return false; - m_holdoffTimer.stop(); - m_rfFrames = 0U; m_rfErrs = 0U; m_rfBits = 1U; @@ -311,10 +308,6 @@ unsigned int CYSFControl::readModem(unsigned char* data) if (m_queue.isEmpty()) return 0U; - // Don't relay data until the timer has stopped. - if (m_holdoffTimer.isRunning()) - return 0U; - unsigned char len = 0U; m_queue.getData(&len, 1U); @@ -509,10 +502,6 @@ void CYSFControl::clock(unsigned int ms) if (m_network != NULL) writeNetwork(); - m_holdoffTimer.clock(ms); - if (m_holdoffTimer.isRunning() && m_holdoffTimer.hasExpired()) - m_holdoffTimer.stop(); - m_rfTimeoutTimer.clock(ms); m_netTimeoutTimer.clock(ms); diff --git a/YSFControl.h b/YSFControl.h index 402ba39..2d7bd82 100644 --- a/YSFControl.h +++ b/YSFControl.h @@ -51,7 +51,6 @@ private: CTimer m_rfTimeoutTimer; CTimer m_netTimeoutTimer; CTimer m_networkWatchdog; - CTimer m_holdoffTimer; unsigned int m_rfFrames; unsigned int m_netFrames; unsigned int m_rfErrs; From 25fd51a6b7901b7f27208db69b148feed0d63c8d Mon Sep 17 00:00:00 2001 From: vk4tux Date: Wed, 6 Jul 2016 16:45:13 +1000 Subject: [PATCH 3/9] Update DMRIds.dat WW 2016-07-05 04:15 795K vk4tux --- DMRIds.dat | 582 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 561 insertions(+), 21 deletions(-) diff --git a/DMRIds.dat b/DMRIds.dat index b391d99..4a7df96 100644 --- a/DMRIds.dat +++ b/DMRIds.dat @@ -108,6 +108,20 @@ 1112104 N4KLM Kristofer 1112105 KK4QIG Billy 1112106 KM4SHW Ken +1112107 KB3YBT Patrick +1112108 W9OV Martin +1112109 K6OC Gary +1112110 KM4LVX Michael +1112111 KM4FPK Jesse +1112112 KM4LVX Michael +1112113 WA4YL Dawn +1112114 K6OC Gary +1112115 AA4CB Christopher +1112116 WA4YL Dawn +1112117 K2KYN Paul +1112118 K2KYN Paul +1112119 N4APG William +1112120 KM4UZG Garrett 1137001 K4SWL Thomas 1137002 KK4RKU Glenn 1137003 KM4IOU Marty @@ -258,6 +272,17 @@ 1137150 W4ADC William 1137151 KK4NIV Thomas 1137152 KK4RCO John +1137153 WX4PUP Jamie +1137154 KN4XP Michael +1137155 KK4NIV Thomas +1137156 WA1YMP Edward +1137157 N4HAY Richard +1137158 KF4DWV Gary +1137159 KG4WCU Matthew +1137160 KD4MBC Timothy +1137161 W4DCR John +1137162 N4CWZ David +1137163 W4ZWO William 2021001 SV1BYK Babis 2021002 SV1PDW Ioannis 2021003 SV1IW Manos @@ -296,6 +321,7 @@ 2021036 SV1HAK George 2021037 SW1ONK John 2021038 SV1FZJ Athanasios +2021039 SV1QFV Vasileios 2022001 SV2XI Kleanthis 2022002 SV2RGC Konstantinos 2022003 SV2LLJ Ioannis @@ -305,6 +331,7 @@ 2022007 SV2GQO Christoforos 2022008 SV2DTK CHRISTOS 2022009 SV2BNL Michail +2022010 SZ2SZ Hellenic 2023001 SV3BSF Nikos 2024001 SV4QXF Efthimios 2024002 SV4LRX Antonis @@ -483,6 +510,7 @@ 2041162 PA0ANH Ton 2041163 PE1AMZ Aad 2041164 PD0HOF Milan +2041165 PA3DLK Rob 2042001 PA0HTW Henk 2042002 PA0HTW Henk 2042003 PA3DFN Philip @@ -731,8 +759,10 @@ 2042247 PD0ECD Ernie 2042248 PE9R Rene 2042249 PA3GKU Fred +2042250 PA0ONH Niek 2042251 PH0RH Rene 2042252 PD0ADL Theo +2042254 PD9M Mathijn 2043001 PA1MOS Marco 2043002 PA1GF Gerjan 2043003 PE1NWR Tineke @@ -839,6 +869,9 @@ 2043104 PD0OKP Erik 2043105 PD3PI Peter 2043106 PE2FLY Thierry +2043107 PD0LH Lieuwe +2043108 PA3BNK Martin +2043109 PA3DZB Theo 2044001 PD4RS Ruud 2044002 PD4RS Ruud 2044003 PA7DVM Duncan @@ -1052,6 +1085,10 @@ 2045103 PA3RIS Frank 2045104 PA1FT Frank 2045105 PD1Q Francesco +2045106 PA3CEJ Math +2045107 PA1IZR Hans +2045108 PA3W Wil +2045109 PE1OUH Diederich 2046001 PD2WGN Walter 2046002 PA1WW Walther 2046003 PD0PVL Robert @@ -1178,8 +1215,11 @@ 2046124 PD0RB Rene 2046125 PA9BT Erik 2046126 PE1NHD Jos +2046127 PE1BGO Guus 2046128 PA4SB Sander 2046129 PD1NLD Jeroen +2046130 PA5RS Rene +2046131 PE1CCX Joop 2046132 PD1WP Wilfred 2047001 PD0ZWL Marcel 2047002 PD0ZWL Marcel @@ -1325,7 +1365,10 @@ 2047142 PA0HLT Jan 2047143 PA0VDW Jan 2047144 PD0HWN Dick +2047145 PA1EMF Django 2047146 PA1GWS Gerrit +2047147 PD1ALS Cornelis +2047148 PD2SDV Stefan 2048001 PD1ASH Rolf 2048002 PD1ALW Andre 2048003 PE1PWF Edwin @@ -1448,7 +1491,11 @@ 2048120 PE1PDX Mark 2048121 PD1TM Theo 2048122 PD0V Michiel -2048126 PA3DTF John.F +2048125 PD1HHM HARCO +2048126 PA3DTF JohnF +2048127 PB0AHP Ada +2048128 PG5FRL Storm +2048129 PD2SLE Peter 2060001 ON4AIM Aime 2060002 ON3AN Ann 2060003 ON2WIK Marc @@ -1470,7 +1517,7 @@ 2060019 ON5DUR Frank 2060020 ON1AUD Dieter 2060021 ON4AEY Eddy -2060022 ON4AEY Eddy +2060022 ON3PJO Jane 2060023 ON7FD Filip 2060024 ON3BE Danny 2060025 ON4CBZ Michel @@ -1831,6 +1878,7 @@ 2063042 ON7MIC Michael 2063043 ON3OPT Pieter-Jan 2063044 ON4EM Emmanuel +2063045 ON3GVE Glen 2064001 ON4AZP Dominic 2064002 ON2PCO Paul 2064003 ON8RAT Marco @@ -1905,6 +1953,7 @@ 2064072 ON4TSR Eric 2064073 ON4MLB Clubstation 2064074 OT6M Frank +2064075 ON4AHF Henk 2065001 ON4REC REEC 2065002 ON3XBS Serge 2065003 ON3CCM Moreno @@ -1916,6 +1965,7 @@ 2065009 ON6RF Manoel 2065010 ON2KDW William 2065011 ON6RF Manoel +2065012 ON3ZBL Nicolas 2066001 ON6PU De 2066002 ON7GE Eddy 2066003 ON4KTU Jean-Marie @@ -1961,6 +2011,8 @@ 2066043 ON2BJ Baudouin 2066044 ON6CG Gerry 2066045 ON4KMI Jean-Pierre +2066046 ON3GEG Gregory +2066047 ON3DR Daniel 2067001 ON5UC Olivier 2067002 ON5WB Yves 2067003 ON6NR Radio @@ -2036,6 +2088,7 @@ 2069033 OT1V Vito 2069034 ON4YCE Yves 2069035 ON7LU Radio +2069036 ON5YN Alphonse 2069999 ON3BDM Bjorn 2080001 F5NVG Pascal 2080002 F1HBG Jose @@ -2158,6 +2211,10 @@ 2080119 F5TUN Geo 2080120 F4GZQ David 2080121 F4MXX ALAIN +2080122 TK1ZBG Jacques +2080123 F5LGW Stephane +2080124 F8IJV Sebastien +2080125 F1JHB Benoit 2081001 F1UOT Olivier 2081002 F4ACD Romain 2081003 F1TDI Daniel @@ -2188,6 +2245,9 @@ 2081028 F6HBI Gerald 2081029 F4EEX Xavier 2081030 F5SFU Alexandre +2081031 F2TI Jean-claude +2081032 F2VI Patrick +2081033 F6DTK Paul 2082001 F4FUL Cyril 2082002 F5VIN Heiko 2082003 F1AGU Charles-Henri @@ -2267,6 +2327,12 @@ 2082077 F1IBR Christian 2082078 F5AOD Philippe 2082079 F5DJL Jean-Louis +2082080 F6IDJ CHRISTIAN +2082081 F5ISX CATHERINE +2082082 F4HKA Jeremy +2082083 F4FGB Romain +2082084 F6PRA Remy +2082085 F6ABJ Remy 2083001 F1IZL Jean-Yves 2083002 F4GEM Arnaud 2083003 F1BBG Gerard @@ -2362,6 +2428,10 @@ 2085020 F4HCY Stphane 2085021 F8DZB Patrice 2085022 F4HIP CHRISTIAN +2085023 F4GYL FRANCOIS +2085024 F6CNQ CLAUDE +2085025 F5HBF GERARD +2085026 F5BCB Jean-Francois 2086001 F5DZZ Albert 2086002 F5JGK Regin 2086003 F5NSL Eric @@ -2408,6 +2478,9 @@ 2087022 F5BNO J-pierre 2087023 F8FMN Guy 2087024 F4GCU JOSE +2087025 F5LFV ANDRE +2087027 F6GOI ANDRE +2087028 F4BPE Christian 2088001 F1VEO Felix 2088002 F8FKD Nicolas 2088003 F8FKD Nicolas @@ -2421,6 +2494,7 @@ 2088011 F1TZO2 Michel 2088012 F1ZHH Michel 2088013 F1NNI Remi +2088015 F4EJW Eric 2089001 F1MIJ Pascal 2089002 F1MIJ Pascal 2089003 F4GFR Mohamed-Hazim @@ -2498,7 +2572,7 @@ 2089075 F4FNW Arnaud 2089076 F4FAU Julien 2089077 F4HKQ Jean-Charles -2089078 F4FUS Bernard +2089078 F4FUS Liste 2089079 F5RTF Michel 2089080 F5IGF OLIVIER 2089081 F4BQN Denis @@ -2581,6 +2655,14 @@ 2089158 F1APY Jacques 2089159 F6ECN Roland 2089160 F4FNU Jean +2089161 F6CXA PHILIPPE +2089162 F5CPZ Francois +2089163 F5HDN Bernard +2089164 F6KQL RadioClub +2089165 F8CHM Jean +2089166 F4HOT Arnaud +2089167 F4WBY Gil +2089168 F4ESV Wilfried 2089998 F8KGD RADIO 2089999 F5DAN Daniel 2130001 C31AR Anibal @@ -2726,6 +2808,9 @@ 2141133 EA1IIE Daniel 2141134 EA1GNL Esteban 2141135 EA1FZZ David +2141136 EA1HLR MIGUEL +2141137 EA1IGL Jorge +2141138 EB1GOD Juan 2142001 EA2IP Jesus 2142002 EA2IV Alex 2142003 EA2FT Juan @@ -2820,6 +2905,7 @@ 2142092 EA2EKZ JAIME 2142093 EA2DPE Jesus 2142094 EA2MA Pedro +2142095 EA2EBI Jose 2143001 EA3DKP Ricardo 2143002 EA3DKP Ricardo 2143003 EA3DKP Ricardo @@ -2980,6 +3066,8 @@ 2143158 EA3ANU Toni 2143159 EA3GOJ Jos 2143160 EA3TP Pep +2143161 EA3DYY Juan +2143162 EA3DJC Jordi 2144001 EA5IIO ANTONIO 2144002 EA4GQW Pablo 2144003 EA4AAE Javier @@ -3055,6 +3143,9 @@ 2144073 EA4GVX Fabian 2144074 EA4GMX Felipe 2144075 EA4DB Jose +2144076 EA4MD GREGORIO +2144077 EA4HL BERNARDO +2144078 EA4FRZ RUBEN 2145001 EA5AWM Vicente 2145002 EA5AWM Vicente 2145003 EA5HJX Alex @@ -3165,6 +3256,8 @@ 2145108 EA5TT Manuel 2145109 EA5DO Manuel 2145110 EB5IJX Ivan +2145111 EB5FJT Ireno +2145112 EA5FNU JAVIER 2146001 EA6AFZ Antonio 2146002 EA6AID Ana 2146003 EA6AFZ Antonio @@ -3419,6 +3512,7 @@ 2167030 HA7SO Laszlo 2167031 HA6IGM Gyorgy 2167032 HA8BI Lajos +2167033 HA7WDD GyArgy 2168001 HA3TL Laszlo 2168002 HA0BW Imre 2168003 HA0DR Lajos @@ -3999,7 +4093,12 @@ 2221228 IU1EMN Eugenio 2221229 IZ1CRA Pietro 2221230 IZ1VMS Dario +2221231 IU1GPP Romualdo 2221232 IZ1TNJ Paolo +2221233 IW1GHU Ivan +2221234 IU1EBA Ezio +2221235 IZ1PND Lucio +2221236 IZ1DFJ Maule 2222001 IW2DCK Germano 2222002 IW2BCF Roberto 2222003 IZ2JGB Giorgio @@ -4354,8 +4453,17 @@ 2222353 IU2EAJ Cristian 2222354 IK2CNF Maurizio 2222355 IZ2YHL Gianfranco +2222356 IZ2WZM Ettore 2222357 IK2GZL Gianumberto 2222358 IK2ILH Maurizio +2222359 IZ2ODN Roberto +2222360 IZ2HNP Alessandro +2222361 IK2MLR Maurizio +2222362 IW2DUG Ernesto +2222363 I2IPK Antonino +2222364 IK2SXY Daniele +2222365 IW2NRP Ferruccio +2222366 I2EDU Ettore 2223001 IW3SRH Stefano 2223002 IV3DVE Corrado 2223003 IV3FHS Antonio @@ -4635,6 +4743,10 @@ 2223279 IW3IET Ballanti 2223280 IK3GHR Fortunato 2223281 IW3MYV Marco +2223282 IN3FPJ Ivan +2223284 IK3DJB Ettore +2223285 IZ3XSM Cristiano +2223286 IZ3SWJ Giorgio 2224001 IZ4RDT Monica 2224002 IZ4YEP Alex 2224003 IW4BVN Paolo @@ -4739,6 +4851,11 @@ 2224102 IW4EHH Roberto 2224103 IZ4RDU Paolo 2224104 IW4EIR NANDO +2224105 IZ4WJB Gabriele +2224106 IU4GAZ Francesco +2224108 IK4ANJ GIANNI +2224109 IU4FNR Fabrizio +2224110 IZ4JIR Reggiani 2225001 IZ5IOM Renzo 2225002 IZ5HRO Emanuele 2225003 IZ5YLV Valentina @@ -4839,6 +4956,10 @@ 2225098 I5EKX Alessandro 2225099 IZ5TQW Vincenzo 2225100 IZ5ILH Roberto +2225101 IZ5IOV Alessio +2225102 IZ5OQA Leonardo +2225103 IZ5GQT Bartolomeo +2225104 IW5EFX Leonardo 2226001 IZ6FGP Mario 2226002 IK6TTE Plinio 2226003 IZ6FGP Mario @@ -5063,6 +5184,7 @@ 2227080 IU8HCW Nicola 2227082 IU8HCW Nicola 2227083 IZ7YPK Ippolito +2227084 IU8ENJ Vincenzo 2228001 IZ8IYJ Nicola 2228002 IW8XQP Elio 2228003 IZ8XSS Federico @@ -5198,6 +5320,8 @@ 2228133 IZ8QUR Luigi 2228134 I8MYM Domenico 2228135 IZ8LJW Andrea +2228136 IZ8GBH Maurizio +2228137 IW8EFO Nunzio 2229001 IT9YFO Andrea 2229002 IT9ZON Francesco 2229003 IT9UUT Salvo @@ -5276,6 +5400,7 @@ 2229076 IW9FRA Sal 2229077 IT9GKF Nicoletta 2229078 IT9GBS Andrea +2229079 IW9FQC Giulio 2229080 IT9ZEV Salvatore 2261001 YO3GTS Dan 2262001 YO2LOJ Marius @@ -5511,6 +5636,9 @@ 2281106 HB9IAL Alexandre 2281107 HB9TVS Stephane 2281108 HB9DES Stephane +2281109 HB9MBP Marc-Henri +2281110 HB9EVJ Vincent +2281111 HB9EOI Patrick 2282001 HB9OOI Stephan 2282002 HB9BEI Bruno 2282003 HB9EZV Michel @@ -5629,6 +5757,10 @@ 2283099 HB3YRJ Stefan 2283100 HB3YTN Andre 2283101 HB4FF Niklaus +2283102 HB9BEM Hansjoerg +2283103 HB9ZA Friedrich +2283104 HB9FKQ Roger +2283105 HB3YHV Gertsch 2283200 HB9F 2284001 HB9EMQ Andy 2284002 HB9EMQ Andy @@ -5734,6 +5866,9 @@ 2284102 HB9FWW Christoph 2284103 HB9FZK Marco 2284104 HB9BAS Roland +2284105 HB9FZG Uwe +2284106 HB9TKQ Markus +2284107 HB9DLI Peter 2285001 HB9CNT Paul 2285002 HB9CNT Paul 2285003 HB9CNT Paul @@ -5765,6 +5900,7 @@ 2285029 HB3YPK Peter 2285030 HB9FZE Stefan 2285031 HB9GFH Armin +2285032 HB9EOS Guenter 2286001 HB9BMC Robert 2286002 HB9CPY Peter 2286003 HB3YVK Luca @@ -5881,6 +6017,9 @@ 2286114 HB9GFP Pino 2286115 HB9OAJ Davide 2286116 HB9WBT Christoph +2286117 HB9PLW Peter +2286118 HB9EOT Walter +2286119 HB9JAT Thomas 2287001 HB9FPO Stefano 2287002 HB9HAN Roland 2287003 HB9FPO Stefano @@ -5982,7 +6121,7 @@ 2288080 HB9EPQ Werner 2288081 HB9DQA Roland 2288082 HB9ERR Paul -2288083 HB9EMG Andy +2288083 HB9ERR Paul 2288084 HB9BHL Fritz 2288085 HB9ODC Massimo 2288086 HB9DSY Frank @@ -6045,6 +6184,8 @@ 2288143 HB9EKJ Eugen 2288144 HB9FLO Patrick 2288145 HB9IRI Ernst +2288146 HB9GFX Stefan +2288147 HB9PZM Hanspeter 2288148 HB9LFO Martin 2288149 HB9EGZ Kaspar 2288150 HB9TLI Rolf @@ -6079,6 +6220,7 @@ 2289025 HB9DQJ Markus 2289026 HB9ZGZ Cyrill 2289027 HB9BEE Ernst +2289028 HB9TIO Harald 2300001 OK8NWO Lynch 2301001 OK9DTZ David 2301002 OK3ZB Zdenek @@ -6150,6 +6292,7 @@ 2302013 OK1FKT Frantiiek 2302014 OK1JLM Ladislav 2302015 OK1PE Petr +2302016 OK5MV Michal 2303001 OK1UDI Bedrich 2303002 OK1SLA Vaclav 2303003 OK1IKP Karel @@ -6329,6 +6472,7 @@ 2321064 OE1VHS Thomas 2321065 OE1OEA Andreas 2321066 OE1VGC Gregor +2321067 OE1OWA Oskar 2321101 OE1WDS Wolfgang 2321105 OE1PSW Stefan 2321106 OE1MSA Manfred @@ -6395,6 +6539,7 @@ 2322007 OE2WIO Franz 2322008 OE2CER Ron 2322009 OE2RPL Peter +2322011 OE2JHN Johann 2323001 OE3OLU Robert 2323002 OE3OLU Robert 2323003 OE3RGB Rainer @@ -6471,6 +6616,13 @@ 2323074 OE3CGG Gerold 2323075 OE3LCR Christian 2323076 OE3OKS Wolfgang +2323077 OE3YCB Barbara +2323078 OE3CQB Christian +2323079 OE3THU Peter +2323080 OE3KAS Karlheinz +2323081 OE3XNR Rainer +2323082 OE3SEU Eduard +2323083 OE3VVU Monty 2323101 OE3GRU Gerhard 2323102 OE3BOB Robert 2323103 OE3EHS Ernst @@ -6596,6 +6748,8 @@ 2325032 OE5KKP Klaus 2325033 OE5AON Erich 2325034 OE5VVM Thomas +2325035 OE5VCM Hartwin +2325036 OE5VCO Dominik 2325051 OE5PFM Patrik 2325053 OE5TTL Johann 2325055 OE5ROM Robert @@ -6649,6 +6803,7 @@ 2326036 OE6PJF Johann 2326037 OE6DMD Michaela 2326038 OE6PID Peter +2326039 OE6KYG Klaus 2326041 OE6EMF Thomas 2326051 OE6DJG Dieter 2326052 OE6DJG Dieter @@ -6775,6 +6930,7 @@ 2327085 OE7PGI Philipp 2327086 OE7OPJ Peter 2327087 OE7OMT Meinhard +2327088 OE7CWJ Christian 2327101 OE7ANH Alois 2327102 OE7ANH Alois 2327141 OE7ERJ Erwin @@ -6813,6 +6969,8 @@ 2328032 OE8MTK Martin 2328033 OE8CKK Christopher 2328034 OE8KKM Kevin +2328035 OE8WOZ Wolfang +2328036 OE8VIK Michael 2328081 OE8KTR Gerhard 2328212 OE8LBK Helmut 2328502 OE8WLK Wolf @@ -6892,6 +7050,9 @@ 2329047 OE9EZI Ernesto 2329048 OE9TEV Tobias 2329049 OE9PBV Joerg +2329050 OE9KBV Matthias +2329051 OE9STG Martin +2329052 OE9DCV Dagmar 2340001 G0RDI Iain 2340002 G8SJP Iain 2341001 M0ADI Iain @@ -8070,14 +8231,17 @@ 2342174 G1LPW Ivan 2342175 2E0DXJ DOMINIC 2342176 2E0ZXV Ashley +2342177 M6JLM James 2342178 2E0WBS Adrian 2342179 2E0LAG Alan 2342180 2E0IOC Adam 2342181 M6GHR John 2342182 G1ORG David 2342183 M6IOC Adam +2342184 G6DFD Michael 2342185 G4ZTQ John 2342186 G1KZI Nicholas +2342187 M3SPB Stefan 2342188 G3NZP Malcolm 2342189 G2BFC Tim 2342190 M0JDP John @@ -8120,11 +8284,46 @@ 2342230 M3WWF Sir 2342231 G7LWU Stuart 2342232 2E0DJF Donald -2342233 M6GZK Nicholas. +2342233 M6GZK Nicholas 2342234 G1AJR Lawrence 2342235 2E0MVM Peter 2342238 G6KVE Chris 2342239 G4XLO Kev +2342240 G6IVE Derek +2342241 G3UFS Christopher +2342242 M6OLY Darrin +2342243 M0RFU Jon +2342245 M6OBV Michael +2342246 M3RPE Richard +2342247 G0ACD MICK +2342249 M6EPB James +2342250 M0YYC Richard +2342251 G6TLH Gerard +2342252 G7WDT David +2342254 M6KJY Kevin +2342255 M0MGC Dale +2342256 G3SWW Harry +2342257 M6OBH MALCOLM +2342258 M6KNY Roger +2342259 G8KHU David +2342260 M6GCO Scott +2342261 M0VVA Andrew +2342262 M0NRO Alan +2342263 G1WRH Geoffrey +2342264 2E0RPE Andy +2342265 M0PSB Joe +2342266 G1HUL Jim +2342267 M0PMC Paul +2342268 G7TNC MARK +2342269 2E0NZD Matthew +2342271 2E0EVD Clive +2342272 M0NCK Nick +2342273 M6RKE Ryan +2342274 G6YAK Paul +2342275 G7HEK Andy +2342276 2E0CPU Michael +2342277 G1HYG Barry +2342278 M6YEL Joe 2351001 G0PRF John 2351002 G0PRF John 2351003 G7LWT Darren @@ -10340,7 +10539,7 @@ 2354018 MM3OYB Susan 2354019 GM0ROU Tony 2354020 MM0KJG Kevin -2354021 GM0RDI Iain +2354021 MM6CTH Shane 2354022 MM3PXG Shaun 2354023 GM7LNO Graham 2354024 GM1JTK Drew @@ -10905,6 +11104,7 @@ 2382088 OZ4SI Soeren 2382089 OZ5KM Kjeld 2382090 5Q2ALN Allan +2382091 OZ6CE Carl 2383001 OZ1BM Brian 2383002 OZ1KFY Christian 2383003 OZ3DM Dennis @@ -11040,6 +11240,9 @@ 2383133 OZ1UH Udo 2383134 OZ1IZW Gert 2383135 OZ9MSY Morten +2383136 5P6HQ Per +2383137 OZ1BHQ Per +2383138 OZ9L Lars 2384001 OZ3MAJ Martin 2384002 OZ3MAJ Martin 2384003 OZ1BZJ Michael @@ -11242,6 +11445,7 @@ 2384200 OZ3ESU Simon 2384201 OZ1PPT Lars 2384202 OZ1EKD Svend +2384203 OZ6PSJ Palle 2384400 OZ3MAJ Martin 2384444 OZ0GC Gifted 2384500 OZ1HWN Einar @@ -11582,6 +11786,7 @@ 2400187 SA0ANS Jan 2400188 SA0AEK Stefan 2400189 SA0WAI Jeremy +2400190 SA0BWG Mikael 2401001 SM6UDU Marcus 2402001 SA2CMY Tomas 2402002 SA2BNO Peter @@ -11954,6 +12159,8 @@ 2406131 SA6AHL Goeran 2406132 SM6WXI Thomas 2406133 SM6LQZ Peter +2406134 SK6TK Peter +2406135 SM6VTZ Christian 2407001 SM7URN Patrik 2407002 SM7URN Patrik 2407003 SA7BRM Robert @@ -12126,6 +12333,7 @@ 2407170 SM7WEG Stefan 2407171 SM7WDG Freddy 2407172 SG7FLD Haakan +2407173 SM7VOY Ronnie 2420001 LA3RIA Mushtaq 2420002 LA1KP Oivind 2420003 LA4JL Per @@ -12153,6 +12361,7 @@ 2420025 LB1KG Havid 2420026 LA4GF Frode 2420027 LA9LT Hans +2420028 LA9YKA Yvind 2421001 LA6VMA Tommy 2421002 LA7ZKA Arve 2421003 LA2YUA Robin @@ -12347,6 +12556,7 @@ 2426064 LB9UE Tom 2426065 LA8IMA Rolv 2426066 LA1ZOA Hans +2426067 LA9TKA Ivar 2427001 LA3VW Odd 2427002 LA4CSA Tarjei 2427003 LA7LW Ole @@ -12543,6 +12753,8 @@ 2442097 OH2NFP Pasi 2442098 OH2FZV Mika 2442099 OH2FZV Mika +2442100 OH2BEA Marko +2442101 OH2BEAP Marko 2443001 OH3FCB Tommi 2443002 OH3KGR Janne 2443003 OH3HWX Toni @@ -13233,6 +13445,7 @@ 2609070 SQ9NKW Tymoteusz 2609071 SQ9OUK Waldemar 2609072 SP9ONC Miroseaw +2609073 SQ9ONZ Tomasz 2620001 DD8OA Jan 2620002 DB1JBA Jens 2620003 DG0CCO Joerg @@ -13354,7 +13567,7 @@ 2621042 DB6DO Micha 2621043 DO4MHA Mario 2621044 DG2BTR Sven -2621045 DO1SIL Silvio +2621045 DM9KS Silvio 2621046 DO1JDK Detlef 2621047 DL6JOG Roger 2621048 DL8ZT Wolfgang @@ -13475,6 +13688,7 @@ 2621163 DH7NN Sebastian 2621164 DL2CST Christian 2621165 DO2MRC Marcel +2621166 DM5SN Nico 2622000 DF4HN Joerg 2622001 DL6LIM Iven 2622002 DJ3HZ Klaus @@ -13582,7 +13796,7 @@ 2622104 DL5HAW Wilfried 2622105 DH4HAV Wolfgang 2622106 DB9XQ Michael -2622107 DL1SA Oktay +2622107 DL1SA Oskar 2622108 DL2HDK Uwe 2622109 DO1HM Mahmut 2622110 DO4HF Frank @@ -13770,6 +13984,18 @@ 2622295 DC0KL Lennart 2622296 DC4RIS Christopher 2622297 DL5PL Rene +2622298 DK1LRS Reinhard +2622299 DO1LIM Ingo +2622300 DL1LCK Christian +2622301 DO6AI Oliver +2622302 DK8XM Wolfgang +2622303 DO5HVO Johannes +2622304 DO5CO Sebastian +2622305 DL4HAO Dietmar +2622306 DL3TP Tjark +2622307 DO4TUX Ralf-Georg +2622308 DK7LE Eyke-Christian +2622309 DL1SA Oskar 2623001 DL4BCG Paul 2623002 DG5AV Gerd 2623003 DO1HSN Hendrik @@ -14597,6 +14823,11 @@ 2623826 DL0TSB Technikakademie 2623827 DL1BLD Peter 2623828 DL6BBB Warner +2623829 DJ5ER Heino +2623830 DO1OLI Oliver +2623831 DJ7PG Peter +2623832 DJ9AM Dagmar +2623833 DL4AP Hans- 2624001 DF2ER Walter 2624002 DD2JU Rudolf 2624003 DL1YBL Jochen @@ -15917,6 +16148,11 @@ 2625321 DK8EV Dirk 2625322 DL9JN Peter 2625323 DK8VN Richard +2625324 DO9ZY Tom +2625325 DK5UK Wolfgang +2625326 DL7GT Daniel +2625327 DD3VV Albert +2625328 DO6DZ Sascha 2625998 DB0MYK Hans-Juergen 2625999 DB0LJ D-Star-Gateway 2626000 DF6RK Ralf @@ -16427,6 +16663,9 @@ 2626505 DO4DUB Martin 2626506 DK3ZL Karl-August 2626507 DL3ZZ Ralf +2626508 DG9FEM Robert +2626509 DO1FT Manfred +2626510 DL9ZBD Harald 2627001 DC4GD Claus 2627002 DC4GD Claus 2627003 DC4GD Claus @@ -17048,6 +17287,19 @@ 2627619 DL2GAW Gerd 2627620 DO3MX Maximilian 2627621 DL1SAP Peter +2627622 DO1FLK Florian +2627623 DO6US Paul +2627624 DM3HD Thomas +2627625 DL4GBA Wilfried +2627626 DO1JFP Jochen +2627627 DL3YDS Horst +2627628 DL1SMA Martin +2627629 DL9GCG Christian +2627630 DL1GRC Sascha +2627631 DF6JJ Bruno +2627632 DG3MDU Michael +2627634 DO7WHP Willy +2627635 DK4BX Erwin 2628001 DL1BNO Bernd 2628002 DL5NBZ Rainer 2628003 DK7NKR Ralf @@ -17802,6 +18054,19 @@ 2628754 DO9MO Mario 2628755 DK0WWR Clubstation 2628756 DG4BUL Ulrich +2628757 DL6NAV Juergen +2628758 DL1FY Erwin +2628759 DG1MAW Wolfgang +2628760 DB6CP Hans-Christian +2628761 DL6MFE Christian +2628762 DL3NBZ Klaus-Peter +2628763 DO3NN Nils +2628764 DK0ND Clubstation +2628765 DL5RDP Bernhard +2628766 DO1KN Norbert +2628767 DM5CQ Stefan +2628768 DO5LA Regine +2628769 DJ4FJ Oswald 2629001 DC8YM Maik 2629002 DC8YM Maik 2629003 DC8YM Maik @@ -17921,6 +18186,8 @@ 2629118 DO2FN Peter 2629119 DL7LVM Frank 2629120 DL2HC Harald +2629121 DM8AE Uwe +2629122 DL1NOS Nando 2634001 DL6NW Nicole 2634002 DL1HC Michael 2634003 DH5JR Hannelore @@ -18153,7 +18420,9 @@ 2634230 DO3WZ Werner 2634231 DB5EJ Horst 2634232 DO4KJ Marco +2634233 DL5YCL Reinhard 2634234 DL5KI Sebastian +2634235 DG1DP Thomas 2634236 DK7DY Klaus 2634237 DG1KOE Helmut 2634238 DF1LON Lars @@ -18166,6 +18435,14 @@ 2634245 DB1AE Bernhard 2634246 DO6SEX Juergen 2634247 DJ0ACS Yalcin +2634248 DM3MR Markus +2634249 DO0EG Axel +2634250 DO2HHM Harald +2634251 DJ6QB Klaus +2634252 DL9JLM Joshua +2634253 DF3DCB Kai-Uwe +2634254 DM7MB Manuela +2634255 DJ5QE Udo 2681001 CT2HMR Manuel 2681002 CT1DQV Eduardo 2681003 CT2GSW Rui @@ -18246,8 +18523,9 @@ 2682038 CT2IGO Amandio 2682039 CS7AJB Julio 2682040 CT2GCO Antonio -2682041 CR7ALP Jorge +2682041 CR7ALP Jose 2682042 CT2GCO Antonio +2682043 CT1EFR Albertino 2683001 CT1HDC Paulo 2683002 CR7AIC Fernando 2683003 CS7AFO Hugo @@ -18380,6 +18658,9 @@ 2683130 CT1FTW Luis 2683131 CT1ERW Antonio 2683132 CT1CLO Joaquim +2683133 CT1CRR Hermes +2683134 CT1BPZ Jose +2683135 CT2FPK Ricardo 2684001 CT2BXN Jose 2684002 CT2BXN Jose 2684003 CT1DUM Carlos @@ -18405,6 +18686,7 @@ 2685009 CT2GPD Carlos 2685010 CT1KCL Jan 2685011 CS0RCL RCL +2685012 CT7AIU Uwe 2686001 CU2GI Paulo 2686002 CU1UZ Jose 2686003 CU3AT Francisco @@ -18485,6 +18767,9 @@ 2701070 LX1PT Patrik 2701071 LX1X Gerald 2701072 LX1BH Louis +2701073 LX1WJ Jean +2701074 LX1EQ Steve +2701075 LX1SS Sylvie 2701120 LX4E LARU 2701121 LX4E LARU 2701122 LX4E LARU @@ -18511,6 +18796,7 @@ 2720014 EI9GWB Arkadiusz 2720015 EI7FO Tobias 2720016 EI8DJ Donal +2720017 EI2CW Aidan 2740001 TF3PKN Pier 2780001 9H1US Antoine 2780002 9H1DH Herbert @@ -18595,14 +18881,17 @@ 2930002 S56SCI Marjan 2930003 S56CT Tilen 2930004 S52SG Ewald +2930005 S56LLB Andrej 2940001 Z36AEC Herolind 2940002 Z32IT Dragan +2940003 Z32IT Dragan 2958001 HB0SPH Pius 2959001 HB0BP Andreas 2959002 HB0PJ Patrick 2959003 HB0TR Stefan 3020001 VO1GME Geoff 3020002 VE1AIC Ron +3020003 VO1CJN Chris 3021001 VE1XDT Mike 3021002 VE1XDT Mike 3021003 VE1EJB Joe @@ -18873,6 +19162,12 @@ 3022265 VE2AUR Aurelino 3022266 VA2MZ Jean-Guy 3022267 VE2ZFP Flavio +3022268 VE2KBI Eric +3022269 VE2MFL Fernand +3022270 VA2EK Mario +3022271 VE2 SWF Martin +3022272 VA2EK Mario +3022273 VA2BEO Michel 3023001 VE3XF Steve 3023002 VE3KFQ Doug 3023003 VE3SAQ Marshall @@ -19470,6 +19765,15 @@ 3023596 VE3FAN John 3023597 VA3HJ Valens 3023598 VE3APY Carl +3023599 VE3TVG Charles +3023600 VE3EOC Edward +3023601 VE3KYZ Alan +3023602 VA3NZ Scherral +3023603 VE3BGE Michael +3023604 VE3ATP Douglas +3023605 VE3ATP Douglas +3023606 VE3ELL Russell +3023607 VE3ON Alex 3024001 VE4RRB Rob 3024002 VE4RRB Rob 3024003 VE4AI Shaun @@ -19917,6 +20221,13 @@ 3101146 K4JHD Joe 3101147 KW4J William 3101148 KC4QWM Billy +3101149 G1ETD Mike +3101150 KD4IWU Eddy +3101151 N4PHD George +3101152 N4PHD George +3101153 K4MR Michael +3101154 KM4TTV Jefferie +3101155 KM4SYV Charles 3102001 KL2AV Brian 3102002 KL7PS Paul 3102003 KL7RW Ralph @@ -20124,7 +20435,6 @@ 3104196 K7ADX Scott 3104197 KC7KMP Mark 3104198 KG7MAH Ken -3104199 WB5LFS Marcus 3104200 N4SMG Robb 3104201 KD6VLN Richard 3104202 WY7EMT Jason @@ -20377,6 +20687,13 @@ 3104451 AK3GR John 3104452 N6BG Byon 3104453 AB2BH David +3104454 AF7JJ Jean-Michel +3104455 AF7JK Benoit +3104456 N7CK Michael +3104457 N3VW Eric +3104458 KE7CIU Dean +3104459 KF7SLP Stephen +3104460 KG7WUA John 3105001 N5QM Robert 3105002 KB6FO George 3105003 W5KEC Kenneth @@ -20531,6 +20848,8 @@ 3105152 KD5RZY Clint 3105153 KD5PXZ Gerald 3105154 KD5RZY Clint +3105156 WJ5FF Jeffrey +3105157 AF5UI Jeremy 3106001 K6EH Paul 3106002 K6EH Paul 3106003 K6EH Paul @@ -22126,6 +22445,38 @@ 3107600 KK6TT Mario 3107601 W6AAX Albert 3107602 KJ6MKI Thomas +3107603 K6DJR Daniel +3107604 K6KBQ Kevin +3107605 K9ADB Denis +3107606 K6VOR Taylor +3107607 N6CTG Craig +3107608 W6WZ Michael +3107609 N6BOT Dale +3107610 N6CTG Craig +3107611 KG6FJY Morris +3107612 W6BDR Bruce +3107613 AF0XX Frank +3107614 KD6KWV Robert +3107615 KK6MNE Soo +3107616 KK6TT Mario +3107617 KK6PBT Alexander +3107618 KG6FJY Morris +3107619 KI6VFR Allan +3107620 KD6EDD Janet +3107621 K6VOR Taylor +3107622 W6QN Harvey +3107623 K6WTZ Audie +3107624 AG6VY H +3107625 KE6NAV Moises +3107626 KM6DMB Mark +3107627 K6BEZ Beric +3107628 KF6VGZ Craig +3107629 N6DBS Mike +3107630 N6YN Edward +3107631 KK6ZTV Mark +3107632 KI6QEE William +3107633 KF6VGZ Craig +3107634 KK6UZS Erik 3108001 NR2Y Marinus 3108002 WA2YZT Paul 3108003 K0JSC Jeff @@ -22791,7 +23142,6 @@ 3108665 KE0HFE David 3108666 KD0HIY Curtis 3108667 KC0OHC John -3108668 N7LGK Wade 3108669 KE0HFK Cory 3108670 KB0OXD Patrick 3108671 KC0DGM Peter @@ -22914,7 +23264,12 @@ 3108788 KD5DKQ Richard 3108789 KR0V Stewart 3108790 K0EFP Ryan +3108791 KD0KTA Federico 3108792 AJ0IM James +3108793 W0RDR Rand +3108794 AE0AT James +3108795 W0JED Jackie +3108796 K0NFL Matthew 3109001 WA2WCB Michael 3109002 N1MCC Kit 3109003 N1MCC Kit @@ -23443,6 +23798,9 @@ 3109526 KA1PVV Judith 3109527 KC1FYI Nick 3109528 KC1FYH James +3109529 WA1UZO Michael +3109530 KC1FNM James +3109531 W1JRD Joel 3110001 N2VRQ David 3110002 KB3WQH Robert 3110003 KC3BNZ Street @@ -23459,6 +23817,7 @@ 3110014 K3PGA Eunbok 3110015 KC3FAU Thomas 3110016 K3JCT John +3110017 N3YDN Edward 3111001 W2NJS Tom 3111002 W3DCA Michael 3111003 WA1ESQ Jason @@ -24807,6 +25166,13 @@ 3113343 N4TRR Jack 3113344 N4WD Bruce 3113345 KM4PUB Glenn +3113346 KC8YRK Steve +3113347 N4WNX Wayne +3113348 AF1G Timothy +3113349 KF4SWB Barry +3113350 KF4SWB Barry +3113351 W2WTF Brad +3113352 KF4UIL Tracy 3115001 NH7YS Tad 3115002 KH6DQ Jack 3115003 AH6PR Mark @@ -24895,6 +25261,7 @@ 3115086 AH6OO Ryan 3115087 N0DQD Robert 3115088 NH6NZ Donald +3115089 KH6HHG Stanley 3115101 WA6SXY Anette 3115102 NO7BS Kirk 3115104 WB6LNX David @@ -25645,6 +26012,16 @@ 3117649 KC9MMM Edward 3117650 K9CRT Douglas 3117651 KA9NBQ Connie +3117652 N9RIV William +3117653 KD9GJA Tim +3117654 N9OQW David +3117655 W9BBB Wayne +3117656 W9ARH Wayne +3117657 N9GTM James +3117658 KB9GIG John +3117659 N9KD Jorge +3117660 KC9KCY Thomas +3117661 N9YTH Jarrett 3118001 KK9EJ Ej 3118002 KG9NN Robert 3118003 KC8PTE David @@ -26338,6 +26715,12 @@ 3118692 KB9IVA Robert 3118693 KC9EIC Neal 3118694 KC9EIC Neal +3118695 KC9NTJ Kurt +3118696 KC9YHT Michael +3118697 KB9RMY Nicholas +3118698 K9ERV Brian +3118699 KA9CCN Tim +3118700 WA9RN K9nzf 3119002 WD0FIA Keith 3119003 W0DT Donald 3119004 KD0WY Roger @@ -26454,6 +26837,8 @@ 3120056 KE0HRB Michael 3120057 AD0UN Harald 3120058 KC3OL Theodore +3120059 KF0RS Daniel +3120060 N0TTN Brian 3120101 N0MJS Cort 3120102 KD0CYJ Shannon 3120103 N0MJS Cort @@ -26658,6 +27043,10 @@ 3121119 KM4GOQ Gary 3121120 KG4LHQ John 3121121 N9TAL Douglas +3121122 K4GFN Steven +3121123 KC0IEB Edward +3121124 KM4SLV Mellisa +3121125 KN9FOO William 3122001 KD5SSQ Anthony 3122002 W5ELM Earl 3122003 KB5UDF Jean @@ -26927,6 +27316,10 @@ 3123240 KC1FXE Robert 3123241 WT1A Timothy 3123242 KD1KE Thomas +3123243 WX1GYX NWS +3123244 KC1FRJ Gerard +3123245 KB1LAM Martin +3123246 N1PQY Mary 3124001 N3LHD Tom 3124002 N3LHD Tom 3124003 N3LHD Tom @@ -27145,6 +27538,9 @@ 3124216 KP4IP Francisco 3124217 K0RYX Oryx 3124218 KB3PLX Kevin +3124219 WD3C Richard +3124220 N3GXH Edmond +3124221 KA3OUC Charles 3125001 W1NAU Tim 3125002 KT1U Vivian 3125003 AE1C Jim @@ -28328,6 +28724,16 @@ 3126847 K8JBW Jeremy 3126848 WW2MI Del 3126849 N8JCF Mark +3126850 AC8SW Theodore +3126851 KB8QJE Lawrence +3126852 KE8WGB William +3126853 KE8CZC Nick +3126854 N8XHB Kendall +3126855 KD8VPB Anthony +3126856 W8IPN Ivan +3126857 N8SN Charles +3126858 KC8DWR Anna +3126859 W8IPN Ivan 3127001 N0NMZ Shep 3127002 NH7CY Jason 3127003 NH7CY Jason @@ -28517,6 +28923,9 @@ 3127188 KD0WUT Brian 3127189 KE0DDX Barry 3127190 KL0FOX Keith +3127191 KE0IFT Richard +3127192 KC0QJQ Roger +3127193 NQ8H Scott 3128001 KF5MWE Gary 3128002 K5WSM Lemuel 3128003 KD4VVZ General @@ -28655,6 +29064,8 @@ 3129096 N0TZQ Robert 3129097 KE0GWE Timothy 3129098 KO0TER David +3129099 KD0SJH William +3129100 K0MGS Matthew 3129101 W0WJB William 3129102 W0WJB William 3129103 W0WJB William @@ -29237,6 +29648,7 @@ 3132385 KD8SMH George 3132386 N6JFO Noel 3132387 K7YWF Roy +3132388 KB7RZF Jeremy 3133001 NE1B Bill 3133002 NE1B Bill 3133003 WA2IYO Pat @@ -29475,6 +29887,10 @@ 3133236 W1DND Don 3133237 N1RKW Adam 3133238 N1PCE John +3133239 N1PCE John +3133240 W1FVB Frister +3133241 KB1IZU Bob +3133242 KC1FYG Harry 3134001 K2XTS Alex 3134002 K2XTS Alex 3134003 KC2WNG Israel @@ -29998,6 +30414,17 @@ 3134521 KC2DSH Clive 3134522 AB5MF Sakae 3134523 KB2OCI James +3134524 N2WCL Benjamin +3134525 K2LAB Robert +3134526 K2JK Joe +3134527 N2QJN Edward +3134528 N2XP Bruce +3134529 KD2JUN Neal +3134530 KB2UNZ Edward +3134531 N2ZAV Robert +3134532 N2SWD Andrew +3134533 W2NEB Robert +3134534 W2CMB Christopher 3135001 N5BG Larry 3135002 N5BG Larry 3135003 N5UBJ William @@ -30053,6 +30480,7 @@ 3135053 KG5CGF Kirk 3135054 K9CAB Christopher 3135055 AE5JI Richard +3135056 KD5K Robert 3136001 W2KTU Keivan 3136002 N2WGC Michael 3136003 K2XTS Alex @@ -30668,7 +31096,6 @@ 3136613 N2KEG David 3136614 WB2ERS Mark 3136615 AC2HK David -3136616 K2HPS Henry 3136617 KB2BSL Gary 3136618 K2KAT Dakota 3136619 WK9K Joseph @@ -31041,6 +31468,14 @@ 3136987 N2OJM Elliott 3136988 W2KYM James 3136989 KD2KTR Rich +3136990 WA2CDL Andrew +3136991 W2FGO Felix +3136992 N2WLS Gary +3136993 KD2GXI Robert +3136994 KC2WSZ Vito +3136995 K2HPS Henry +3136996 N2TFG Bruce +3136997 KB2BJ Philip 3137001 W4ZO Ralph 3137002 W4ZO Ralph 3137003 KI4M Christopher @@ -31258,7 +31693,7 @@ 3137215 KI4PMI Barry 3137216 K3RHJ John 3137217 WW4TLB Thomas -3137218 KI4HVX David +3137218 KG4SHP David 3137219 NC4VA Virginia 3137220 N4GVK Tom 3137221 KI4QCN Tim @@ -31621,15 +32056,15 @@ 3137578 KM4NCM Jessica 3137579 KK4PH Lowell 3137580 K4JDR Ronnie -3137581 N4YOG Steven +3137581 NI4J Steven 3137582 KC2HKU Edward 3137583 W4ABM William 3137584 KF4AUF Harold -3137585 N9SHP David +3137585 N9SHP Chris 3137586 KF4COP Jim 3137587 KJ4SXJ Michael 3137588 K4BTH Bradley -3137589 N4YOG Steven +3137589 NI4J Steven 3137590 KB4TXC Douglas 3137591 KZ5ED Eric 3137592 KK4YDI David @@ -32735,6 +33170,22 @@ 3139697 KD8WLV Robert 3139698 W1WMJ Howard 3139699 KD8OTQ Scott +3139700 KG4VHV John +3139701 AC8UJ Ryan +3139702 KC8GNU David +3139703 KE8DVM Charles +3139704 N8QKE Jennifer +3139705 KB8MYC Gary +3139706 K8WAR Tommy +3139707 WO8G Milton +3139708 W8JTW Joe +3139709 N8SIM James +3139710 K8MAX James +3139711 KB9JDP Scott +3139712 KD8UKH Richard +3139713 KD8QFU Warren +3139714 K8MJ Michael +3139715 KD8QFU Warren 3140001 AE5DN Mark 3140002 AE5DN Mark 3140003 KE5BDG Leah @@ -33082,6 +33533,8 @@ 3140345 N5TWB Bart 3140346 AF5SX William 3140347 KE5NXP Wayne +3140348 KG5LQX Gary +3140349 KG5LQX Gary 3141001 N7MAQ Jim 3141002 N7MAQ Jim 3141003 KC7HBU David @@ -33154,6 +33607,10 @@ 3141070 KE7UKP Scott 3141071 K7JCN Chad 3141072 W7WHN Timothy +3141073 KI7ESW Curtis +3141074 N7RDN James +3141075 N7MWL Bill +3141076 N7MWL Bill 3142001 N3ST Bryan 3142002 K4MTP Mike 3142003 N3OBL Frank @@ -33488,6 +33945,14 @@ 3142332 K3TI Berks 3142333 K3NXU John 3142334 KC2ABV Jose +3142335 KB2GGS Robert +3142336 NJ3Z Lawrence +3142337 N3KIS Michael +3142338 KA3AAA Terry +3142339 KC2LWD Paul +3142340 N3TJJ Troy +3142341 N3YFO David +3142342 KB3YDL Craig 3144001 KB1ISZ William 3144002 KB1ISZ William 3144003 KC2FMI Joseph @@ -34018,8 +34483,8 @@ 3145506 W4BFT Brag 3145507 K4TTR Peter 3145508 W4GTE David -3145509 KM4UOF Stelio -3145510 KM4UOF Stelio +3145509 W1SAE Stelio +3145510 W1SAE Stelio 3145511 NN4II Ernest 3145512 W4STR Willard 3145513 KM4IOK Stjohn @@ -34033,6 +34498,13 @@ 3145521 W4BFZ Milton 3145522 KG4JWM Jeremy 3145523 KE4EAN Arthur +3145524 K4YYM Ronald +3145525 W4PML Paul +3145526 K4BON Michael +3145527 KJ4SVH Justin +3145528 KF4OMP William +3145529 KM4KGH David +3145530 W4YAL Virginia 3146001 KG6JLB Thomas 3146002 AD0BN Aaron 3146003 KD0QYR Dustin @@ -34458,6 +34930,13 @@ 3147414 KC4TIQ William 3147415 KW4FC Aaron 3147416 W4SXZ George +3147417 KE4KUN Donald +3147418 KC4EO David +3147419 KI4SIB Richard +3147420 KJ4GXB Robert +3147421 KJ4GXB Robert +3147422 KE4KUN Donald +3147423 KM4KHG Peter 3148001 W5EBQ Jim 3148002 N4MSE Jeff 3148003 KE4QLC Cliff @@ -35039,7 +35518,7 @@ 3148579 KA5QDG Walter 3148580 KD5KNR Billy 3148581 WB4KTF Glen -3148582 KG5IAK William +3148582 W2CAT William 3148583 KV5TX Kristopher 3148584 N0JY Gerald 3148585 KD5JUM Edward @@ -35118,6 +35597,22 @@ 3148658 KD5YIZ Carrie 3148659 N0TIT Bradley 3148660 K5VPC Jorge +3148661 KD5QFC Dee +3148662 KF5LKJ Colten +3148663 KD5RXY George +3148664 N5UQG Kevin +3148665 KE5YVX John +3148666 N5VCX Michael +3148667 KF5WKF Matthew +3148668 KB5LXS John +3148669 W5NFL Nflarc +3148670 W5IH Bobby +3148671 KG5LBH Albert +3148672 WA0URJ David +3148673 AB5XS James +3148674 WA0URJ David +3148675 K5KOY Koy +3148676 KF5UOL Allen 3149001 N6DVZ Roger 3149002 KC7WSU Chris 3149003 WR7O Douglas @@ -35152,6 +35647,7 @@ 3149032 K7KGK Richard 3149033 WB7ODA Ken 3149034 KF7VRN Harrison +3149035 KC7WST DMR 3149036 W7RSS Phil 3149037 K7WRD Wayne 3149038 N7KOB David @@ -35655,6 +36151,11 @@ 3151389 KC2YJQ Nicholas 3151390 W1VA James 3151391 KD6FIG Richard +3151392 WB5LFS Marcus +3151393 WA4JJM James +3151394 N4VWP Michael +3151395 KE4KZE Harry +3151396 KD4VA Kenneth 3153001 KD7AKB Chris 3153002 NF6C Gregory 3153003 NF6C Gregory @@ -35862,6 +36363,7 @@ 3153205 WB7OAF Victor 3153206 KE0CO Brian 3153207 N7MTC Bill +3153208 KI7FKL Anthony 3154001 WV8VFD Tyler 3154002 WB3JPB Bruce 3154003 WB8WKO Mike @@ -35958,6 +36460,8 @@ 3154094 N8HHU Douglas 3154095 KE8EKI Anthony 3154096 KE8EKI Anthony +3154097 KA8AZK James +3154098 KC8QVP Paul 3155001 N9NLZ Craig 3155002 KB9VLL Dan 3155003 KB9ENO William @@ -36132,6 +36636,8 @@ 3155172 N9ASA Daniel 3155173 AK9F David 3155174 NP2I David +3155175 K9DQ David +3155176 KC9LYF (Club) 3156001 KC7YRA Brad 3156002 KC7YRA Brad 3156003 KC0ZHF Rodney @@ -36231,6 +36737,8 @@ 3156097 N7RON Kenneth 3156098 N7ZEF Michale 3156099 N7CST Chuck +3156100 N7NAV Christopher +3156101 KG7TAV Sarah 3301001 WP4OV Juan 3301002 WP4OTW Carla 3301003 NP4ET Jose @@ -36352,10 +36860,15 @@ 3708009 HI8RSB Carlos 3708010 HI8VRS Hugo 3708011 HI8JRG Rafael +3708012 KP4AP Alberto +3708013 HI8NPN Paul +3708014 HI8NPN Paul 3740001 9Y4DH Dexter 3740002 9Z4RG Ravindranath 4040001 VU3KAZ Krishna 4041001 VU3MAH Maheir +4041002 VU3XVT Savitha +4041003 VU3XVT Savitha 4180001 YI1RM Raaed 4180002 S3WR1 Sawri 4190001 9K2MI Maged @@ -36388,6 +36901,7 @@ 4254009 4Z1ZV Zvi 4254010 4Z1NB Eli 4254011 4Z1ZV Zvi +4254012 4X6ON Yeuda 4255001 4Z5VK Remco 4255002 4Z5VK Meeder 4255003 4X5AS Sasson @@ -36438,6 +36952,7 @@ 4401038 JH1BBG Ryo 4401039 JA1WTO Kei 4401040 JA1WTO Kei +4401041 JQ1ZOZ Takashi 4402001 JR2SRH Gosei 4402002 JR2MOK Masaru 4402003 JN2JWA Minoru @@ -36598,6 +37113,7 @@ 4507005 HL1GN Youngho 4507006 DS1DPX Byeong-Won 4507007 HL1BRU Henry(Hakbong) +4507008 HL1BX Seo 4540001 VR2XJN Charles 4540002 VR2XJT Hkprc 4540003 VR2RG Hkprc @@ -36912,6 +37428,8 @@ 4600007 BH4CST Nick 4600008 BH4CDS Scott 4600009 BG1PMS Li +4600010 BG4JJS Tao +4600011 VR2USB Cross 4661001 BX2ABT Hans 5020001 9W2VHN Hafiznaimi 5022001 9M2AOC Alexander @@ -36937,6 +37455,7 @@ 5051007 VK1MDP Murray 5051008 VK1AAB Stephen 5051009 VK1JAM Morten +5051010 VK1XX Glen 5052001 VK2YLO John 5052002 VK2LK Matt 5052003 VK2YVA Mal @@ -36948,7 +37467,6 @@ 5052009 VK2HDX Paul 5052010 VK2CU Justin 5052011 VK2MCA Steve -5052012 VK2NIJ Joel 5052013 VK2XYI Scott 5052014 VK2LK Matt 5052015 VK2PWR Adam @@ -36976,7 +37494,6 @@ 5052037 VK2RE Mark 5052038 VK2AAH Richard 5052039 VK2ERG Earnest -5052040 VK2NIJ Joel 5052041 VK2MCA Steve 5052042 VK2KO Glenn 5052043 VK2JCC Colin @@ -37105,6 +37622,9 @@ 5052166 VK2PH Mark 5052167 VK2ABS Benjamin 5052168 VK2UMZ Murray +5052169 VK2DMU David +5052170 VK2ZIW Alan +5052171 VK2NWB William 5053001 VK3XDE Paul 5053002 VK3TE Peter 5053003 VK3AJ Peter @@ -37283,6 +37803,9 @@ 5054096 VK4CBW Wallace 5054097 VK4JAZ Grant 5054098 VK4ZPU Colin +5054099 AX4TUX Adrian +5054100 VK4NIJ Joel +5054101 VK4NIJ Joel 5055001 VK5FBFB Brendan 5055002 VK5UZ Udo 5055003 VK5RZ Stephan @@ -37330,6 +37853,8 @@ 5056033 VK6NAH James 5056034 VK6AXB Anthony 5056035 VK6PCC Peter +5056036 VK6PAW Glynn +5056037 VK6LDX Lewis 5056100 VK100ANZ Hmas 5057001 VK7YXX Don 5057002 VK7JA John @@ -37430,6 +37955,7 @@ 5200084 HS9CGZ Banjob 5200085 HS5STV Kittipol 5200086 HS2YTY Jaturong +5200087 HS9AWO Kasem 5206001 HS0ZET Ralf 5206002 HS3LIQ Wiwat 5250001 9V1JC Wiyanto @@ -37602,6 +38128,7 @@ 5302042 ZL1DFC Rob 5302043 ZL1CQO Jon 5302044 ZL1RD Robert +5302045 ZL2NAT Nathan 5303001 ZL3VP Gareth 5303002 ZL3PX Geoff 5303003 ZL4FZ Richard @@ -37754,11 +38281,16 @@ 6470033 FR5CP Jean 6470034 FR1LC Johann 6470035 FR4OU Ginot +6470036 FR1DI BRUNO +6470037 FR4FE JMARC 6491001 V51JP Werner 6491002 V51V Victor 6530001 3DA0MF Jean 6551001 ZS1JPL Johan 6551002 ZS1AG Alexander +6551003 ZS1V Paul +6551004 ZS1VDV Jan +6551005 ZS1MTF Matt 6552001 ZS2ABF Peter 6554001 ZS4OIL Mark 6555001 ZS5GR Tony @@ -37982,6 +38514,9 @@ 7241043 PU1LOY Luiz 7241044 PY1FR Fernando 7241045 PY1FR Fernando +7241047 PY1USK Fernando +7241048 PY1LUA Jasiel +7241049 PU1YCP Marcio 7242001 PY2EQJ Julio 7242002 PY2IV Igor 7242003 PU2TKL Gilvin @@ -38028,6 +38563,8 @@ 7243001 PU3DSS Delvair 7243002 PY3DCC Daniel 7243003 PY3NY Andri12 +7243004 PY3PT Donaldo +7243005 PY3CC Jorge 7244001 PY4CEP Carlos 7244002 PY4AC Claudio 7244003 PY4CQQ Rogerio @@ -38229,6 +38766,9 @@ 7341001 YV1GAG Hernedy 7341002 YV1GAG Hernedy 7341003 YV5VE William +7341004 YV1AHP Heber +7341005 YV1ENM Temistocle +7341006 YY1MAV Miguel 7344001 YV4WC Winkock 7345001 YV5AJ Club 7345002 YV5RNE R From a6a13fe40c13e397febd3bf524ee2c0c5dda1a3c Mon Sep 17 00:00:00 2001 From: vk4tux Date: Wed, 6 Jul 2016 19:54:09 +1000 Subject: [PATCH 4/9] Update MMDVM.ini Allow a easier working config for fusion ? --- MMDVM.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MMDVM.ini b/MMDVM.ini index bb235a4..594956a 100644 --- a/MMDVM.ini +++ b/MMDVM.ini @@ -96,7 +96,7 @@ Debug=0 Enable=1 LocalAddress=127.0.0.1 LocalPort=3200 -GwyAddress=c4fm.duckdns.org +GwyAddress=127.0.0.1 GwyPort=4200 Debug=0 From ba682a397e78c5742a52dab3b1bf842a91983b0c Mon Sep 17 00:00:00 2001 From: Tony Corbett G0WFV Date: Wed, 6 Jul 2016 19:46:52 +0100 Subject: [PATCH 5/9] Correct logic for date/time display --- HD44780.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/HD44780.cpp b/HD44780.cpp index 9c9593f..3d33c86 100644 --- a/HD44780.cpp +++ b/HD44780.cpp @@ -763,12 +763,10 @@ void CHD44780::clockInt(unsigned int ms) } else { ::lcdPosition(m_fd, (m_cols - (strlen(m_buffer1) == 8 ? 8 : 10)) / 2, m_rows == 2 ? 1 : 2); ::lcdPrintf(m_fd, "%.*s", strlen(m_buffer1) == 8 ? 8 : 10, m_buffer1); - } - - if (m_cols != 16U && m_rows != 2U) { ::lcdPosition(m_fd, (m_cols - strlen(m_buffer2)) / 2, m_rows == 2 ? 0 : 1); ::lcdPrintf(m_fd, "%s", m_buffer2); } + m_clockDisplayTimer.start(); } From 0f9150c64b27f8a37e249db4b2d5889d8daa4b27 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Thu, 7 Jul 2016 09:31:41 +0100 Subject: [PATCH 6/9] Modify the space calculations slightly. --- RingBuffer.h | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/RingBuffer.h b/RingBuffer.h index 7805005..f700043 100644 --- a/RingBuffer.h +++ b/RingBuffer.h @@ -109,13 +109,17 @@ public: unsigned int freeSpace() const { - if (m_oPtr == m_iPtr) - return m_length; + unsigned int len = m_length; if (m_oPtr > m_iPtr) - return m_oPtr - m_iPtr; + len = m_oPtr - m_iPtr; + else if (m_iPtr > m_oPtr) + len = m_length - (m_iPtr - m_oPtr); - return (m_length + m_oPtr) - m_iPtr; + if (len > m_length) + len = 0U; + + return len; } unsigned int dataSize() const From e0a6229d6cd1fa4da4465737c13a61c1251e8746 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Thu, 7 Jul 2016 14:05:38 +0100 Subject: [PATCH 7/9] Added Rate 3/4 Data debugging output. --- DMRSlot.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/DMRSlot.cpp b/DMRSlot.cpp index b120336..801ea18 100644 --- a/DMRSlot.cpp +++ b/DMRSlot.cpp @@ -409,6 +409,9 @@ void CDMRSlot::writeModem(unsigned char *data) unsigned char payload[12U]; bptc.decode(data + 2U, payload); bptc.encode(payload, data + 2U); + } else if (dataType == DT_RATE_34_DATA) { + LogDebug("DMR Slot %u, received RF rate 3/4 data", m_slotNo); + CUtils::dump(1U, "Payload", data + 2U, DMR_FRAME_LENGTH_BYTES); } // Regenerate the Slot Type @@ -1278,6 +1281,9 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData) unsigned char payload[12U]; bptc.decode(data + 2U, payload); bptc.encode(payload, data + 2U); + } else if (dataType == DT_RATE_34_DATA) { + LogDebug("DMR Slot %u, received network rate 3/4 data", m_slotNo); + CUtils::dump(1U, "Payload", data + 2U, DMR_FRAME_LENGTH_BYTES); } // Regenerate the Slot Type From 25dddc18f4001db663713f722138cef933d2241f Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Thu, 7 Jul 2016 17:40:41 +0100 Subject: [PATCH 8/9] Remove the level adjustments. --- Conf.cpp | 56 --------------------------------------------------- Conf.h | 14 ------------- MMDVM.ini | 8 -------- MMDVMHost.cpp | 23 --------------------- Modem.cpp | 36 ++++----------------------------- Modem.h | 8 -------- 6 files changed, 4 insertions(+), 141 deletions(-) diff --git a/Conf.cpp b/Conf.cpp index a26eafc..8a67ea2 100644 --- a/Conf.cpp +++ b/Conf.cpp @@ -78,13 +78,6 @@ m_modemTXDelay(100U), m_modemDMRDelay(0U), m_modemRXLevel(100U), m_modemTXLevel(100U), -m_modemDStarLevel(0), -m_modemDMRLevel1(0), -m_modemDMRLevel3(0), -m_modemYSFLevel1(0), -m_modemYSFLevel3(0), -m_modemDMRThreshold(0), -m_modemYSFThreshold(0), m_modemOscOffset(0), m_modemDebug(false), m_dstarEnabled(true), @@ -279,20 +272,6 @@ bool CConf::read() m_modemRXLevel = (unsigned int)::atoi(value); else if (::strcmp(key, "TXLevel") == 0) m_modemTXLevel = (unsigned int)::atoi(value); - else if (::strcmp(key, "DStarLevel") == 0) - m_modemDStarLevel = ::atoi(value); - else if (::strcmp(key, "DMRLevel1") == 0) - m_modemDMRLevel1 = ::atoi(value); - else if (::strcmp(key, "DMRLevel3") == 0) - m_modemDMRLevel3 = ::atoi(value); - else if (::strcmp(key, "YSFLevel1") == 0) - m_modemYSFLevel1 = ::atoi(value); - else if (::strcmp(key, "YSFLevel3") == 0) - m_modemYSFLevel3 = ::atoi(value); - else if (::strcmp(key, "DMRThreshold") == 0) - m_modemDMRThreshold = ::atoi(value); - else if (::strcmp(key, "YSFThreshold") == 0) - m_modemYSFThreshold = ::atoi(value); else if (::strcmp(key, "OscOffset") == 0) m_modemOscOffset = ::atoi(value); else if (::strcmp(key, "Debug") == 0) @@ -638,41 +617,6 @@ unsigned int CConf::getModemTXLevel() const return m_modemTXLevel; } -int CConf::getModemDStarLevel() const -{ - return m_modemDStarLevel; -} - -int CConf::getModemDMRLevel1() const -{ - return m_modemDMRLevel1; -} - -int CConf::getModemDMRLevel3() const -{ - return m_modemDMRLevel3; -} - -int CConf::getModemYSFLevel1() const -{ - return m_modemYSFLevel1; -} - -int CConf::getModemYSFLevel3() const -{ - return m_modemYSFLevel3; -} - -int CConf::getModemDMRThreshold() const -{ - return m_modemDMRThreshold; -} - -int CConf::getModemYSFThreshold() const -{ - return m_modemYSFThreshold; -} - int CConf::getModemOscOffset() const { return m_modemOscOffset; diff --git a/Conf.h b/Conf.h index cdeb98d..08b6621 100644 --- a/Conf.h +++ b/Conf.h @@ -69,13 +69,6 @@ public: unsigned int getModemDMRDelay() const; unsigned int getModemRXLevel() const; unsigned int getModemTXLevel() const; - int getModemDStarLevel() const; - int getModemDMRLevel1() const; - int getModemDMRLevel3() const; - int getModemYSFLevel1() const; - int getModemYSFLevel3() const; - int getModemDMRThreshold() const; - int getModemYSFThreshold() const; int getModemOscOffset() const; bool getModemDebug() const; @@ -193,13 +186,6 @@ private: unsigned int m_modemDMRDelay; unsigned int m_modemRXLevel; unsigned int m_modemTXLevel; - int m_modemDStarLevel; - int m_modemDMRLevel1; - int m_modemDMRLevel3; - int m_modemYSFLevel1; - int m_modemYSFLevel3; - int m_modemDMRThreshold; - int m_modemYSFThreshold; int m_modemOscOffset; bool m_modemDebug; diff --git a/MMDVM.ini b/MMDVM.ini index 594956a..494a87b 100644 --- a/MMDVM.ini +++ b/MMDVM.ini @@ -40,13 +40,6 @@ TXDelay=100 DMRDelay=0 RXLevel=50 TXLevel=50 -DStarLevel=0 -DMRLevel1=0 -DMRLevel3=0 -YSFLevel1=0 -YSFLevel3=0 -DMRThreshold=0 -YSFThreshold=0 OscOffset=0 Debug=0 @@ -71,7 +64,6 @@ TXHang=4 #DstIdWhiteListSlot1= #DstIdWhiteListSlot2= - [System Fusion] Enable=1 diff --git a/MMDVMHost.cpp b/MMDVMHost.cpp index c638821..1988e99 100644 --- a/MMDVMHost.cpp +++ b/MMDVMHost.cpp @@ -648,13 +648,6 @@ bool CMMDVMHost::createModem() unsigned int colorCode = m_conf.getDMRColorCode(); unsigned int rxFrequency = m_conf.getRxFrequency(); unsigned int txFrequency = m_conf.getTxFrequency(); - int dstarLevel = m_conf.getModemDStarLevel(); - int dmrLevel1 = m_conf.getModemDMRLevel1(); - int dmrLevel3 = m_conf.getModemDMRLevel3(); - int ysfLevel1 = m_conf.getModemYSFLevel1(); - int ysfLevel3 = m_conf.getModemYSFLevel3(); - int dmrThreshold = m_conf.getModemDMRThreshold(); - int ysfThreshold = m_conf.getModemYSFThreshold(); int oscOffset = m_conf.getModemOscOffset(); LogInfo("Modem Parameters"); @@ -669,26 +662,10 @@ bool CMMDVMHost::createModem() LogInfo(" RX Frequency: %uHz", rxFrequency); LogInfo(" TX Frequency: %uHz", txFrequency); - if (dstarLevel != 0) - LogInfo(" D-Star Level: %.1f%%", float(dstarLevel) / 10.0F); - if (dmrLevel1 != 0) - LogInfo(" DMR Level 1: %.1f%%", float(dmrLevel1) / 10.0F); - if (dmrLevel3 != 0) - LogInfo(" DMR Level 3: %.1f%%", float(dmrLevel3) / 10.0F); - if (ysfLevel1 != 0) - LogInfo(" YSF Level 1: %.1f%%", float(ysfLevel1) / 10.0F); - if (ysfLevel3 != 0) - LogInfo(" YSF Level 3: %.1f%%", float(ysfLevel3) / 10.0F); - if (dmrThreshold != 0) - LogInfo(" DMR Threshold: %.1f%%", float(dmrThreshold) / 10.0F); - if (ysfThreshold != 0) - LogInfo(" YSF Threshold: %.1f%%", float(ysfThreshold) / 10.0F); - LogInfo(" Osc. Offset: %dppm", oscOffset); m_modem = new CModem(port, m_duplex, rxInvert, txInvert, pttInvert, txDelay, rxLevel, txLevel, dmrDelay, oscOffset, debug); m_modem->setModeParams(m_dstarEnabled, m_dmrEnabled, m_ysfEnabled); - m_modem->setModeLevels(dstarLevel, dmrLevel1, dmrLevel3, ysfLevel1, ysfLevel3, dmrThreshold, ysfThreshold); m_modem->setRFParams(rxFrequency, txFrequency); m_modem->setDMRParams(colorCode); diff --git a/Modem.cpp b/Modem.cpp index 0b9971e..e66aa9f 100644 --- a/Modem.cpp +++ b/Modem.cpp @@ -87,13 +87,6 @@ m_txDelay(txDelay), m_dmrDelay(dmrDelay), m_rxLevel(rxLevel), m_txLevel(txLevel), -m_dstarLevel(0), -m_dmrLevel1(0), -m_dmrLevel3(0), -m_ysfLevel1(0), -m_ysfLevel3(0), -m_dmrThreshold(0), -m_ysfThreshold(0), m_oscOffset(oscOffset), m_debug(debug), m_rxFrequency(0U), @@ -140,17 +133,6 @@ void CModem::setRFParams(unsigned int rxFrequency, unsigned int txFrequency) m_txFrequency = txFrequency; } -void CModem::setModeLevels(int dstarLevel, int dmrLevel1, int dmrLevel3, int ysfLevel1, int ysfLevel3, int dmrThreshold, int ysfThreshold) -{ - m_dstarLevel = dstarLevel; - m_dmrLevel1 = dmrLevel1; - m_dmrLevel3 = dmrLevel3; - m_ysfLevel1 = ysfLevel1; - m_ysfLevel3 = ysfLevel3; - m_dmrThreshold = dmrThreshold; - m_ysfThreshold = ysfThreshold; -} - void CModem::setModeParams(bool dstarEnabled, bool dmrEnabled, bool ysfEnabled) { m_dstarEnabled = dstarEnabled; @@ -761,13 +743,11 @@ bool CModem::readStatus() bool CModem::setConfig() { - unsigned int length = m_duplex ? 19U : 12U; - unsigned char buffer[20U]; buffer[0U] = MMDVM_FRAME_START; - buffer[1U] = length; + buffer[1U] = 12U; buffer[2U] = MMDVM_SET_CONFIG; @@ -800,18 +780,10 @@ bool CModem::setConfig() buffer[11U] = (unsigned char)(m_oscOffset + 128); - buffer[12U] = (unsigned char)(m_dstarLevel + 128); - buffer[13U] = (unsigned char)(m_dmrLevel1 + 128); - buffer[14U] = (unsigned char)(m_dmrLevel3 + 128); - buffer[15U] = (unsigned char)(m_ysfLevel1 + 128); - buffer[16U] = (unsigned char)(m_ysfLevel3 + 128); - buffer[17U] = (unsigned char)(m_dmrThreshold + 128); - buffer[18U] = (unsigned char)(m_ysfThreshold + 128); + // CUtils::dump(1U, "Written", buffer, 12U); - // CUtils::dump(1U, "Written", buffer, length); - - int ret = m_serial.write(buffer, length); - if (ret != int(length)) + int ret = m_serial.write(buffer, 12U); + if (ret != 12) return false; unsigned int count = 0U; diff --git a/Modem.h b/Modem.h index 07300a8..df34620 100644 --- a/Modem.h +++ b/Modem.h @@ -37,7 +37,6 @@ public: ~CModem(); void setRFParams(unsigned int rxFrequency, unsigned int txFrequency); - void setModeLevels(int dstarLevel, int dmrLevel1, int dmrLevel3, int ysfLevel1, int ysfLevel3, int dmrThreshold, int ysfThreshold); void setModeParams(bool dstarEnabled, bool dmrEnabled, bool ysfEnabled); void setDMRParams(unsigned int colorCode); @@ -86,13 +85,6 @@ private: unsigned int m_dmrDelay; unsigned int m_rxLevel; unsigned int m_txLevel; - int m_dstarLevel; - int m_dmrLevel1; - int m_dmrLevel3; - int m_ysfLevel1; - int m_ysfLevel3; - int m_dmrThreshold; - int m_ysfThreshold; int m_oscOffset; bool m_debug; unsigned int m_rxFrequency; From d0e118e85c23776081e542d9181016e538131d97 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Thu, 7 Jul 2016 20:23:30 +0100 Subject: [PATCH 9/9] Start on DMR rate 3/4 data. --- DMRSlot.cpp | 11 ++- DMRTrellis.cpp | 156 ++++++++++++++++++++++++++++++++++++++ DMRTrellis.h | 31 ++++++++ MMDVMHost.vcxproj | 2 + MMDVMHost.vcxproj.filters | 6 ++ Makefile | 4 +- Makefile.Pi.Adafruit | 6 +- Makefile.Pi.HD44780 | 6 +- Makefile.Pi.OLED | 6 +- Makefile.Pi.PCF8574 | 6 +- 10 files changed, 218 insertions(+), 16 deletions(-) create mode 100644 DMRTrellis.cpp create mode 100644 DMRTrellis.h diff --git a/DMRSlot.cpp b/DMRSlot.cpp index 801ea18..162ebc9 100644 --- a/DMRSlot.cpp +++ b/DMRSlot.cpp @@ -13,6 +13,7 @@ #include "DMRSlotType.h" #include "DMRShortLC.h" +#include "DMRTrellis.h" #include "DMRFullLC.h" #include "BPTC19696.h" #include "DMRSlot.h" @@ -411,7 +412,10 @@ void CDMRSlot::writeModem(unsigned char *data) bptc.encode(payload, data + 2U); } else if (dataType == DT_RATE_34_DATA) { LogDebug("DMR Slot %u, received RF rate 3/4 data", m_slotNo); - CUtils::dump(1U, "Payload", data + 2U, DMR_FRAME_LENGTH_BYTES); + CDMRTrellis trellis; + unsigned char payload[18U]; + trellis.decode(data + 2U, payload); + // trellis.encode(payload, data + 2U); } // Regenerate the Slot Type @@ -1283,7 +1287,10 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData) bptc.encode(payload, data + 2U); } else if (dataType == DT_RATE_34_DATA) { LogDebug("DMR Slot %u, received network rate 3/4 data", m_slotNo); - CUtils::dump(1U, "Payload", data + 2U, DMR_FRAME_LENGTH_BYTES); + CDMRTrellis trellis; + unsigned char payload[18U]; + trellis.decode(data + 2U, payload); + // trellis.encode(payload, data + 2U); } // Regenerate the Slot Type diff --git a/DMRTrellis.cpp b/DMRTrellis.cpp new file mode 100644 index 0000000..b8ee592 --- /dev/null +++ b/DMRTrellis.cpp @@ -0,0 +1,156 @@ +/* +* Copyright (C) 2016 by Jonathan Naylor, G4KLX +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation; version 2 of the License. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +*/ + +#include "DMRTrellis.h" +#include "DMRDefines.h" +#include "Utils.h" +#include "Log.h" + +#include +#include + +const unsigned int INTERLEAVE_TABLE[] = { + 0U, 4U, 8U, 12U, 16U, 20U, 24U, 28U, 32U, 36U, 40U, 44U, 48U, + 1U, 5U, 9U, 13U, 17U, 21U, 25U, 29U, 33U, 37U, 41U, 45U, + 2U, 6U, 10U, 14U, 18U, 22U, 26U, 30U, 34U, 38U, 42U, 46U, + 3U, 7U, 11U, 15U, 19U, 23U, 27U, 31U, 35U, 39U, 43U, 47U}; + +const unsigned char DIBITS_TO_POINT[] = { 11U, 12U, 0U, 7U, 14U, 9U, 5U, 2U, 10U, 13U, 1U, 6U, 15U, 8U, 4U, 3U}; +const unsigned char POINT_TO_DIBITS[] = {0x2U, 0xAU, 0x7U, 0xFU, 0xEU, 0x6U, 0xBU, 0x3U, 0xDU, 0x5U, 0x8U, 0x0U, 0x1U, 0x9U, 0x4U, 0xCU}; + +const unsigned char ENCODE_TABLE[] = { + 0U, 8U, 4U, 12U, 2U, 10U, 6U, 14U, + 4U, 12U, 2U, 10U, 6U, 14U, 0U, 8U, + 1U, 9U, 5U, 13U, 3U, 11U, 7U, 15U, + 5U, 13U, 3U, 11U, 7U, 15U, 1U, 9U, + 3U, 11U, 7U, 15U, 1U, 9U, 5U, 13U, + 7U, 15U, 1U, 9U, 5U, 13U, 3U, 11U, + 2U, 10U, 6U, 14U, 0U, 8U, 4U, 12U, + 6U, 14U, 0U, 8U, 4U, 12U, 2U, 10U +}; + +const unsigned char BIT_MASK_TABLE[] = {0x80U, 0x40U, 0x20U, 0x10U, 0x08U, 0x04U, 0x02U, 0x01U}; + +#define WRITE_BIT(p,i,b) p[(i)>>3] = (b) ? (p[(i)>>3] | BIT_MASK_TABLE[(i)&7]) : (p[(i)>>3] & ~BIT_MASK_TABLE[(i)&7]) +#define READ_BIT(p,i) (p[(i)>>3] & BIT_MASK_TABLE[(i)&7]) + +CDMRTrellis::CDMRTrellis() +{ +} + +CDMRTrellis::~CDMRTrellis() +{ +} + +void CDMRTrellis::decode(const unsigned char* data, unsigned char* payload) +{ + assert(data != NULL); + assert(payload != NULL); + + CUtils::dump(1U, "Payload", data, DMR_FRAME_LENGTH_BYTES); + + // unsigned char points[49U]; + // deinterleave(data, points); +} + +void CDMRTrellis::encode(const unsigned char* payload, unsigned char* data) +{ + assert(payload != NULL); + assert(data != NULL); + + unsigned char tribits[49U]; + totribits(payload, tribits); + + unsigned char points[49U]; + unsigned char state = 0U; + + for (unsigned int i = 0U; i < 49U; i++) { + unsigned char tribit = tribits[i]; + + points[i] = ENCODE_TABLE[state * 8U + tribit]; + + state = tribit; + } + + interleave(points, data); +} + +void CDMRTrellis::deinterleave(const unsigned char* data, unsigned char* points) const +{ + for (unsigned int i = 0U; i < 49U; i++) { + unsigned int n = INTERLEAVE_TABLE[i] * 4U; + if (n > 108U) n += 48U; + + bool b1 = READ_BIT(data, n) != 0x00U; + n++; + bool b2 = READ_BIT(data, n) != 0x00U; + n++; + bool b3 = READ_BIT(data, n) != 0x00U; + n++; + bool b4 = READ_BIT(data, n) != 0x00U; + + unsigned int dibits = 0U; + dibits |= b1 ? 8U : 0U; + dibits |= b2 ? 4U : 0U; + dibits |= b3 ? 2U : 0U; + dibits |= b4 ? 1U : 0U; + + points[i] = DIBITS_TO_POINT[dibits]; + } +} + +void CDMRTrellis::interleave(const unsigned char* points, unsigned char* data) const +{ + for (unsigned int i = 0U; i < 49U; i++) { + unsigned char point = points[i]; + unsigned char dibits = POINT_TO_DIBITS[point]; + + bool b1 = (dibits & 0x08U) == 0x08U; + bool b2 = (dibits & 0x04U) == 0x04U; + bool b3 = (dibits & 0x02U) == 0x02U; + bool b4 = (dibits & 0x01U) == 0x01U; + + unsigned int n = INTERLEAVE_TABLE[i] * 4U; + if (n > 108U) n += 48U; + + WRITE_BIT(data, n, b1); + n++; + WRITE_BIT(data, n, b2); + n++; + WRITE_BIT(data, n, b3); + n++; + WRITE_BIT(data, n, b4); + } +} + +void CDMRTrellis::totribits(const unsigned char* payload, unsigned char* tribits) const +{ + for (unsigned int i = 0U; i < 48U; i++) { + unsigned int n = 143U - i * 3U; + + bool b1 = READ_BIT(payload, n) != 0x00U; + n--; + bool b2 = READ_BIT(payload, n) != 0x00U; + n--; + bool b3 = READ_BIT(payload, n) != 0x00U; + + unsigned char tribit = 0U; + tribit |= b1 ? 4U : 0U; + tribit |= b2 ? 2U : 0U; + tribit |= b3 ? 1U : 0U; + + tribits[i] = tribit; + } + + tribits[48U] = 0U; +} diff --git a/DMRTrellis.h b/DMRTrellis.h new file mode 100644 index 0000000..c3b852b --- /dev/null +++ b/DMRTrellis.h @@ -0,0 +1,31 @@ +/* +* Copyright (C) 2016 by Jonathan Naylor, G4KLX +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation; version 2 of the License. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +*/ + +#ifndef DMRTrellis_H +#define DMRTrellis_H + +class CDMRTrellis { +public: + CDMRTrellis(); + ~CDMRTrellis(); + + void decode(const unsigned char* data, unsigned char* payload); + void encode(const unsigned char* payload, unsigned char* data); + +private: + void deinterleave(const unsigned char* in, unsigned char* points) const; + void interleave(const unsigned char* points, unsigned char* out) const; + void totribits(const unsigned char* payload, unsigned char* tribits) const; +}; + +#endif diff --git a/MMDVMHost.vcxproj b/MMDVMHost.vcxproj index 1fc5912..6442ecb 100644 --- a/MMDVMHost.vcxproj +++ b/MMDVMHost.vcxproj @@ -165,6 +165,7 @@ + @@ -218,6 +219,7 @@ + diff --git a/MMDVMHost.vcxproj.filters b/MMDVMHost.vcxproj.filters index cf774a7..ad76229 100644 --- a/MMDVMHost.vcxproj.filters +++ b/MMDVMHost.vcxproj.filters @@ -167,6 +167,9 @@ Header Files + + Header Files + @@ -307,5 +310,8 @@ Source Files + + Source Files + \ No newline at end of file diff --git a/Makefile b/Makefile index d464064..64fa332 100644 --- a/Makefile +++ b/Makefile @@ -8,8 +8,8 @@ LDFLAGS = -g OBJECTS = \ AMBEFEC.o BPTC19696.o Conf.o CRC.o Display.o DMRControl.o DMRCSBK.o DMRData.o DMRDataHeader.o DMREMB.o DMREmbeddedLC.o DMRFullLC.o DMRIPSC.o DMRLookup.o DMRLC.o \ - DMRShortLC.o DMRSlot.o DMRSlotType.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o Golay24128.o Hamming.o Log.o MMDVMHost.o Modem.o \ - Nextion.o NullDisplay.o QR1676.o RS129.o SerialController.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o Utils.o YSFControl.o \ + DMRShortLC.o DMRSlot.o DMRSlotType.o DMRTrellis.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o Golay24128.o Hamming.o Log.o MMDVMHost.o \ + Modem.o Nextion.o NullDisplay.o QR1676.o RS129.o SerialController.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o Utils.o YSFControl.o \ YSFConvolution.o YSFFICH.o YSFNetwork.o YSFPayload.o all: MMDVMHost diff --git a/Makefile.Pi.Adafruit b/Makefile.Pi.Adafruit index 7e5a9a5..e336fbb 100644 --- a/Makefile.Pi.Adafruit +++ b/Makefile.Pi.Adafruit @@ -8,9 +8,9 @@ LDFLAGS = -g -L/usr/local/lib OBJECTS = \ AMBEFEC.o BPTC19696.o Conf.o CRC.o Display.o DMRControl.o DMRCSBK.o DMRData.o DMRDataHeader.o DMREMB.o DMREmbeddedLC.o DMRFullLC.o DMRIPSC.o DMRLookup.o DMRLC.o \ - DMRShortLC.o DMRSlot.o DMRSlotType.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o Golay24128.o Hamming.o HD44780.o Log.o MMDVMHost.o \ - Modem.o Nextion.o NullDisplay.o QR1676.o RS129.o SerialController.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o Utils.o YSFControl.o \ - YSFConvolution.o YSFFICH.o YSFNetwork.o YSFPayload.o + DMRShortLC.o DMRSlot.o DMRSlotType.o DMRTrellis.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o Golay24128.o Hamming.o HD44780.o Log.o \ + MMDVMHost.o Modem.o Nextion.o NullDisplay.o QR1676.o RS129.o SerialController.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o Utils.o \ + YSFControl.o YSFConvolution.o YSFFICH.o YSFNetwork.o YSFPayload.o all: MMDVMHost diff --git a/Makefile.Pi.HD44780 b/Makefile.Pi.HD44780 index e44d606..fa04657 100644 --- a/Makefile.Pi.HD44780 +++ b/Makefile.Pi.HD44780 @@ -8,9 +8,9 @@ LDFLAGS = -g -L/usr/local/lib OBJECTS = \ AMBEFEC.o BPTC19696.o Conf.o CRC.o Display.o DMRControl.o DMRCSBK.o DMRData.o DMRDataHeader.o DMREMB.o DMREmbeddedLC.o DMRFullLC.o DMRIPSC.o DMRLookup.o DMRLC.o \ - DMRShortLC.o DMRSlot.o DMRSlotType.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o Golay24128.o Hamming.o HD44780.o Log.o MMDVMHost.o \ - Modem.o Nextion.o NullDisplay.o QR1676.o RS129.o SerialController.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o Utils.o YSFControl.o \ - YSFConvolution.o YSFFICH.o YSFNetwork.o YSFPayload.o + DMRShortLC.o DMRSlot.o DMRSlotType.o DMRTrellis.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o Golay24128.o Hamming.o HD44780.o Log.o \ + MMDVMHost.o Modem.o Nextion.o NullDisplay.o QR1676.o RS129.o SerialController.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o Utils.o \ + YSFControl.o YSFConvolution.o YSFFICH.o YSFNetwork.o YSFPayload.o all: MMDVMHost diff --git a/Makefile.Pi.OLED b/Makefile.Pi.OLED index 7af4bed..37103d9 100644 --- a/Makefile.Pi.OLED +++ b/Makefile.Pi.OLED @@ -8,9 +8,9 @@ LDFLAGS = -g -L/usr/local/lib OBJECTS = \ AMBEFEC.o BPTC19696.o Conf.o CRC.o Display.o DMRControl.o DMRCSBK.o DMRData.o DMRDataHeader.o DMREMB.o DMREmbeddedLC.o DMRFullLC.o DMRIPSC.o DMRLookup.o DMRLC.o \ - DMRShortLC.o DMRSlot.o DMRSlotType.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o Golay24128.o Hamming.o OLED.o Log.o MMDVMHost.o \ - Modem.o Nextion.o NullDisplay.o QR1676.o RS129.o SerialController.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o Utils.o YSFControl.o \ - YSFConvolution.o YSFFICH.o YSFNetwork.o YSFPayload.o + DMRShortLC.o DMRSlot.o DMRSlotType.o DMRTrellis.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o Golay24128.o Hamming.o OLED.o Log.o \ + MMDVMHost.o Modem.o Nextion.o NullDisplay.o QR1676.o RS129.o SerialController.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o Utils.o \ + YSFControl.o YSFConvolution.o YSFFICH.o YSFNetwork.o YSFPayload.o all: MMDVMHost diff --git a/Makefile.Pi.PCF8574 b/Makefile.Pi.PCF8574 index 9cdc7c3..b47dd3c 100644 --- a/Makefile.Pi.PCF8574 +++ b/Makefile.Pi.PCF8574 @@ -8,9 +8,9 @@ LDFLAGS = -g -L/usr/local/lib OBJECTS = \ AMBEFEC.o BPTC19696.o Conf.o CRC.o Display.o DMRControl.o DMRCSBK.o DMRData.o DMRDataHeader.o DMREMB.o DMREmbeddedLC.o DMRFullLC.o DMRIPSC.o DMRLookup.o DMRLC.o \ - DMRShortLC.o DMRSlot.o DMRSlotType.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o Golay24128.o Hamming.o HD44780.o Log.o MMDVMHost.o \ - Modem.o Nextion.o NullDisplay.o QR1676.o RS129.o SerialController.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o Utils.o YSFControl.o \ - YSFConvolution.o YSFFICH.o YSFNetwork.o YSFPayload.o + DMRShortLC.o DMRSlot.o DMRSlotType.o DMRTrellis.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o Golay24128.o Hamming.o HD44780.o Log.o \ + MMDVMHost.o Modem.o Nextion.o NullDisplay.o QR1676.o RS129.o SerialController.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o Utils.o \ + YSFControl.o YSFConvolution.o YSFFICH.o YSFNetwork.o YSFPayload.o all: MMDVMHost