1
0
MAX7456JSON/lib/DisplayProxy/DisplayProxyMAX7456.h

69 lines
1.7 KiB
C
Raw Normal View History

2019-09-04 13:28:38 +00:00
#ifndef DISPLAYPROXYMAX7456_H
#define DISPLAYPROXYMAX7456_H
#include "DisplayProxy.h"
#include "max7456.h"
2021-10-28 14:44:20 +00:00
/**
2021-11-03 10:13:25 +00:00
* Text-User-Interface on a MAX7456
2021-10-28 14:44:20 +00:00
*
2021-11-03 10:13:25 +00:00
* The MAX7456 provides On-Screen-Display rendering for composite video.
2021-10-28 14:44:20 +00:00
* (Think old school VCR menu overlay)
*
2021-11-03 10:13:25 +00:00
* To find the offical documentation for the part please refer to the Maxim page for the MAX7456.
* [Maxim Page](https://www.maximintegrated.com/en/products/analog/video-products/MAX7456.html)
*
2021-10-28 14:44:20 +00:00
*/
2019-09-04 13:28:38 +00:00
class DisplayProxyMAX7456 : public DisplayProxy
{
public:
2021-10-28 14:44:20 +00:00
/**
* Initalize a Max7456 Style display
* - Initialize with CS on Pin 6.
* - Clear the display
* - Initialize blinking frequency.
* - Disable external video
* - Enable OSD.
*/
explicit DisplayProxyMAX7456(Max7456 *osd);
2021-10-28 14:44:20 +00:00
/**
* OSD on, external video left untouched.
*/
bool on();
/**
* OSD off, external video off.
*/
bool off();
/**
* Depending on the font loaded into the Max7456 the output might not be ASCII compatible.
*/
bool write(int x, int y, const char *text) override;
bool clear() override;
2021-10-28 14:44:20 +00:00
/**
* Adjust the display offset.
* Since the signal is analog the characters might be rendered outside the display area
*/
bool setOffset(int x, int y);
2021-11-03 10:13:25 +00:00
/**
* Turn off the external video feed
* If the external feed is disabled the background will be grey
* @param enabled True to turn on the external video input
*/
bool externalVideo(bool enabled);
2021-11-03 10:13:25 +00:00
/**
* Turn on the overlay
*
* @param enabled True to turn on the overlay
*/
bool onScreenDisplay(bool enabled);
2019-09-04 13:28:38 +00:00
private:
Max7456 *osd;
};
#endif