Simplified oscilloscope using DISCO-F746. Input: MEMS microphone. DISCO-F746 による簡易オシロスコープ.入力:MEMS マイク.

Dependencies:   F746_GUI F746_SAI_IO mbed

Committer:
MikamiUitOpen
Date:
Wed Mar 15 02:03:39 2017 +0000
Revision:
1:a53d220362d4
Child:
2:1fa4647505bf
2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 1:a53d220362d4 1 //-----------------------------------------------------------
MikamiUitOpen 1:a53d220362d4 2 // 波形表示のためのクラス(ヘッダ)
MikamiUitOpen 1:a53d220362d4 3 //
MikamiUitOpen 1:a53d220362d4 4 // 2017/03/15, Copyright (c) 2017 MIKAMI, Naoki
MikamiUitOpen 1:a53d220362d4 5 //-----------------------------------------------------------
MikamiUitOpen 1:a53d220362d4 6
MikamiUitOpen 1:a53d220362d4 7 #ifndef F746_WAVEFORM_DISPLAY_HPP
MikamiUitOpen 1:a53d220362d4 8 #define F746_WAVEFORM_DISPLAY_HPP
MikamiUitOpen 1:a53d220362d4 9
MikamiUitOpen 1:a53d220362d4 10 #include "mbed.h"
MikamiUitOpen 1:a53d220362d4 11 #include "LCD_DISCO_F746NG.h" // LCD 表示器用,team ST 提供
MikamiUitOpen 1:a53d220362d4 12 #include "F746_GUI.hpp" // 筆者の作った GUI 用ライブラリ
MikamiUitOpen 1:a53d220362d4 13 #include "Array.hpp" // 筆者の作った一次元配列用ライブラリ
MikamiUitOpen 1:a53d220362d4 14
MikamiUitOpen 1:a53d220362d4 15 namespace Mikami
MikamiUitOpen 1:a53d220362d4 16 {
MikamiUitOpen 1:a53d220362d4 17 class WaveformDisplay
MikamiUitOpen 1:a53d220362d4 18 {
MikamiUitOpen 1:a53d220362d4 19 public:
MikamiUitOpen 1:a53d220362d4 20 WaveformDisplay(LCD_DISCO_F746NG *lcd,
MikamiUitOpen 1:a53d220362d4 21 uint16_t x0, uint16_t y0,
MikamiUitOpen 1:a53d220362d4 22 const Array<int16_t>& xn,
MikamiUitOpen 1:a53d220362d4 23 uint32_t backColor)
MikamiUitOpen 1:a53d220362d4 24 : X0_(x0), Y0_(y0), xn_(xn), N_DATA_(xn.Length()),
MikamiUitOpen 1:a53d220362d4 25 BACK_COLOR_(backColor), lcd_(lcd) {}
MikamiUitOpen 1:a53d220362d4 26
MikamiUitOpen 1:a53d220362d4 27 void Execute(); // 波形表示
MikamiUitOpen 1:a53d220362d4 28
MikamiUitOpen 1:a53d220362d4 29 private:
MikamiUitOpen 1:a53d220362d4 30 const uint16_t X0_, Y0_;
MikamiUitOpen 1:a53d220362d4 31 const Array<int16_t>& xn_; // 表示するデータのバッファ
MikamiUitOpen 1:a53d220362d4 32 const int N_DATA_; // 表示するデータの数
MikamiUitOpen 1:a53d220362d4 33 const uint32_t BACK_COLOR_;
MikamiUitOpen 1:a53d220362d4 34 static const uint16_t R_SHIFT_ = 6; // 表示の際のスケーリング・ファクタ
MikamiUitOpen 1:a53d220362d4 35 static const int LIMIT_ = 65; // 表示の振幅の最大値
MikamiUitOpen 1:a53d220362d4 36
MikamiUitOpen 1:a53d220362d4 37 LCD_DISCO_F746NG *lcd_; // LCD のオブジェクトのポインタ
MikamiUitOpen 1:a53d220362d4 38
MikamiUitOpen 1:a53d220362d4 39 uint16_t Clip(int16_t xn); // 縦方向のクリッピングと縦方向の位置の移動
MikamiUitOpen 1:a53d220362d4 40
MikamiUitOpen 1:a53d220362d4 41 // コピーコンストラクタと代入演算子の使用禁止
MikamiUitOpen 1:a53d220362d4 42 WaveformDisplay(const WaveformDisplay& );
MikamiUitOpen 1:a53d220362d4 43 WaveformDisplay& operator=(const WaveformDisplay& );
MikamiUitOpen 1:a53d220362d4 44 };
MikamiUitOpen 1:a53d220362d4 45 }
MikamiUitOpen 1:a53d220362d4 46 #endif // F746_WAVEFORM_DISPLAY_HPP