-
-
Notifications
You must be signed in to change notification settings - Fork 215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
st7735 dead pixel when setRotation(2) #475
Comments
hi, thank you for testing this fixing a problem requires to know what the problem is, symptoms and assumptions aren't enough please provide more information such as your LGFX configuration, a picture of the build and anything that can help reproduce the issue |
/* ----------------------*/
class LGFX_LiLyGo_TDongleS3 : public lgfx::LGFX_Device
{
lgfx::Panel_ST7735S _panel_instance;
lgfx::Bus_SPI _bus_instance;
lgfx::Light_PWM _light_instance;
public:
LGFX_LiLyGo_TDongleS3(void)
{
{
auto cfg = _bus_instance.config();
cfg.spi_host = SPI3_HOST; // SPI2_HOST is in use by the RGB led
cfg.spi_mode = 0; // Set SPI communication mode (0 ~ 3)
cfg.freq_write = 27000000; // SPI clock when sending (max 80MHz, rounded to 80MHz divided by an integer)
cfg.freq_read = 16000000; // SPI clock when receiving
cfg.spi_3wire = true; // Set true when receiving on the MOSI pin
cfg.use_lock = false; // Set true when using transaction lock
cfg.dma_channel = SPI_DMA_CH_AUTO; // Set the DMA channel to use (0=not use DMA / 1=1ch / 2=ch / SPI_DMA_CH_AUTO=auto setting)
cfg.pin_sclk = DISPLAY_SCLK; // set SPI SCLK pin number
cfg.pin_mosi = DISPLAY_MOSI; // Set MOSI pin number for SPI
cfg.pin_miso = DISPLAY_MISO; // Set MISO pin for SPI (-1 = disable)
cfg.pin_dc = DISPLAY_DC; // Set SPI D/C pin number (-1 = disable)
_bus_instance.config (cfg); // Apply the setting value to the bus.
_panel_instance.setBus (&_bus_instance); // Sets the bus to the panel.
}
{
auto cfg = _panel_instance.config(); // Obtain the structure for display panel settings.
cfg.pin_cs = DISPLAY_CS; // Pin number to which CS is connected (-1 = disable)
cfg.pin_rst = DISPLAY_RST; // pin number where RST is connected (-1 = disable)
cfg.pin_busy = DISPLAY_BUSY ; // pin number to which BUSY is connected (-1 = disable)
cfg.panel_width = DISPLAY_HEIGHT; // actual displayable width. Note: width/height swapped due to the rotation
cfg.panel_height = DISPLAY_WIDTH; // Actual displayable height Note: width/height swapped due to the rotation
cfg.offset_x = 26; // Panel offset in X direction
cfg.offset_y = 1; // Y direction offset amount of the panel
cfg.offset_rotation = 1; // Rotation direction value offset 0~7 (4~7 are upside down)
cfg.dummy_read_pixel = 8; // Number of bits for dummy read before pixel read
cfg.dummy_read_bits = 1; // Number of dummy read bits before non-pixel data read
cfg.readable = true; // set to true if data can be read
cfg.invert = true;
cfg.rgb_order = false;
cfg.dlen_16bit = false; // Set to true for panels that transmit data length in 16-bit units with 16-bit parallel or SPI
cfg.bus_shared = true; // If the bus is shared with the SD card, set to true (bus control with drawJpgFile etc.)
// Please set the following only when the display is shifted with a driver with a variable number of pixels such as ST7735 or ILI9163.
cfg.memory_width = 132; // Maximum width supported by driver IC
cfg.memory_height = 160; // Maximum height supported by driver IC
_panel_instance.config(cfg);
}
{
auto cfg = _light_instance.config();
cfg.pin_bl = DISPLAY_LEDA; // pin number to which the backlight is connected
cfg.invert = true; // true to invert backlight brightness
cfg.freq = 12000; // Backlight PWM frequency
cfg.pwm_channel = 7; // PWM channel number to use
_light_instance.config(cfg);
_panel_instance. setLight (&_light_instance);
}
setPanel (&_panel_instance);
}
};
LGFX_LiLyGo_TDongleS3 lcd; |
driver seems correct but some models may vary, I'd play with some of those settings just to see what happens:
poking with the offset rotation and see how it affects the symptoms:
who knows what can happen when one pixel line has a negative offset 😉
|
Thanks mate, works fine now, just the set rotation has shifted, what was 2 is now 3 thanks for your help |
Hi,
I'm using T-dongle-S3 with ST7735 screen
Screen works fine with setRotation(0), setRotation(1), setRotation(3) but some pixels are dead when setRotation(2)
have you tested this before?
Any idea how to fix this?
Thanks
The text was updated successfully, but these errors were encountered: