Real-time spectrum analyzer for ST Nucleo F401RE using Seeed Studio 2.8'' TFT Touch Shield V2.0.

Dependencies:   SeeedStudioTFTv2 UITDSP_ADDA UIT_FFT_Real mbed

Revision:
0:c5b026c2d07e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SpactrumAnalysisClasses/SpectrumDisplay.hpp	Sun Jul 26 02:48:23 2015 +0000
@@ -0,0 +1,42 @@
+//-------------------------------------------------------
+// Class for display spectrum
+// Copyright (c) 2014 MIKAMI, Naoki,  2014/12/28
+//-------------------------------------------------------
+
+#ifndef SPECTRUM_DISPLAY_HPP
+#define SPECTRUM_DISPLAY_HPP
+
+// Following two files were imported from
+// http://developer.mbed.org/teams/shields/code/
+// Seeed_TFT_Touch_Shield/
+#include "SeeedStudioTFTv2.h"   // imported
+#include "Arial12x12.h"         // imported
+
+namespace Mikami
+{
+    class SpectrumDisplay
+    {
+    public:
+        SpectrumDisplay(SeeedStudioTFTv2* lcd,
+                        int nFft, int x0, int y0,
+                        float db1, int bin, float maxDb, int fs);
+        void BarChart(float db[], float offset);
+        void LineChart(float db[], float offset);
+        void DisplayVolume(float volume);
+
+    private:
+        const int N_FFT_;       // number of date for FFT
+        const int X0_;          // Origin for x axis
+        const int Y0_;          // Origin for y axis
+        const float DB1_;       // Pixels for 1 dB
+        const int BIN_;         // Pixels per bin
+        const float MAX_DB_;    // Maximum dB
+        const int FS_;          // Sampling frequency: 10 kHz
+
+        SeeedStudioTFTv2* lcd_;
+
+        void AxisX();       // x-axis
+        void AxisY();       // y-axis
+    };
+}
+#endif  // SPECTRUM_DISPLAY_HPP