Line data Source code
1 : #include <AP_OSD/AP_OSD_Backend.h> 2 : #include <AP_MSP/AP_MSP.h> 3 : 4 : class AP_OSD_MSP : public AP_OSD_Backend 5 : { 6 : using AP_OSD_Backend::AP_OSD_Backend; 7 : public: 8 : static AP_OSD_Backend *probe(AP_OSD &osd); 9 : 10 : //initilize display port and underlying hardware 11 : bool init() override; 12 : 13 : //draw given text to framebuffer 14 0 : void write(uint8_t x, uint8_t y, const char* text) override {}; 15 : 16 : //flush framebuffer to screen 17 0 : void flush() override {}; 18 : 19 : //clear framebuffer 20 0 : void clear() override {}; 21 : 22 0 : bool is_compatible_with_backend_type(AP_OSD::osd_types type) const override { 23 0 : switch(type) { 24 0 : case AP_OSD::osd_types::OSD_MSP: 25 : case AP_OSD::osd_types::OSD_MSP_DISPLAYPORT: 26 0 : return false; 27 0 : case AP_OSD::osd_types::OSD_NONE: 28 : case AP_OSD::osd_types::OSD_TXONLY: 29 : case AP_OSD::osd_types::OSD_MAX7456: 30 : case AP_OSD::osd_types::OSD_SITL: 31 0 : return true; 32 : } 33 0 : return false; 34 : } 35 : 36 0 : AP_OSD::osd_types get_backend_type() const override { 37 0 : return AP_OSD::osd_types::OSD_MSP; 38 : } 39 : private: 40 : void setup_defaults(void); 41 : };