Backlight API fixes

This commit is contained in:
Raphael Coeffic
2022-06-13 22:43:45 +02:00
committed by Raphael Coeffic
parent ec2c5c5bdc
commit 4fc2a2ee5d
9 changed files with 64 additions and 29 deletions
@@ -589,7 +589,7 @@ void drawFatalErrorScreen(const char * message)
void runFatalErrorScreen(const char * message)
{
while (true) {
backlightEnable();
backlightFullOn();
drawFatalErrorScreen(message);
uint8_t refresh = false;
@@ -271,7 +271,7 @@ void bootloaderInitApp()
lcdInit();
backlightInit();
backlightEnable();
backlightFullOn();
#if defined(BLUETOOTH)
// we shutdown the bluetooth module now to be sure it will be detected on firmware start
@@ -103,3 +103,8 @@ void backlightEnable(uint8_t dutyCycle)
BACKLIGHT_TIMER->BDTR |= TIM_BDTR_MOE;
}
}
void backlightFullOn()
{
backlightEnable(BACKLIGHT_LEVEL_MAX);
}
+6 -7
View File
@@ -542,12 +542,6 @@ void DMABitmapConvert(uint16_t * dest, const uint8_t * src, uint16_t w, uint16_t
#define lcdRefreshWait(...)
// Backlight driver
void backlightInit();
#if defined(SIMU) || !defined(__cplusplus)
#define backlightEnable(...)
#else
void backlightEnable(uint8_t dutyCycle = 0);
#endif
#define BACKLIGHT_LEVEL_MAX 100
#define BACKLIGHT_FORCED_ON BACKLIGHT_LEVEL_MAX + 1
#if defined(PCBX12S)
@@ -557,7 +551,13 @@ void backlightEnable(uint8_t dutyCycle = 0);
#else
#define BACKLIGHT_LEVEL_MIN 46
#endif
extern bool boardBacklightOn;
void backlightInit();
void backlightEnable(uint8_t dutyCycle);
void backlightFullOn();
bool isBacklightEnabled();
#define BACKLIGHT_ENABLE() \
{ \
boardBacklightOn = true; \
@@ -574,7 +574,6 @@ extern bool boardBacklightOn;
? 0 \
: g_eeGeneral.blOffBright); \
}
bool isBacklightEnabled();
#if !defined(SIMU)
void usbJoystickUpdate();
@@ -22,6 +22,8 @@
#include "opentx_types.h"
#include "board.h"
#include "globals.h"
void backlightInit()
{
// PIN init
@@ -61,6 +63,11 @@ void backlightEnable(uint8_t dutyCycle)
lastDutyCycle = dutyCycle;
}
void backlightFullOn()
{
backlightEnable(BACKLIGHT_LEVEL_MAX);
}
void lcdOff() {
backlightEnable(0);
}
+11 -11
View File
@@ -416,22 +416,22 @@ void lcdOn();
#define lcdRefreshWait(...)
// Backlight driver
void backlightInit();
void backlightEnable(uint8_t dutyCycle);
bool isBacklightEnabled();
#define BACKLIGHT_LEVEL_MAX 100
#define BACKLIGHT_FORCED_ON BACKLIGHT_LEVEL_MAX + 1
#define BACKLIGHT_LEVEL_MIN 1
extern bool boardBacklightOn;
void backlightInit();
void backlightEnable(uint8_t dutyCycle);
void backlightFullOn();
bool isBacklightEnabled();
#define BACKLIGHT_ENABLE() \
{ \
boardBacklightOn = true; \
backlightEnable(globalData.unexpectedShutdown \
? BACKLIGHT_LEVEL_MAX \
: BACKLIGHT_LEVEL_MAX - currentBacklightBright) \
#define BACKLIGHT_ENABLE() \
{ \
boardBacklightOn = true; \
backlightEnable(globalData.unexpectedShutdown \
? BACKLIGHT_LEVEL_MAX \
: BACKLIGHT_LEVEL_MAX - currentBacklightBright); \
}
#define BACKLIGHT_DISABLE() \
@@ -441,7 +441,7 @@ extern bool boardBacklightOn;
: ((g_eeGeneral.blOffBright == BACKLIGHT_LEVEL_MIN) && \
(g_eeGeneral.backlightMode != e_backlight_mode_off)) \
? 0 \
: g_eeGeneral.blOffBright) \
: g_eeGeneral.blOffBright); \
}
#if !defined(SIMU)
@@ -21,6 +21,7 @@
bool boardBacklightOn = false;
bool isBacklightEnabled() { return boardBacklightOn; }
void backlightFullOn() { boardBacklightOn = true; }
void backlightEnable(unsigned char) {}
void backlightEnable(unsigned char, unsigned char) {}
@@ -25,6 +25,7 @@
// no backlight
void backlightInit() {}
void backlightEnable(uint8_t level) {}
void backlightFullOn() {}
void backlightDisable() {}
uint8_t isBacklightEnabled() {return false;}
#elif defined(PCBX9E)
@@ -55,6 +56,11 @@ void backlightEnable(uint8_t level, uint8_t color)
BACKLIGHT_TIMER->CCR2 = ((100-level)*color)/20;
}
void backlightFullOn()
{
backlightEnable(0, 0);
}
void backlightDisable()
{
BACKLIGHT_TIMER->CCR1 = 0;
@@ -94,6 +100,11 @@ void backlightEnable(uint8_t level, uint8_t color)
BACKLIGHT_TIMER->CCR2 = ((100-level)*color)/20;
}
void backlightFullOn()
{
backlightEnable(0, 0);
}
void backlightDisable()
{
BACKLIGHT_TIMER->CCR4 = 0;
@@ -136,6 +147,11 @@ void backlightEnable(uint8_t level)
BACKLIGHT_COUNTER_REGISTER = 100 - level;
}
void backlightFullOn()
{
backlightEnable(0);
}
void backlightDisable()
{
BACKLIGHT_COUNTER_REGISTER = 0;
@@ -170,6 +186,11 @@ void backlightEnable(uint8_t level)
BACKLIGHT_TIMER->CCR1 = 100 - level;
}
void backlightFullOn()
{
backlightEnable(0);
}
void backlightDisable()
{
BACKLIGHT_TIMER->CCR1 = 0;
+11 -9
View File
@@ -699,19 +699,21 @@ void pwrResetHandler();
#endif
// Backlight driver
void backlightInit();
void backlightDisable();
#define BACKLIGHT_DISABLE() backlightDisable()
#define BACKLIGHT_FORCED_ON 101
void backlightInit();
void backlightDisable();
void backlightFullOn();
uint8_t isBacklightEnabled();
#if !defined(__cplusplus)
#define backlightEnable(...)
#elif defined(PCBX9E) || defined(PCBX9DP)
void backlightEnable(uint8_t level = 0, uint8_t color = 0);
#define BACKLIGHT_ENABLE() backlightEnable(currentBacklightBright, g_eeGeneral.backlightColor)
#if defined(PCBX9E) || defined(PCBX9DP)
void backlightEnable(uint8_t level, uint8_t color);
#define BACKLIGHT_ENABLE() \
backlightEnable(currentBacklightBright, g_eeGeneral.backlightColor)
#else
void backlightEnable(uint8_t level = 0);
#define BACKLIGHT_ENABLE() backlightEnable(currentBacklightBright)
void backlightEnable(uint8_t level);
#define BACKLIGHT_ENABLE() backlightEnable(currentBacklightBright)
#endif
#if !defined(SIMU)