diff --git a/Builds/Linux/Makefile b/Builds/Linux/Makefile index 61bf421..d073d24 100644 --- a/Builds/Linux/Makefile +++ b/Builds/Linux/Makefile @@ -19,7 +19,7 @@ ifeq ($(CONFIG),Debug) endif CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "radio_float_t=float" -D "fir_float_t=float" -D "JUCER_LINUX_MAKE_7346DA2A=1" -D "JUCE_APP_VERSION=1.0.0" -D "JUCE_APP_VERSION_HEX=0x10000" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../JuceLibraryCode/modules -I ../../../../libsrc -I ../../Source - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 -std=c++11 + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 -std=c++11 -pg CXXFLAGS += $(CFLAGS) LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -L../../../../libsrc/radio/build/linux -L../../../../libsrc/fir/build/linux -L../../../../libsrc/crc/build/linux -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lradio -lfir -lcrc LDDEPS := @@ -39,12 +39,12 @@ ifeq ($(CONFIG),Release) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "NDEBUG=1" -D "radio_float_t=float" -D "fir_float_t=float" -D "JUCER_LINUX_MAKE_7346DA2A=1" -D "JUCE_APP_VERSION=1.0.0" -D "JUCE_APP_VERSION_HEX=0x10000" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../JuceLibraryCode/modules -I ../../../../libsrc -I ../../Source - CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -Os -std=c++11 + CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "radio_float_t=float" -D "fir_float_t=float" -D "JUCER_LINUX_MAKE_7346DA2A=1" -D "JUCE_APP_VERSION=1.0.0" -D "JUCE_APP_VERSION_HEX=0x10000" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../JuceLibraryCode/modules -I ../../../../libsrc -I ../../Source + CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O3 -std=c++11 -pg CXXFLAGS += $(CFLAGS) - LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ -L../../../../libsrc/radio/build/linux -L../../../../libsrc/fir/build/linux -L../../../../libsrc/crc/build/linux -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lradio -lfir -lcrc + LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -L../../../../libsrc/radio/build/linux -L../../../../libsrc/fir/build/linux -L../../../../libsrc/crc/build/linux -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt -lradio -lfir -lcrc LDDEPS := - RESFLAGS := -D "LINUX=1" -D "NDEBUG=1" -D "radio_float_t=float" -D "fir_float_t=float" -D "JUCER_LINUX_MAKE_7346DA2A=1" -D "JUCE_APP_VERSION=1.0.0" -D "JUCE_APP_VERSION_HEX=0x10000" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../JuceLibraryCode/modules -I ../../../../libsrc -I ../../Source + RESFLAGS := -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "radio_float_t=float" -D "fir_float_t=float" -D "JUCER_LINUX_MAKE_7346DA2A=1" -D "JUCE_APP_VERSION=1.0.0" -D "JUCE_APP_VERSION_HEX=0x10000" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../JuceLibraryCode/modules -I ../../../../libsrc -I ../../Source TARGET := M-PSK\ Receiver BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) diff --git a/M-PSK Receiver.jucer b/M-PSK Receiver.jucer index ac3601c..1e93bef 100644 --- a/M-PSK Receiver.jucer +++ b/M-PSK Receiver.jucer @@ -35,13 +35,13 @@ + extraDefs="" extraCompilerFlags="-std=c++11 -pg"> diff --git a/Source/GraphComponent.cpp b/Source/GraphComponent.cpp index aa4e16d..8bfe3e3 100644 --- a/Source/GraphComponent.cpp +++ b/Source/GraphComponent.cpp @@ -193,6 +193,9 @@ void GraphComponent::setGraphBounds(float minX, float maxX, float minY, float ma float GraphComponent::getScreenCoordX(float x) { + if (isnan(x) || isinf(x)) + return 0; + if ((x > m_graphMaxX) || (x < m_graphMinX)) return 0; @@ -201,6 +204,9 @@ float GraphComponent::getScreenCoordX(float x) float GraphComponent::getScreenCoordY(float y) { + if (isnan(y) || isinf(y)) + return 0; + if ((y > m_graphMaxY) || (y < m_graphMinY)) return 0; diff --git a/Source/IQPlaneComponent.cpp b/Source/IQPlaneComponent.cpp index 73be591..3220e3c 100644 --- a/Source/IQPlaneComponent.cpp +++ b/Source/IQPlaneComponent.cpp @@ -19,7 +19,7 @@ //[Headers] You can add your own extra header files here... //[/Headers] - +#include #include "IQPlaneComponent.h" @@ -158,6 +158,9 @@ void IQPlaneComponent::pointAdd(sym_err_t *pPoint, uint32_t numPoints) float IQPlaneComponent::getScreenCoordX(float x) { + if (isnan(x) || isinf(x)) + return 0; + if ((x > 1.0) || (x < -1.0)) return 0; @@ -166,6 +169,9 @@ float IQPlaneComponent::getScreenCoordX(float x) float IQPlaneComponent::getScreenCoordY(float y) { + if (isnan(y) || isinf(y)) + return 0; + if ((y > 1.0) || (y < -1.0)) return 0; diff --git a/Source/Receiver.cpp b/Source/Receiver.cpp index 5ea3501..8ffd94b 100644 --- a/Source/Receiver.cpp +++ b/Source/Receiver.cpp @@ -1003,9 +1003,26 @@ void Receiver::processPassband(float *pRF, uint32_t len) const ScopedLock sl (m_lock); uint32_t len_down; + float test4normal; if (!m_ReceiverEnable) + { return; + } + + test4normal = 0; + for (uint32_t i=0; i < len; i++) + { + test4normal += pRF[i]; + } + if (isnan(test4normal)) + { + return; + } + if (dabs(test4normal/len) > 10) + { + return; + } SlidingVarProcessV(&m_statistics.RF, pRF, len); diff --git a/Source/Transmitter.h b/Source/Transmitter.h index 8674e76..5c9bf83 100644 --- a/Source/Transmitter.h +++ b/Source/Transmitter.h @@ -209,6 +209,8 @@ private: void setSamplerate(float samplerate_hz) override { m_samplerate = samplerate_hz; + m_carrierFreq = samplerate_hz/4; + m_symbolrate = samplerate_hz/4; paramChanged(); } void setCarrierFrequency(float frequency_hz) override