#pragma once #include namespace acs { class qr_encoder; class oled_writer { static const unsigned char tick[72]; static const unsigned char cross[72]; qr_encoder* qr_encoder_; ssd1306* oled_ = nullptr; template void refresh(F func) { oled_->clear_display(); func(); oled_->display(); } public: explicit oled_writer(); void refresh(); void authorized(); void access_denied(); void write_qr_code(); }; }