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

Dependencies:   F746_GUI F746_SAI_IO mbed

Committer:
MikamiUitOpen
Date:
Sun Apr 09 05:39:18 2017 +0000
Revision:
5:2bf3b2b2a9d0
Parent:
3:dc29fbcf1b48
6

Who changed what in which revision?

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