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

Committer:
MikamiUitOpen
Date:
Sun Jul 26 02:48:23 2015 +0000
Revision:
0:c5b026c2d07e
1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:c5b026c2d07e 1 //-------------------------------------------------------
MikamiUitOpen 0:c5b026c2d07e 2 // Class for display spectrum
MikamiUitOpen 0:c5b026c2d07e 3 // Copyright (c) 2014 MIKAMI, Naoki, 2014/12/28
MikamiUitOpen 0:c5b026c2d07e 4 //-------------------------------------------------------
MikamiUitOpen 0:c5b026c2d07e 5
MikamiUitOpen 0:c5b026c2d07e 6 #ifndef SPECTRUM_DISPLAY_HPP
MikamiUitOpen 0:c5b026c2d07e 7 #define SPECTRUM_DISPLAY_HPP
MikamiUitOpen 0:c5b026c2d07e 8
MikamiUitOpen 0:c5b026c2d07e 9 // Following two files were imported from
MikamiUitOpen 0:c5b026c2d07e 10 // http://developer.mbed.org/teams/shields/code/
MikamiUitOpen 0:c5b026c2d07e 11 // Seeed_TFT_Touch_Shield/
MikamiUitOpen 0:c5b026c2d07e 12 #include "SeeedStudioTFTv2.h" // imported
MikamiUitOpen 0:c5b026c2d07e 13 #include "Arial12x12.h" // imported
MikamiUitOpen 0:c5b026c2d07e 14
MikamiUitOpen 0:c5b026c2d07e 15 namespace Mikami
MikamiUitOpen 0:c5b026c2d07e 16 {
MikamiUitOpen 0:c5b026c2d07e 17 class SpectrumDisplay
MikamiUitOpen 0:c5b026c2d07e 18 {
MikamiUitOpen 0:c5b026c2d07e 19 public:
MikamiUitOpen 0:c5b026c2d07e 20 SpectrumDisplay(SeeedStudioTFTv2* lcd,
MikamiUitOpen 0:c5b026c2d07e 21 int nFft, int x0, int y0,
MikamiUitOpen 0:c5b026c2d07e 22 float db1, int bin, float maxDb, int fs);
MikamiUitOpen 0:c5b026c2d07e 23 void BarChart(float db[], float offset);
MikamiUitOpen 0:c5b026c2d07e 24 void LineChart(float db[], float offset);
MikamiUitOpen 0:c5b026c2d07e 25 void DisplayVolume(float volume);
MikamiUitOpen 0:c5b026c2d07e 26
MikamiUitOpen 0:c5b026c2d07e 27 private:
MikamiUitOpen 0:c5b026c2d07e 28 const int N_FFT_; // number of date for FFT
MikamiUitOpen 0:c5b026c2d07e 29 const int X0_; // Origin for x axis
MikamiUitOpen 0:c5b026c2d07e 30 const int Y0_; // Origin for y axis
MikamiUitOpen 0:c5b026c2d07e 31 const float DB1_; // Pixels for 1 dB
MikamiUitOpen 0:c5b026c2d07e 32 const int BIN_; // Pixels per bin
MikamiUitOpen 0:c5b026c2d07e 33 const float MAX_DB_; // Maximum dB
MikamiUitOpen 0:c5b026c2d07e 34 const int FS_; // Sampling frequency: 10 kHz
MikamiUitOpen 0:c5b026c2d07e 35
MikamiUitOpen 0:c5b026c2d07e 36 SeeedStudioTFTv2* lcd_;
MikamiUitOpen 0:c5b026c2d07e 37
MikamiUitOpen 0:c5b026c2d07e 38 void AxisX(); // x-axis
MikamiUitOpen 0:c5b026c2d07e 39 void AxisY(); // y-axis
MikamiUitOpen 0:c5b026c2d07e 40 };
MikamiUitOpen 0:c5b026c2d07e 41 }
MikamiUitOpen 0:c5b026c2d07e 42 #endif // SPECTRUM_DISPLAY_HPP