From 5c9abf2eeb6a45b8be20e0497a2d26b3e17ea4e6 Mon Sep 17 00:00:00 2001 From: phl0 Date: Tue, 18 Sep 2018 10:33:33 +0200 Subject: [PATCH 1/5] Only need rawRSSI variable if SEND_RSSI is defined --- IOSTM_CMSIS.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/IOSTM_CMSIS.cpp b/IOSTM_CMSIS.cpp index b669d07..ce498d4 100644 --- a/IOSTM_CMSIS.cpp +++ b/IOSTM_CMSIS.cpp @@ -369,7 +369,9 @@ void CIO::interrupt() { uint8_t control = MARK_NONE; uint16_t sample = DC_OFFSET; +#if defined(SEND_RSSI_DATA) uint16_t rawRSSI = 0U; +#endif bitband_t eoc = (bitband_t)BITBAND_PERIPH(&ADC1->SR, ADC_SR_EOS_Pos); bitband_t adon = (bitband_t)BITBAND_PERIPH(&ADC1->CR2, ADC_CR2_ADON_Pos); #if defined(SEND_RSSI_DATA) From 4d780389bf2f894c59d2e94ef5329d4b19c24191 Mon Sep 17 00:00:00 2001 From: phl0 Date: Tue, 18 Sep 2018 10:46:24 +0200 Subject: [PATCH 2/5] Add GitVersion target to Makefile.CMSIS --- Makefile.CMSIS | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/Makefile.CMSIS b/Makefile.CMSIS index a4ee604..3573d6f 100644 --- a/Makefile.CMSIS +++ b/Makefile.CMSIS @@ -65,7 +65,7 @@ COMMON_FLAGS =-mthumb -mlittle-endian -mcpu=$(MCPU) COMMON_FLAGS+= -Wall COMMON_FLAGS+= -I. -I$(CMSISDIR)/Include -I$(CMSISDIR)/Device/ST/STM32F1xx/Include -I$(SYSDIR) COMMON_FLAGS+= $(addprefix -I,$(INCDIR)) -COMMON_FLAGS+= -D$(MCU) +COMMON_FLAGS+= -D$(MCU) -DMADEBYMAKEFILE COMMON_FLAGS+= -Os -flto -ffunction-sections -fdata-sections COMMON_FLAGS+= -g # Assembler flags @@ -91,7 +91,7 @@ DEPENDS:=$(CSRC:%.c=$(OBJDIR)/%.d) $(CXXSRC:%.cpp=$(OBJDIR)/%.d) # Targets .PHONY: all -all: $(DIS) $(HEX) +all: GitVersion.h $(DIS) $(HEX) $(SIZE) $(ELF) .PHONY: program @@ -116,7 +116,7 @@ debug: $(ELF) .PHONY: clean clean: - $(RM) $(OBJ) $(HEX) $(ELF) $(DIS) $(MAP) $(DEPENDS) + $(RM) $(OBJ) $(HEX) $(ELF) $(DIS) $(MAP) $(DEPENDS) GitVersion.h # implicit rules .elf.hex: @@ -149,3 +149,17 @@ $(DIS): $(ELF) # include dependecies -include $(DEPENDS) + +# Export the current git version if the index file exists, else 000... +GitVersion.h: +ifdef SYSTEMROOT + echo #define GITVERSION "0000000" > $@ +else ifdef SystemRoot + echo #define GITVERSION "0000000" > $@ +else +ifneq ("$(wildcard .git/index)","") + echo "#define GITVERSION \"$(shell git rev-parse --short HEAD)\"" > $@ +else + echo "#define GITVERSION \"0000000\"" > $@ +endif +endif From c0952d73d11aa1113502dcf7c778cec2bdf62c2e Mon Sep 17 00:00:00 2001 From: Shawn Chain Date: Tue, 18 Sep 2018 21:19:50 +0800 Subject: [PATCH 3/5] Fixed the concat macro error if no GITVERSION is defined, which is introduced by my previous changes. --- SerialPort.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SerialPort.cpp b/SerialPort.cpp index d3afef8..c0ee778 100644 --- a/SerialPort.cpp +++ b/SerialPort.cpp @@ -103,7 +103,7 @@ const uint8_t MMDVM_DEBUG5 = 0xF5U; const char HARDWARE[] = concat(HW_TYPE, DESCRIPTION, TCXO, GITVERSION); #else #define concat(h, a, b, c, d) h " " a " " b " (Build: " c " " d ")" -const char HARDWARE[] = concat(DESCRIPTION, TCXO, __TIME__, __DATE__); +const char HARDWARE[] = concat(HW_TYPE, DESCRIPTION, TCXO, __TIME__, __DATE__); #endif const uint8_t PROTOCOL_VERSION = 1U; From d7526891c54a1344e1c5c1f536fa54621b29946c Mon Sep 17 00:00:00 2001 From: Andy CA6JAU Date: Sun, 7 Oct 2018 21:10:34 -0300 Subject: [PATCH 4/5] Restore ring buffer default size --- SerialRB.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/SerialRB.h b/SerialRB.h index ee244d2..7b6b7b9 100644 --- a/SerialRB.h +++ b/SerialRB.h @@ -32,11 +32,7 @@ Boston, MA 02110-1301, USA. #include #endif -#if defined(STM32F105xC) || defined(__MK20DX256__) const uint16_t SERIAL_RINGBUFFER_SIZE = 370U; -#else -const uint16_t SERIAL_RINGBUFFER_SIZE = 1000U; -#endif class CSerialRB { public: From 3bae422a8e2886d8571fbea4647947727944b6e7 Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Mon, 8 Oct 2018 10:19:31 -0400 Subject: [PATCH 5/5] fix proper PDU reception and processing; --- P25Defines.h | 5 +++++ P25RX.cpp | 14 +++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/P25Defines.h b/P25Defines.h index e4fa287..bb44914 100644 --- a/P25Defines.h +++ b/P25Defines.h @@ -47,6 +47,11 @@ const unsigned int P25_TSDU_FRAME_LENGTH_BITS = P25_TSDU_FRAME_LENGTH_BYTES const unsigned int P25_TSDU_FRAME_LENGTH_SYMBOLS = P25_TSDU_FRAME_LENGTH_BYTES * 4U; const unsigned int P25_TSDU_FRAME_LENGTH_SAMPLES = P25_TSDU_FRAME_LENGTH_SYMBOLS * P25_RADIO_SYMBOL_LENGTH; +const unsigned int P25_PDU_HDR_FRAME_LENGTH_BYTES = 45U; +const unsigned int P25_PDU_HDR_FRAME_LENGTH_BITS = P25_PDU_HDR_FRAME_LENGTH_BYTES * 8U; +const unsigned int P25_PDU_HDR_FRAME_LENGTH_SYMBOLS = P25_PDU_HDR_FRAME_LENGTH_BYTES * 4U; +const unsigned int P25_PDU_HDR_FRAME_LENGTH_SAMPLES = P25_PDU_HDR_FRAME_LENGTH_SYMBOLS * P25_RADIO_SYMBOL_LENGTH; + const unsigned int P25_SYNC_LENGTH_BYTES = 6U; const unsigned int P25_SYNC_LENGTH_BITS = P25_SYNC_LENGTH_BYTES * 8U; const unsigned int P25_SYNC_LENGTH_SYMBOLS = P25_SYNC_LENGTH_BYTES * 4U; diff --git a/P25RX.cpp b/P25RX.cpp index 54d4237..d322db0 100644 --- a/P25RX.cpp +++ b/P25RX.cpp @@ -199,7 +199,19 @@ void CP25RX::processHdr(q15_t sample) serial.writeP25Hdr(frame, P25_HDR_FRAME_LENGTH_BYTES + 1U); } break; - case P25_DUID_TSDU: { + case P25_DUID_PDU: { + calculateLevels(m_hdrSyncPtr, P25_PDU_HDR_FRAME_LENGTH_SYMBOLS); + + DEBUG4("P25RX: sync found in PDU pos/centre/threshold", m_hdrSyncPtr, m_centreVal, m_thresholdVal); + + uint8_t frame[P25_PDU_HDR_FRAME_LENGTH_BYTES + 1U]; + samplesToBits(m_hdrSyncPtr, P25_PDU_HDR_FRAME_LENGTH_SYMBOLS, frame, 8U, m_centreVal, m_thresholdVal); + + frame[0U] = 0x01U; + serial.writeP25Hdr(frame, P25_PDU_HDR_FRAME_LENGTH_BYTES + 1U); + } + break; + case P25_DUID_TSDU: { calculateLevels(m_hdrStartPtr, P25_TSDU_FRAME_LENGTH_SYMBOLS); DEBUG4("P25RX: sync found in TSDU pos/centre/threshold", m_hdrSyncPtr, m_centreVal, m_thresholdVal);