- compile clean for gcc

git-svn-id: http://moon:8086/svn/software/trunk/projects/mpsk_rx_gui@11 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2014-07-19 13:02:37 +00:00
parent 00ecb0a6c1
commit 18b4fa3b5c
15 changed files with 143 additions and 113 deletions
+32 -8
View File
@@ -18,12 +18,12 @@ ifeq ($(CONFIG),Debug)
TARGET_ARCH := -march=native TARGET_ARCH := -march=native
endif endif
CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -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 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 CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 -std=c++11
CXXFLAGS += $(CFLAGS) CXXFLAGS += $(CFLAGS)
LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt 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 := LDDEPS :=
RESFLAGS := -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -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 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 TARGET := M-PSK\ Receiver
BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR)
@@ -39,18 +39,22 @@ ifeq ($(CONFIG),Release)
TARGET_ARCH := -march=native TARGET_ARCH := -march=native
endif endif
CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "NDEBUG=1" -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 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 CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -Os -std=c++11
CXXFLAGS += $(CFLAGS) CXXFLAGS += $(CFLAGS)
LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt 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
LDDEPS := LDDEPS :=
RESFLAGS := -D "LINUX=1" -D "NDEBUG=1" -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 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
TARGET := M-PSK\ Receiver TARGET := M-PSK\ Receiver
BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH) BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR) CLEANCMD = rm -rf $(OUTDIR)/$(TARGET) $(OBJDIR)
endif endif
OBJECTS := \ OBJECTS := \
$(OBJDIR)/GraphComponent_e41edf58.o \
$(OBJDIR)/LogComponent_246d8222.o \
$(OBJDIR)/Receiver_5b8294f8.o \
$(OBJDIR)/Transmitter_8ab42952.o \
$(OBJDIR)/ControlComponent_df0ca6a9.o \ $(OBJDIR)/ControlComponent_df0ca6a9.o \
$(OBJDIR)/IQPoint_361399c9.o \ $(OBJDIR)/IQPoint_361399c9.o \
$(OBJDIR)/IQPlaneComponent_22dd1f32.o \ $(OBJDIR)/IQPlaneComponent_22dd1f32.o \
@@ -88,6 +92,26 @@ strip:
@echo Stripping M-QAM Transceiver @echo Stripping M-QAM Transceiver
-@strip --strip-unneeded $(OUTDIR)/$(TARGET) -@strip --strip-unneeded $(OUTDIR)/$(TARGET)
$(OBJDIR)/GraphComponent_e41edf58.o: ../../Source/GraphComponent.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling GraphComponent.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
$(OBJDIR)/LogComponent_246d8222.o: ../../Source/LogComponent.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling LogComponent.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
$(OBJDIR)/Receiver_5b8294f8.o: ../../Source/Receiver.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling Receiver.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
$(OBJDIR)/Transmitter_8ab42952.o: ../../Source/Transmitter.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling Transmitter.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
$(OBJDIR)/ControlComponent_df0ca6a9.o: ../../Source/ControlComponent.cpp $(OBJDIR)/ControlComponent_df0ca6a9.o: ../../Source/ControlComponent.cpp
-@mkdir -p $(OBJDIR) -@mkdir -p $(OBJDIR)
@echo "Compiling ControlComponent.cpp" @echo "Compiling ControlComponent.cpp"
+2 -2
View File
@@ -53,11 +53,11 @@
#endif #endif
#ifndef JUCE_ALSA #ifndef JUCE_ALSA
//#define JUCE_ALSA #define JUCE_ALSA 0
#endif #endif
#ifndef JUCE_JACK #ifndef JUCE_JACK
//#define JUCE_JACK #define JUCE_JACK 1
#endif #endif
#ifndef JUCE_USE_ANDROID_OPENSLES #ifndef JUCE_USE_ANDROID_OPENSLES
@@ -53,8 +53,8 @@ namespace FloatVectorHelpers
static forcedinline ParallelType load1 (Type v) noexcept { return _mm_load1_ps (&v); } static forcedinline ParallelType load1 (Type v) noexcept { return _mm_load1_ps (&v); }
static forcedinline ParallelType loadA (const Type* v) noexcept { return _mm_load_ps (v); } static forcedinline ParallelType loadA (const Type* v) noexcept { return _mm_load_ps (v); }
static forcedinline ParallelType loadU (const Type* v) noexcept { return _mm_loadu_ps (v); } static forcedinline ParallelType loadU (const Type* v) noexcept { return _mm_loadu_ps (v); }
static forcedinline void storeA (Type* dest, ParallelType a) noexcept { return _mm_store_ps (dest, a); } static forcedinline void storeA (Type* dest, ParallelType a) noexcept { _mm_store_ps (dest, a); }
static forcedinline void storeU (Type* dest, ParallelType a) noexcept { return _mm_storeu_ps (dest, a); } static forcedinline void storeU (Type* dest, ParallelType a) noexcept { _mm_storeu_ps (dest, a); }
static forcedinline ParallelType add (ParallelType a, ParallelType b) noexcept { return _mm_add_ps (a, b); } static forcedinline ParallelType add (ParallelType a, ParallelType b) noexcept { return _mm_add_ps (a, b); }
static forcedinline ParallelType sub (ParallelType a, ParallelType b) noexcept { return _mm_sub_ps (a, b); } static forcedinline ParallelType sub (ParallelType a, ParallelType b) noexcept { return _mm_sub_ps (a, b); }
@@ -75,8 +75,8 @@ namespace FloatVectorHelpers
static forcedinline ParallelType load1 (Type v) noexcept { return _mm_load1_pd (&v); } static forcedinline ParallelType load1 (Type v) noexcept { return _mm_load1_pd (&v); }
static forcedinline ParallelType loadA (const Type* v) noexcept { return _mm_load_pd (v); } static forcedinline ParallelType loadA (const Type* v) noexcept { return _mm_load_pd (v); }
static forcedinline ParallelType loadU (const Type* v) noexcept { return _mm_loadu_pd (v); } static forcedinline ParallelType loadU (const Type* v) noexcept { return _mm_loadu_pd (v); }
static forcedinline void storeA (Type* dest, ParallelType a) noexcept { return _mm_store_pd (dest, a); } static forcedinline void storeA (Type* dest, ParallelType a) noexcept { _mm_store_pd (dest, a); }
static forcedinline void storeU (Type* dest, ParallelType a) noexcept { return _mm_storeu_pd (dest, a); } static forcedinline void storeU (Type* dest, ParallelType a) noexcept { _mm_storeu_pd (dest, a); }
static forcedinline ParallelType add (ParallelType a, ParallelType b) noexcept { return _mm_add_pd (a, b); } static forcedinline ParallelType add (ParallelType a, ParallelType b) noexcept { return _mm_add_pd (a, b); }
static forcedinline ParallelType sub (ParallelType a, ParallelType b) noexcept { return _mm_sub_pd (a, b); } static forcedinline ParallelType sub (ParallelType a, ParallelType b) noexcept { return _mm_sub_pd (a, b); }
@@ -134,8 +134,8 @@ namespace FloatVectorHelpers
static forcedinline ParallelType load1 (Type v) noexcept { return vld1q_dup_f32 (&v); } static forcedinline ParallelType load1 (Type v) noexcept { return vld1q_dup_f32 (&v); }
static forcedinline ParallelType loadA (const Type* v) noexcept { return vld1q_f32 (v); } static forcedinline ParallelType loadA (const Type* v) noexcept { return vld1q_f32 (v); }
static forcedinline ParallelType loadU (const Type* v) noexcept { return vld1q_f32 (v); } static forcedinline ParallelType loadU (const Type* v) noexcept { return vld1q_f32 (v); }
static forcedinline void storeA (Type* dest, ParallelType a) noexcept { return vst1q_f32 (dest, a); } static forcedinline void storeA (Type* dest, ParallelType a) noexcept { vst1q_f32 (dest, a); }
static forcedinline void storeU (Type* dest, ParallelType a) noexcept { return vst1q_f32 (dest, a); } static forcedinline void storeU (Type* dest, ParallelType a) noexcept { vst1q_f32 (dest, a); }
static forcedinline ParallelType add (ParallelType a, ParallelType b) noexcept { return vaddq_f32 (a, b); } static forcedinline ParallelType add (ParallelType a, ParallelType b) noexcept { return vaddq_f32 (a, b); }
static forcedinline ParallelType sub (ParallelType a, ParallelType b) noexcept { return vsubq_f32 (a, b); } static forcedinline ParallelType sub (ParallelType a, ParallelType b) noexcept { return vsubq_f32 (a, b); }
@@ -156,8 +156,8 @@ namespace FloatVectorHelpers
static forcedinline ParallelType load1 (Type v) noexcept { return v; } static forcedinline ParallelType load1 (Type v) noexcept { return v; }
static forcedinline ParallelType loadA (const Type* v) noexcept { return *v; } static forcedinline ParallelType loadA (const Type* v) noexcept { return *v; }
static forcedinline ParallelType loadU (const Type* v) noexcept { return *v; } static forcedinline ParallelType loadU (const Type* v) noexcept { return *v; }
static forcedinline void storeA (Type* dest, ParallelType a) noexcept { return *dest = a; } static forcedinline void storeA (Type* dest, ParallelType a) noexcept { *dest = a; }
static forcedinline void storeU (Type* dest, ParallelType a) noexcept { return *dest = a; } static forcedinline void storeU (Type* dest, ParallelType a) noexcept { *dest = a; }
static forcedinline ParallelType add (ParallelType a, ParallelType b) noexcept { return a + b; } static forcedinline ParallelType add (ParallelType a, ParallelType b) noexcept { return a + b; }
static forcedinline ParallelType sub (ParallelType a, ParallelType b) noexcept { return a - b; } static forcedinline ParallelType sub (ParallelType a, ParallelType b) noexcept { return a - b; }
@@ -549,9 +549,9 @@ void FloatVectorOperations::negate (double* dest, const double* src, int num) no
void JUCE_CALLTYPE FloatVectorOperations::convertFixedToFloat (float* dest, const int* src, float multiplier, int num) noexcept void JUCE_CALLTYPE FloatVectorOperations::convertFixedToFloat (float* dest, const int* src, float multiplier, int num) noexcept
{ {
#if JUCE_USE_ARM_NEON #if JUCE_USE_ARM_NEON
JUCE_PERFORM_NEON_OP_SRC_DEST (dest[i] = src[i] * multiplier, JUCE_PERFORM_VEC_OP_SRC_DEST (dest[i] = src[i] * multiplier,
vmulq_n_f32 (vcvtq_f32_s32 (vld1q_s32 (src)), multiplier), vmulq_n_f32 (vcvtq_f32_s32 (vld1q_s32 (src)), multiplier),
JUCE_LOAD_NONE) JUCE_LOAD_NONE, JUCE_INCREMENT_SRC_DEST, )
#else #else
JUCE_PERFORM_VEC_OP_SRC_DEST (dest[i] = src[i] * multiplier, JUCE_PERFORM_VEC_OP_SRC_DEST (dest[i] = src[i] * multiplier,
Mode::mul (mult, _mm_cvtepi32_ps (_mm_loadu_si128 ((const __m128i*) src))), Mode::mul (mult, _mm_cvtepi32_ps (_mm_loadu_si128 ((const __m128i*) src))),
@@ -90,10 +90,10 @@ void Synthesiser::clearVoices()
voices.clear(); voices.clear();
} }
void Synthesiser::addVoice (SynthesiserVoice* const newVoice) SynthesiserVoice* Synthesiser::addVoice (SynthesiserVoice* const newVoice)
{ {
const ScopedLock sl (lock); const ScopedLock sl (lock);
voices.add (newVoice); return voices.add (newVoice);
} }
void Synthesiser::removeVoice (const int index) void Synthesiser::removeVoice (const int index)
@@ -108,10 +108,10 @@ void Synthesiser::clearSounds()
sounds.clear(); sounds.clear();
} }
void Synthesiser::addSound (const SynthesiserSound::Ptr& newSound) SynthesiserSound* Synthesiser::addSound (const SynthesiserSound::Ptr& newSound)
{ {
const ScopedLock sl (lock); const ScopedLock sl (lock);
sounds.add (newSound); return sounds.add (newSound);
} }
void Synthesiser::removeSound (const int index) void Synthesiser::removeSound (const int index)
@@ -294,7 +294,7 @@ public:
it later on when no longer needed. The caller should not retain a pointer to the it later on when no longer needed. The caller should not retain a pointer to the
voice. voice.
*/ */
void addVoice (SynthesiserVoice* newVoice); SynthesiserVoice* addVoice (SynthesiserVoice* newVoice);
/** Deletes one of the voices. */ /** Deletes one of the voices. */
void removeVoice (int index); void removeVoice (int index);
@@ -311,10 +311,10 @@ public:
/** Adds a new sound to the synthesiser. /** Adds a new sound to the synthesiser.
The object passed in is reference counted, so will be deleted when it is removed The object passed in is reference counted, so will be deleted when the
from the synthesiser, and when no voices are still using it. synthesiser and all voices are no longer using it.
*/ */
void addSound (const SynthesiserSound::Ptr& newSound); SynthesiserSound* addSound (const SynthesiserSound::Ptr& newSound);
/** Removes and deletes one of the sounds. */ /** Removes and deletes one of the sounds. */
void removeSound (int index); void removeSound (int index);
@@ -111,7 +111,6 @@ static void createPluginDescription (PluginDescription& description,
description.lastFileModTime = pluginFile.getLastModificationTime(); description.lastFileModTime = pluginFile.getLastModificationTime();
description.manufacturerName = company; description.manufacturerName = company;
description.name = name; description.name = name;
description.descriptiveName = name;
description.pluginFormatName = "VST3"; description.pluginFormatName = "VST3";
description.numInputChannels = numInputs; description.numInputChannels = numInputs;
description.numOutputChannels = numOutputs; description.numOutputChannels = numOutputs;
@@ -30,8 +30,8 @@ LookAndFeel_V3::LookAndFeel_V3()
setColour (TextButton::buttonColourId, textButtonColour); setColour (TextButton::buttonColourId, textButtonColour);
setColour (ComboBox::buttonColourId, textButtonColour); setColour (ComboBox::buttonColourId, textButtonColour);
setColour (TextEditor::outlineColourId, Colours::transparentBlack); setColour (TextEditor::outlineColourId, Colours::transparentBlack);
setColour (TabbedButtonBar::tabOutlineColourId, Colour (0x66000000)); setColour (TabbedButtonBar::tabOutlineColourId, Colour (0xff999999));
setColour (TabbedComponent::outlineColourId, Colour (0x66000000)); setColour (TabbedComponent::outlineColourId, Colour (0xff999999));
setColour (Slider::trackColourId, Colour (0xbbffffff)); setColour (Slider::trackColourId, Colour (0xbbffffff));
setColour (Slider::thumbColourId, Colour (0xffddddff)); setColour (Slider::thumbColourId, Colour (0xffddddff));
setColour (BubbleComponent::backgroundColourId, Colour (0xeeeeeedd)); setColour (BubbleComponent::backgroundColourId, Colour (0xeeeeeedd));
@@ -145,6 +145,11 @@ public:
{ {
ScopedPointer<MessageManagerLock> mmLock; ScopedPointer<MessageManagerLock> mmLock;
const Rectangle<int> screenBounds (component.getTopLevelComponent()->getScreenBounds());
if (lastScreenBounds != screenBounds)
updateViewportSize (false);
const bool isUpdating = needsUpdate.compareAndSetBool (0, 1); const bool isUpdating = needsUpdate.compareAndSetBool (0, 1);
if (context.renderComponents && isUpdating) if (context.renderComponents && isUpdating)
@@ -156,8 +161,6 @@ public:
mmLock = new MessageManagerLock (this); // need to acquire this before locking the context. mmLock = new MessageManagerLock (this); // need to acquire this before locking the context.
if (! mmLock->lockWasGained()) if (! mmLock->lockWasGained())
return false; return false;
updateViewportSize (false);
} }
if (! context.makeActive()) if (! context.makeActive())
@@ -216,19 +219,13 @@ public:
} }
} }
void checkViewportBounds()
{
const Rectangle<int> screenBounds (component.getTopLevelComponent()->getScreenBounds());
if (lastScreenBounds != screenBounds)
updateViewportSize (true);
}
void paintComponent() void paintComponent()
{ {
// you mustn't set your own cached image object when attaching a GL context! // you mustn't set your own cached image object when attaching a GL context!
jassert (get (component) == this); jassert (get (component) == this);
updateViewportSize (false);
if (! ensureFrameBufferSize()) if (! ensureFrameBufferSize())
return; return;
@@ -466,8 +463,7 @@ void OpenGLContext::NativeContext::renderCallback()
#endif #endif
//============================================================================== //==============================================================================
class OpenGLContext::Attachment : public ComponentMovementWatcher, class OpenGLContext::Attachment : public ComponentMovementWatcher
private Timer
{ {
public: public:
Attachment (OpenGLContext& c, Component& comp) Attachment (OpenGLContext& c, Component& comp)
@@ -568,14 +564,10 @@ private:
comp.setCachedComponentImage (newCachedImage); comp.setCachedComponentImage (newCachedImage);
newCachedImage->start(); // (must wait until this is attached before starting its thread) newCachedImage->start(); // (must wait until this is attached before starting its thread)
newCachedImage->updateViewportSize (true); newCachedImage->updateViewportSize (true);
startTimer (400);
} }
void detach() void detach()
{ {
stopTimer();
Component& comp = *getComponent(); Component& comp = *getComponent();
#if JUCE_MAC #if JUCE_MAC
@@ -588,12 +580,6 @@ private:
comp.setCachedComponentImage (nullptr); comp.setCachedComponentImage (nullptr);
context.nativeContext = nullptr; context.nativeContext = nullptr;
} }
void timerCallback() override
{
if (CachedImage* const cachedImage = CachedImage::get (*getComponent()))
cachedImage->checkViewportBounds();
}
}; };
//============================================================================== //==============================================================================
+34 -20
View File
@@ -6,6 +6,17 @@
companyEmail="jens@jayfield.org"> companyEmail="jens@jayfield.org">
<MAINGROUP id="qBtndB" name="M-QAM Transceiver"> <MAINGROUP id="qBtndB" name="M-QAM Transceiver">
<GROUP id="{17E40C0A-AFC5-1BD1-AD90-8289DE60E569}" name="Source"> <GROUP id="{17E40C0A-AFC5-1BD1-AD90-8289DE60E569}" name="Source">
<FILE id="uM1PwN" name="GraphComponent.cpp" compile="1" resource="0"
file="Source/GraphComponent.cpp"/>
<FILE id="HunI5I" name="GraphComponent.h" compile="0" resource="0"
file="Source/GraphComponent.h"/>
<FILE id="MVnZcj" name="LogComponent.cpp" compile="1" resource="0"
file="Source/LogComponent.cpp"/>
<FILE id="lJilg4" name="LogComponent.h" compile="0" resource="0" file="Source/LogComponent.h"/>
<FILE id="A3kS0C" name="Receiver.cpp" compile="1" resource="0" file="Source/Receiver.cpp"/>
<FILE id="M9NvVq" name="Receiver.h" compile="0" resource="0" file="Source/Receiver.h"/>
<FILE id="JJHigV" name="Transmitter.cpp" compile="1" resource="0" file="Source/Transmitter.cpp"/>
<FILE id="mjPZYK" name="Transmitter.h" compile="0" resource="0" file="Source/Transmitter.h"/>
<FILE id="D84rEv" name="ControlComponent.cpp" compile="1" resource="0" <FILE id="D84rEv" name="ControlComponent.cpp" compile="1" resource="0"
file="Source/ControlComponent.cpp"/> file="Source/ControlComponent.cpp"/>
<FILE id="ZyF7uB" name="ControlComponent.h" compile="0" resource="0" <FILE id="ZyF7uB" name="ControlComponent.h" compile="0" resource="0"
@@ -23,28 +34,31 @@
</GROUP> </GROUP>
</MAINGROUP> </MAINGROUP>
<EXPORTFORMATS> <EXPORTFORMATS>
<LINUX_MAKE targetFolder="Builds/Linux"> <LINUX_MAKE targetFolder="Builds/Linux" externalLibraries="radio&#10;fir&#10;crc&#10;"
extraDefs="" extraCompilerFlags="-std=c++11&#10;">
<CONFIGURATIONS> <CONFIGURATIONS>
<CONFIGURATION name="Debug" libraryPath="/usr/X11R6/lib/" isDebug="1" optimisation="1" <CONFIGURATION name="Debug" libraryPath="/usr/X11R6/lib/&#10;../../../../libsrc/radio/build/linux&#10;../../../../libsrc/fir/build/linux&#10;../../../../libsrc/crc/build/linux"
targetName="M-PSK Receiver"/> isDebug="1" optimisation="1" targetName="M-PSK Receiver" headerPath="../../../../libsrc&#10;../../Source"
<CONFIGURATION name="Release" libraryPath="/usr/X11R6/lib/" isDebug="0" optimisation="2" defines="radio_float_t=float&#10;fir_float_t=float"/>
targetName="M-PSK Receiver"/> <CONFIGURATION name="Release" libraryPath="/usr/X11R6/lib/&#10;../../../../libsrc/radio/build/linux&#10;../../../../libsrc/fir/build/linux&#10;../../../../libsrc/crc/build/linux"
isDebug="0" optimisation="2" targetName="M-PSK Receiver" headerPath="../../../../libsrc&#10;../../Source"
defines="radio_float_t=float&#10;fir_float_t=float"/>
</CONFIGURATIONS> </CONFIGURATIONS>
<MODULEPATHS> <MODULEPATHS>
<MODULEPATH id="juce_audio_basics" path="../../../SDKs/JUCE-master/modules"/> <MODULEPATH id="juce_audio_basics" path="/home/jens/JUCE/modules"/>
<MODULEPATH id="juce_core" path="../../../SDKs/JUCE-master/modules"/> <MODULEPATH id="juce_core" path="/home/jens/JUCE/modules"/>
<MODULEPATH id="juce_audio_devices" path="../../../SDKs/JUCE-master/modules"/> <MODULEPATH id="juce_audio_devices" path="/home/jens/JUCE/modules"/>
<MODULEPATH id="juce_gui_basics" path="../../../SDKs/JUCE-master/modules"/> <MODULEPATH id="juce_gui_basics" path="/home/jens/JUCE/modules"/>
<MODULEPATH id="juce_events" path="../../../SDKs/JUCE-master/modules"/> <MODULEPATH id="juce_events" path="/home/jens/JUCE/modules"/>
<MODULEPATH id="juce_audio_formats" path="../../../SDKs/JUCE-master/modules"/> <MODULEPATH id="juce_audio_formats" path="/home/jens/JUCE/modules"/>
<MODULEPATH id="juce_data_structures" path="../../../SDKs/JUCE-master/modules"/> <MODULEPATH id="juce_data_structures" path="/home/jens/JUCE/modules"/>
<MODULEPATH id="juce_graphics" path="../../../SDKs/JUCE-master/modules"/> <MODULEPATH id="juce_graphics" path="/home/jens/JUCE/modules"/>
<MODULEPATH id="juce_gui_extra" path="../../../SDKs/JUCE-master/modules"/> <MODULEPATH id="juce_gui_extra" path="/home/jens/JUCE/modules"/>
<MODULEPATH id="juce_opengl" path="../../../SDKs/JUCE-master/modules"/> <MODULEPATH id="juce_opengl" path="/home/jens/JUCE/modules"/>
<MODULEPATH id="juce_audio_utils" path="../../../SDKs/JUCE-master/modules"/> <MODULEPATH id="juce_audio_utils" path="/home/jens/JUCE/modules"/>
<MODULEPATH id="juce_cryptography" path="../../../SDKs/JUCE-master/modules"/> <MODULEPATH id="juce_cryptography" path="/home/jens/JUCE/modules"/>
<MODULEPATH id="juce_video" path="../../../SDKs/JUCE-master/modules"/> <MODULEPATH id="juce_video" path="/home/jens/JUCE/modules"/>
<MODULEPATH id="juce_audio_processors" path="../../../SDKs/JUCE-master/modules"/> <MODULEPATH id="juce_audio_processors" path="/home/jens/JUCE/modules"/>
</MODULEPATHS> </MODULEPATHS>
</LINUX_MAKE> </LINUX_MAKE>
</EXPORTFORMATS> </EXPORTFORMATS>
@@ -64,5 +78,5 @@
<MODULES id="juce_opengl" showAllCode="1" useLocalCopy="1"/> <MODULES id="juce_opengl" showAllCode="1" useLocalCopy="1"/>
<MODULES id="juce_video" showAllCode="1" useLocalCopy="1"/> <MODULES id="juce_video" showAllCode="1" useLocalCopy="1"/>
</MODULES> </MODULES>
<JUCEOPTIONS/> <JUCEOPTIONS JUCE_ALSA="disabled" JUCE_JACK="enabled"/>
</JUCERPROJECT> </JUCERPROJECT>
+2 -2
View File
@@ -2104,8 +2104,8 @@ BEGIN_JUCER_METADATA
virtualName="" explicitFocusOrder="0" pos="720 408 64 24" buttonText="Reset" virtualName="" explicitFocusOrder="0" pos="720 408 64 24" buttonText="Reset"
connectedEdges="0" needsCallback="1" radioGroupId="0"/> connectedEdges="0" needsCallback="1" radioGroupId="0"/>
<SLIDER name="CarrierPhaseSlider" id="b4edfd1dcd6a20c6" memberName="m_sliderCarrierPhase" <SLIDER name="CarrierPhaseSlider" id="b4edfd1dcd6a20c6" memberName="m_sliderCarrierPhase"
virtualName="" explicitFocusOrder="0" pos="568 480 150 24" min="-3.1415926535900001" virtualName="" explicitFocusOrder="0" pos="568 480 150 24" min="-3.1415926535900000616"
max="3.1415926535900001" int="0.001" style="RotaryVerticalDrag" max="3.1415926535900000616" int="0.0010000000000000000208" style="RotaryVerticalDrag"
textBoxPos="TextBoxLeft" textBoxEditable="1" textBoxWidth="80" textBoxPos="TextBoxLeft" textBoxEditable="1" textBoxWidth="80"
textBoxHeight="20" skewFactor="1"/> textBoxHeight="20" skewFactor="1"/>
<TEXTBUTTON name="CPR Reset button" id="42a7b272b9dba592" memberName="m_buttonResetCPR" <TEXTBUTTON name="CPR Reset button" id="42a7b272b9dba592" memberName="m_buttonResetCPR"
+1 -1
View File
@@ -21,7 +21,7 @@
#define __GRAPH_COMPONENT__ #define __GRAPH_COMPONENT__
//[Headers] -- You can add your own extra header files here -- //[Headers] -- You can add your own extra header files here --
#include "JuceHeader.h" #include <JuceHeader.h>
#include "Receiver.h" #include "Receiver.h"
//[/Headers] //[/Headers]
+1 -1
View File
@@ -149,7 +149,7 @@ void IQPlaneComponent::pointAdd(sym_err_t *pPoint, uint32_t numPoints)
if (m_numPoints >= m_maxNumPoints) if (m_numPoints >= m_maxNumPoints)
return; return;
numFill = (uint32_t)__min(m_maxNumPoints-m_numPoints, numPoints); numFill = (uint32_t)dmin(m_maxNumPoints-m_numPoints, numPoints);
for (i=0; i < numFill; i++) for (i=0; i < numFill; i++)
{ {
m_pPointArray[m_numPoints++] = pPoint[i]; m_pPointArray[m_numPoints++] = pPoint[i];
+11 -4
View File
@@ -1,9 +1,12 @@
#include <cmath> #include <cmath>
#include "Receiver.h" #include "Receiver.h"
#include "MinMaxLemire.h" #include "MinMaxLemire.h"
#include "Frame.hpp" #include <radio/Frame.hpp>
#if 0
#include <radio/ComplexVector.hpp> #include <radio/ComplexVector.hpp>
#include <radio/RealVector.hpp> #include <radio/RealVector.hpp>
#endif
/***************************************************************/ /***************************************************************/
const uint32_t LPF_OVERSAMPLING = 32; // Arm-Filter: oversampling const uint32_t LPF_OVERSAMPLING = 32; // Arm-Filter: oversampling
@@ -161,6 +164,7 @@ void Receiver::initDefaultParams()
m_params.eqMuDfe = DFE_MU; m_params.eqMuDfe = DFE_MU;
} }
#if 0
void UpdateWeigths(ComplexVector &x, ComplexVector &e, ComplexVector &w, ComplexVector &w_conj, radio_float_t mu) void UpdateWeigths(ComplexVector &x, ComplexVector &e, ComplexVector &w, ComplexVector &w_conj, radio_float_t mu)
{ {
@@ -174,6 +178,7 @@ void UpdateWeigths(ComplexVector &x, ComplexVector &e, ComplexVector &w, Complex
w_conj.print("w*"); w_conj.print("w*");
} }
#endif
void Receiver::init() void Receiver::init()
{ {
@@ -364,7 +369,6 @@ void Receiver::init()
UnitFrameTransmitter tx(10, &rx); UnitFrameTransmitter tx(10, &rx);
tx.process(); tx.process();
#endif
//--------------------------- //---------------------------
// ComplexVector // ComplexVector
//--------------------------- //---------------------------
@@ -820,6 +824,7 @@ void Receiver::init()
rv1.print("v1"); rv1.print("v1");
rv2.print("v2"); rv2.print("v2");
rv3.print("v3"); rv3.print("v3");
#endif
TraceOpen(&m_trace, "D:\\home\\jens\\Dokumente\\trace.txt"); TraceOpen(&m_trace, "D:\\home\\jens\\Dokumente\\trace.txt");
@@ -1312,7 +1317,7 @@ cpx_t Receiver::processMatchedFilter(cpx_t x, int32_t m, radio_float_t mu)
return y; return y;
} }
int Receiver::Farrow_open_coeff(ppip_farrow_cpx_t *pObj, char *filename) int Receiver::Farrow_open_coeff(ppip_farrow_cpx_t *pObj, const char *filename)
{ {
int i; int i;
FILE *pFile; FILE *pFile;
@@ -1440,7 +1445,7 @@ void Receiver::initFilterRcf()
} }
m_pFarrowInterpolator = new ppip_farrow_cpx_t(); m_pFarrowInterpolator = new ppip_farrow_cpx_t();
Farrow_open_coeff(m_pFarrowInterpolator, "D:\\home\\jens\\work\\develope\\win32\\Projects\\radio\\farrow_coeff.dat"); Farrow_open_coeff(m_pFarrowInterpolator, "/home/jens/farrow_coeff.dat");
m_log.log("Farrow filter coefficients loaded (L=%d, M=%d, N=%d)", m_pFarrowInterpolator->L, m_pFarrowInterpolator->M, m_pFarrowInterpolator->N); m_log.log("Farrow filter coefficients loaded (L=%d, M=%d, N=%d)", m_pFarrowInterpolator->L, m_pFarrowInterpolator->M, m_pFarrowInterpolator->N);
} }
@@ -1502,6 +1507,8 @@ void Receiver::setSamplerate(float samplerate_hz)
const ScopedLock sl (m_lock); const ScopedLock sl (m_lock);
m_params.samplerate = samplerate_hz; m_params.samplerate = samplerate_hz;
m_params.symbolrate = samplerate_hz/4;
m_params.ddc_freq = samplerate_hz/4;
initDDC(); initDDC();
initFilterArm(); initFilterArm();
+28 -28
View File
@@ -9,10 +9,10 @@
#include <radio/statistics.h> #include <radio/statistics.h>
#include <radio/equalizer.h> #include <radio/equalizer.h>
#include <radio/agc.h> #include <radio/agc.h>
#include <radio/Frame.hpp>
#include "JuceHeader.h" #include "JuceHeader.h"
#include "Logcomponent.h" #include "LogComponent.h"
#include "Frame.hpp"
// --------------------------------------------------- // ---------------------------------------------------
#define NUM_PASSBAND_SAMPLES_PER_SYM 4 #define NUM_PASSBAND_SAMPLES_PER_SYM 4
@@ -160,13 +160,13 @@ typedef struct _params_t
bool strAutoControlEnable; bool strAutoControlEnable;
bool cprAutoControlEnable; bool cprAutoControlEnable;
bool agcAutoControlEnable; bool agcAutoControlEnable;
str_mode str_mode; enum str_mode str_mode;
cpr_mode cpr_mode; enum cpr_mode cpr_mode;
agc_mode agc_mode; enum agc_mode agc_mode;
eq_mode eq_mode; enum eq_mode eq_mode;
cma_type cmaType; enum cma_type cmaType;
cma_mode cmaMode; enum cma_mode cmaMode;
dfe_mode dfeMode; enum dfe_mode dfeMode;
lead_lag_coeff_t str_loopfilter_coeff[2]; lead_lag_coeff_t str_loopfilter_coeff[2];
uint32_t str_loopfilter_coeff_index; uint32_t str_loopfilter_coeff_index;
lead_lag_coeff_t cpr_loopfilter_coeff[2]; lead_lag_coeff_t cpr_loopfilter_coeff[2];
@@ -177,9 +177,9 @@ typedef struct _params_t
float agcMu[2]; float agcMu[2];
uint32_t agcMu_index; uint32_t agcMu_index;
str_state strState; enum str_state strState;
cpr_state cprState; enum cpr_state cprState;
agc_state agc_state; enum agc_state agc_state;
} params_t; } params_t;
@@ -292,7 +292,7 @@ private:
uint32_t m_numSymsInBuffer; uint32_t m_numSymsInBuffer;
uint32_t m_bufsize; uint32_t m_bufsize;
bool m_ReceiverEnable; bool m_ReceiverEnable;
clock_t m_symClock; sample_clock_t m_symClock;
pfd_t m_pfdCpr; pfd_t m_pfdCpr;
cpx_t m_trackers_[4]; cpx_t m_trackers_[4];
cpx_t m_trackers[4]; cpx_t m_trackers[4];
@@ -354,7 +354,7 @@ private:
void timerCallback(); void timerCallback();
void processBaseband(cpx_t *pIF, uint32_t len); void processBaseband(cpx_t *pIF, uint32_t len);
cpx_t processMatchedFilter(cpx_t x, int32_t m, radio_float_t mu); cpx_t processMatchedFilter(cpx_t x, int32_t m, radio_float_t mu);
int Farrow_open_coeff(ppip_farrow_cpx_t *pObj, char *filename); int Farrow_open_coeff(ppip_farrow_cpx_t *pObj, const char *filename);
void minMaxInit(minmax_t *pObj, radio_float_t min_initial, radio_float_t max_initial) void minMaxInit(minmax_t *pObj, radio_float_t min_initial, radio_float_t max_initial)
{ {
pObj->min = min_initial; pObj->min = min_initial;
@@ -402,19 +402,19 @@ private:
void initDDC(); void initDDC();
// Interface // Interface
void Receiver::setSamplerate(float samplerate_hz) override; void setSamplerate(float samplerate_hz) override;
void Receiver::setParams(const params_t &params) override; void setParams(const params_t &params) override;
params_t& Receiver::getParams() override; params_t& getParams() override;
status_t& Receiver::getStatus() override; status_t& getStatus() override;
void Receiver::reset() override; void reset() override;
void Receiver::strReset() override; void strReset() override;
void Receiver::cprReset() override; void cprReset() override;
void Receiver::dfeReset() override; void dfeReset() override;
void Receiver::cmaReset() override; void cmaReset() override;
void Receiver::statisticsReset() override; void statisticsReset() override;
void Receiver::dfeOffUpdateFromCma() override; void dfeOffUpdateFromCma() override;
void Receiver::dfeOnUpdateFromDfeOff() override; void dfeOnUpdateFromDfeOff() override;
cpx_t& Receiver::getTracker(uint32 index) override; cpx_t& getTracker(uint32 index) override;
void onData(void *pData, uint32_t size) override void onData(void *pData, uint32_t size) override
{ {
@@ -447,4 +447,4 @@ private:
trace_t m_trace; trace_t m_trace;
}; };
#endif // _RECEIVER_H_ #endif // _RECEIVER_H_
+3 -3
View File
@@ -5,10 +5,10 @@
#include <radio/symbol.h> #include <radio/symbol.h>
#include <radio/nco.h> #include <radio/nco.h>
#include <radio/interpolation.h> #include <radio/interpolation.h>
#include <radio/Frame.hpp>
#include "JuceHeader.h" #include "JuceHeader.h"
#include "Logcomponent.h" #include "LogComponent.h"
#include "Frame.hpp"
#define TRANSMITTER_RCF_OVERSAMPLING ((uint32_t)32) #define TRANSMITTER_RCF_OVERSAMPLING ((uint32_t)32)
#define TRANSMITTER_RCF_ROLLOFF ((radio_float_t)0.35) #define TRANSMITTER_RCF_ROLLOFF ((radio_float_t)0.35)
@@ -248,4 +248,4 @@ private:
} }
}; };
#endif // _TRANSMITTER_H_ #endif // _TRANSMITTER_H_