inverted backpanel

This commit is contained in:
gemu2015 2022-07-07 13:31:52 +02:00
parent 53bd637568
commit 1f70dc8f97
2 changed files with 32 additions and 8 deletions

View File

@ -62,6 +62,7 @@ uDisplay::uDisplay(char *lp) : Renderer(800, 600) {
sa_mode = 16; sa_mode = 16;
saw_3 = 0xff; saw_3 = 0xff;
dim_op = 0xff; dim_op = 0xff;
bpmode = 0;
dsp_off = 0xff; dsp_off = 0xff;
dsp_on = 0xff; dsp_on = 0xff;
lutpsize = 0; lutpsize = 0;
@ -305,6 +306,9 @@ uDisplay::uDisplay(char *lp) : Renderer(800, 600) {
rotmap_ymin = next_val(&lp1); rotmap_ymin = next_val(&lp1);
rotmap_ymax = next_val(&lp1); rotmap_ymax = next_val(&lp1);
break; break;
case 'b':
bpmode = next_val(&lp1);
break;
} }
} }
} }
@ -1344,7 +1348,7 @@ void uDisplay::DisplayOnff(int8_t on) {
pwr_cbp(on); pwr_cbp(on);
} }
// udisp_bpwr(on); #define AW_PWMRES 1024
if (interface == _UDSP_I2C) { if (interface == _UDSP_I2C) {
if (on) { if (on) {
@ -1357,10 +1361,17 @@ void uDisplay::DisplayOnff(int8_t on) {
if (dsp_on != 0xff) spi_command_one(dsp_on); if (dsp_on != 0xff) spi_command_one(dsp_on);
if (bpanel >= 0) { if (bpanel >= 0) {
#ifdef ESP32 #ifdef ESP32
analogWrite(bpanel, dimmer10_gamma); if (!bpmode) {
// ledcWrite(ESP32_PWM_CHANNEL, dimmer8_gamma); analogWrite(bpanel, dimmer10_gamma);
} else {
analogWrite(bpanel, AW_PWMRES - dimmer10_gamma);
}
#else #else
digitalWrite(bpanel, HIGH); if (!bpmode) {
digitalWrite(bpanel, HIGH);
} else {
digitalWrite(bpanel, LOW);
}
#endif #endif
} }
@ -1368,10 +1379,17 @@ void uDisplay::DisplayOnff(int8_t on) {
if (dsp_off != 0xff) spi_command_one(dsp_off); if (dsp_off != 0xff) spi_command_one(dsp_off);
if (bpanel >= 0) { if (bpanel >= 0) {
#ifdef ESP32 #ifdef ESP32
analogWrite(bpanel, 0); if (!bpmode) {
// ledcWrite(ESP32_PWM_CHANNEL, 0); analogWrite(bpanel, 0);
} else {
analogWrite(bpanel, AW_PWMRES - 1);
}
#else #else
digitalWrite(bpanel, LOW); if (!bpmode) {
digitalWrite(bpanel, LOW);
} else {
digitalWrite(bpanel, HIGH);
}
#endif #endif
} }
} }
@ -1417,7 +1435,12 @@ void uDisplay::dim10(uint8_t dim, uint16_t dim_gamma) { // dimmer with
#ifdef ESP32 // TODO should we also add a ESP8266 version for bpanel? #ifdef ESP32 // TODO should we also add a ESP8266 version for bpanel?
if (bpanel >= 0) { // is the BaclPanel GPIO configured if (bpanel >= 0) { // is the BaclPanel GPIO configured
analogWrite(bpanel, dimmer10_gamma); if (!bpmode) {
analogWrite(bpanel, dimmer10_gamma);
} else {
analogWrite(bpanel, AW_PWMRES - dimmer10_gamma);
}
// ledcWrite(ESP32_PWM_CHANNEL, dimmer8_gamma); // ledcWrite(ESP32_PWM_CHANNEL, dimmer8_gamma);
} else if (dim_cbp) { } else if (dim_cbp) {
dim_cbp(dim); dim_cbp(dim);

View File

@ -176,6 +176,7 @@ class uDisplay : public Renderer {
uint16_t bg_col; uint16_t bg_col;
uint16_t gxs; uint16_t gxs;
uint16_t gys; uint16_t gys;
int8_t bpmode;
int8_t spi_cs; int8_t spi_cs;
int8_t spi_clk; int8_t spi_clk;
int8_t spi_mosi; int8_t spi_mosi;