Skip to content
Snippets Groups Projects
pervasive_aurora_mb.h 674 B
Newer Older
  • Learn to ignore specific revisions
  • /*
     * Copyright 2021 Daniel Friesel
     *
     * SPDX-License-Identifier: BSD-2-Clause
     *
     * Driver for Pervasive Aurora Mb E-Paper displays with internal Timing
     * Controller (iTC). Configured for the 300x400px 4.2" variant.
     */
    #pragma once
    
    class PervasiveAuroraMb {
    	private:
    		PervasiveAuroraMb(const PervasiveAuroraMb &copy);
    		bool isBusy();
    		void spiWrite(unsigned char reg, const unsigned char *txbuf, unsigned int length);
    
    	public:
    		PervasiveAuroraMb() {}
    
    		void setup();
    		void powerOn();
    		void initialize(signed char temperature = 20);
    		void sendImage(unsigned char *frame);
    		void sendUpdate();
    		void powerOff();
    };
    
    extern PervasiveAuroraMb pervasiveAuroraMb;