CQエレクトロニクス・セミナ「実習・マイコンを動かしながら学ぶディジタル・フィルタ」で使うプログラム.1次IIRフィルタの係数をターミナルから変更できる. http://seminar.cqpub.co.jp/ccm/ES18-0020
Dependencies: mbed Array_Matrix BSP_DISCO_F746NG LCD_DISCO_F746NG TS_DISCO_F746NG
F746_Gui_New/NumericLabel.hpp
- Committer:
- MikamiUitOpen
- Date:
- 2017-10-09
- Revision:
- 0:47718d3154d9
File content as of revision 0:47718d3154d9:
//----------------------------------------------------------- // NumericLabel class -- derived class of Label class // // 2016/11/07, Copyright (c) 2016 MIKAMI, Naoki //----------------------------------------------------------- #ifndef F746_NUMERIC_LABEL_HPP #define F746_NUMERIC_LABEL_HPP #include "Label.hpp" namespace Mikami { template <typename T> class NumericLabel : public Label { public: // Constructor without drawing value NumericLabel(uint16_t x, uint16_t y, const char fmt[], TextAlignMode mode = LEFT, sFONT &fonts = Font12, uint32_t textColor = GuiBase::ENUM_TEXT, uint32_t backColor = GuiBase::ENUM_BACK) : Label(x, y, "", mode, fonts, textColor, backColor), FMT_(fmt) {} // Constructor with drawing value NumericLabel(uint16_t x, uint16_t y, const char fmt[], T val, TextAlignMode mode = LEFT, sFONT &fonts = Font12, uint32_t textColor = GuiBase::ENUM_TEXT, uint32_t backColor = GuiBase::ENUM_BACK) : Label(x, y, "", mode, fonts, textColor, backColor), FMT_(fmt) { Draw(val); } // Draw value using format specified in constructor void Draw(T val) { sprintf(str_, FMT_, val); Label::Draw(str_); } // Draw value void Draw(const char fmt[], T val) { sprintf(str_, fmt, val); Label::Draw(str_); } // Draw previous value with specified color void Redraw(uint32_t color) { Label::Draw(str_, color); } private: const char *const FMT_; char str_[81]; // disallow copy constructor and assignment operator NumericLabel(const NumericLabel&); NumericLabel& operator=(const NumericLabel&); }; } #endif // F746_NUMERIC_LABEL_HPP