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
SpactrumAnalysisClasses/SpectrumDisplay.hpp
- Committer:
- MikamiUitOpen
- Date:
- 2015-07-26
- Revision:
- 0:c5b026c2d07e
File content as of revision 0:c5b026c2d07e:
//-------------------------------------------------------
// 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