ノイズを付加した正弦波発生器 Sinusoidal wave generator with noise.

Dependencies:   F746_GUI F746_SAI_IO Random mbed

Committer:
MikamiUitOpen
Date:
Sun Nov 04 02:41:21 2018 +0000
Revision:
0:31361b0fcdad
1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:31361b0fcdad 1 //-----------------------------------------------------------
MikamiUitOpen 0:31361b0fcdad 2 // Class for waveform display ---- Header
MikamiUitOpen 0:31361b0fcdad 3 //
MikamiUitOpen 0:31361b0fcdad 4 // 2018/11/03, Copyright (c) 2018 MIKAMI, Naoki
MikamiUitOpen 0:31361b0fcdad 5 //-----------------------------------------------------------
MikamiUitOpen 0:31361b0fcdad 6
MikamiUitOpen 0:31361b0fcdad 7 #ifndef F746_WAVEFORM_DISPLAY_HPP
MikamiUitOpen 0:31361b0fcdad 8 #define F746_WAVEFORM_DISPLAY_HPP
MikamiUitOpen 0:31361b0fcdad 9
MikamiUitOpen 0:31361b0fcdad 10 #include "mbed.h"
MikamiUitOpen 0:31361b0fcdad 11 #include "LCD_DISCO_F746NG.h"
MikamiUitOpen 0:31361b0fcdad 12 #include "Array.hpp"
MikamiUitOpen 0:31361b0fcdad 13
MikamiUitOpen 0:31361b0fcdad 14 namespace Mikami
MikamiUitOpen 0:31361b0fcdad 15 {
MikamiUitOpen 0:31361b0fcdad 16 class WaveformDisplay
MikamiUitOpen 0:31361b0fcdad 17 {
MikamiUitOpen 0:31361b0fcdad 18 public:
MikamiUitOpen 0:31361b0fcdad 19 WaveformDisplay(LCD_DISCO_F746NG &lcd,
MikamiUitOpen 0:31361b0fcdad 20 uint16_t x0, uint16_t y0,
MikamiUitOpen 0:31361b0fcdad 21 const Array<int16_t>& xn,
MikamiUitOpen 0:31361b0fcdad 22 uint16_t nData,
MikamiUitOpen 0:31361b0fcdad 23 uint16_t rShift,
MikamiUitOpen 0:31361b0fcdad 24 uint32_t axisColor,
MikamiUitOpen 0:31361b0fcdad 25 uint32_t lineColor1,
MikamiUitOpen 0:31361b0fcdad 26 uint32_t lineColor2,
MikamiUitOpen 0:31361b0fcdad 27 uint32_t backColor)
MikamiUitOpen 0:31361b0fcdad 28 : X0_(x0), Y0_(y0), xn_(xn), N_DATA_(nData), R_SHIFT_(rShift),
MikamiUitOpen 0:31361b0fcdad 29 AXIS_COLOR_(axisColor),
MikamiUitOpen 0:31361b0fcdad 30 LINE_COLOR1_(lineColor1), LINE_COLOR2_(lineColor2),
MikamiUitOpen 0:31361b0fcdad 31 BACK_COLOR_(backColor),
MikamiUitOpen 0:31361b0fcdad 32 lcd_(lcd), dt_(1) { Axis(); }
MikamiUitOpen 0:31361b0fcdad 33
MikamiUitOpen 0:31361b0fcdad 34 void Execute(int start, int factor);
MikamiUitOpen 0:31361b0fcdad 35
MikamiUitOpen 0:31361b0fcdad 36 private:
MikamiUitOpen 0:31361b0fcdad 37 const uint16_t X0_, Y0_;
MikamiUitOpen 0:31361b0fcdad 38 const Array<int16_t>& xn_;
MikamiUitOpen 0:31361b0fcdad 39 const int N_DATA_;
MikamiUitOpen 0:31361b0fcdad 40 const uint16_t R_SHIFT_;
MikamiUitOpen 0:31361b0fcdad 41 const uint32_t AXIS_COLOR_;
MikamiUitOpen 0:31361b0fcdad 42 const uint32_t LINE_COLOR1_;
MikamiUitOpen 0:31361b0fcdad 43 const uint32_t LINE_COLOR2_;
MikamiUitOpen 0:31361b0fcdad 44 const uint32_t BACK_COLOR_;
MikamiUitOpen 0:31361b0fcdad 45 static const int LIMIT_ = 64;
MikamiUitOpen 0:31361b0fcdad 46 static const int LIMIT2_ = LIMIT_ + 1;
MikamiUitOpen 0:31361b0fcdad 47
MikamiUitOpen 0:31361b0fcdad 48 LCD_DISCO_F746NG &lcd_;
MikamiUitOpen 0:31361b0fcdad 49
MikamiUitOpen 0:31361b0fcdad 50 int dt_;
MikamiUitOpen 0:31361b0fcdad 51
MikamiUitOpen 0:31361b0fcdad 52 uint16_t Clip(int16_t xn); // Clipping
MikamiUitOpen 0:31361b0fcdad 53 void Draw(const Array<int16_t>& xn, int start, uint32_t color);
MikamiUitOpen 0:31361b0fcdad 54 void Axis();
MikamiUitOpen 0:31361b0fcdad 55
MikamiUitOpen 0:31361b0fcdad 56 // disallow copy constructor and assignment operator
MikamiUitOpen 0:31361b0fcdad 57 WaveformDisplay(const WaveformDisplay& );
MikamiUitOpen 0:31361b0fcdad 58 WaveformDisplay& operator=(const WaveformDisplay& );
MikamiUitOpen 0:31361b0fcdad 59 };
MikamiUitOpen 0:31361b0fcdad 60 }
MikamiUitOpen 0:31361b0fcdad 61 #endif // F746_WAVEFORM_DISPLAY_HPP