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
Diff: SpactrumAnalysisClasses/SpectrumDisplay.hpp
- 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