diff --git a/src/main/io/osd.c b/src/main/io/osd.c index 14f7a4db2..19ddbc00e 100755 --- a/src/main/io/osd.c +++ b/src/main/io/osd.c @@ -46,7 +46,6 @@ #include "cms/cms_menu_osd.h" #include "io/flashfs.h" -#include "io/displayport_max7456.h" #include "io/osd.h" #include "fc/config.h" @@ -411,9 +410,9 @@ void osdResetConfig(osd_profile_t *osdProfile) osdProfile->alt_alarm = 100; // meters or feet depend on configuration } -void osdInit(void) +void osdInit(displayPort_t *osdDisplayPortToUse) { - osdDisplayPort = max7456DisplayPortInit(masterConfig.osdProfile.video_system); + osdDisplayPort = osdDisplayPortToUse; #ifdef CMS cmsDisplayPortRegister(osdDisplayPort); #endif diff --git a/src/main/io/osd.h b/src/main/io/osd.h index c273f45c8..8bdc878bd 100755 --- a/src/main/io/osd.h +++ b/src/main/io/osd.h @@ -60,7 +60,8 @@ typedef struct osd_profile_s { osd_unit_e units; } osd_profile_t; -void osdInit(void); +struct displayPort_s; +void osdInit(struct displayPort_s *osdDisplayPort); void osdResetConfig(osd_profile_t *osdProfile); void osdResetAlarms(void); void osdUpdate(uint32_t currentTime); diff --git a/src/main/main.c b/src/main/main.c index 5e7fe5bcc..800b3d91f 100644 --- a/src/main/main.c +++ b/src/main/main.c @@ -75,6 +75,7 @@ #include "rx/spektrum.h" #include "io/beeper.h" +#include "io/displayport_max7456.h" #include "io/serial.h" #include "io/flashfs.h" #include "io/gps.h" @@ -406,7 +407,8 @@ void init(void) #ifdef OSD if (feature(FEATURE_OSD)) { - osdInit(); + displayPort_t *osdDisplayPort = max7456DisplayPortInit(masterConfig.osdProfile.video_system); + osdInit(osdDisplayPort); } #endif