From 216a6667fe3174943efadb137a70113075fbe399 Mon Sep 17 00:00:00 2001
From: patrick-radius
Date: Sat, 31 Dec 2016 13:04:38 +0100
Subject: [PATCH] Added float audio multiply
---
AudioMultiply_F32.cpp | 20 ++++++++++++++++++++
AudioMultiply_F32.h | 12 ++++++++++++
2 files changed, 32 insertions(+)
create mode 100644 AudioMultiply_F32.cpp
create mode 100644 AudioMultiply_F32.h
diff --git a/AudioMultiply_F32.cpp b/AudioMultiply_F32.cpp
new file mode 100644
index 0000000..edca399
--- /dev/null
+++ b/AudioMultiply_F32.cpp
@@ -0,0 +1,20 @@
+#include "AudioMultiply_F32.h"
+
+void AudioMultiply_F32::update(void) {
+ audio_block_f32_t *block, *in;
+
+ block = AudioStream_F32::receiveWritable_f32(0);
+ if (!block) return;
+
+ in = AudioStream_F32::receiveReadOnly_f32(1);
+ if (!in) {
+ release(block);
+ return;
+ }
+
+ arm_mult_f32(block->data, in->data, block->data, AUDIO_BLOCK_SAMPLES);
+ release(in);
+
+ transmit(block);
+ release(block);
+}
diff --git a/AudioMultiply_F32.h b/AudioMultiply_F32.h
new file mode 100644
index 0000000..08a2584
--- /dev/null
+++ b/AudioMultiply_F32.h
@@ -0,0 +1,12 @@
+#include
+#include
+
+class AudioMultiply_F32 : public AudioStream_F32
+{
+ public:
+ AudioMultiply_F32(void) : AudioStream_F32(2, inputQueueArray_f32) {};
+ void update(void);
+
+ private:
+ audio_block_f32_t *inputQueueArray_f32[2];
+};