You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Panel Driver IC: RA8875 with Touch Native Controller
Bus type: SPI
LovyanGFX version: v1.2.0
FrameWork version: Visual Studio Code
Build Environment: PlatformIO
Operating System: Windows 10
Problem Description
The recently released version of the Touch_RA8875.h library has lines in the init() method that do not make sense. First, the RA8875 display shares the same SPI for controlling the display and the touch screen. Configuring an SPI for controlling the touch screen is redundant and can mess up previous display configurations that have already been made. I have noticed this by causing malfunctions.
Expected Behavior
the touch screen does not work properly
Actual Behavior
The following piece of code I am referring to and believe should be removed:
In addition, it was necessary to implement the code that defines the interrupt pin on which the microcontroller will receive the signal that a touch has occurred (INT). Important for handling interrupts, interrupt routines (ISR), etc. Below is a section that should have been implemented:
if (_cfg.pin_int !=-1) {
pinMode(_cfg.pin_int, lgfx::pin_mode_t::input);
digitalWrite(_cfg.pin_int, HIGH);
}
Check
Check if it is correctly implemented for the ESP32S3 MCU, as I found that in the respective folders some things between ESP32 and ESP32S3 are different
common.cpp (hpp)
BUS_SPI.cpp (hpp)
Folder esp32 and esp32S3
Final considerations
It is always good for clarity of design and code understanding to use constants to define the registers and functions of the microcontroller in question. This makes it easier to find possible bugs and understand the code. It reduces the difficulty in locating functions and registers in the datasheet. I use the same name as the definitions or constants that are identical to the datasheet. It greatly improves the understanding of what is happening in the code. I create a file with only arpa registers like RA8875_registers.hpp and declare all the registers and some considerations about it.
The text was updated successfully, but these errors were encountered:
Environment
Problem Description
The recently released version of the Touch_RA8875.h library has lines in the init() method that do not make sense. First, the RA8875 display shares the same SPI for controlling the display and the touch screen. Configuring an SPI for controlling the touch screen is redundant and can mess up previous display configurations that have already been made. I have noticed this by causing malfunctions.
Expected Behavior
the touch screen does not work properly
Actual Behavior
The following piece of code I am referring to and believe should be removed:
In addition, it was necessary to implement the code that defines the interrupt pin on which the microcontroller will receive the signal that a touch has occurred (INT). Important for handling interrupts, interrupt routines (ISR), etc. Below is a section that should have been implemented:
Check
Check if it is correctly implemented for the ESP32S3 MCU, as I found that in the respective folders some things between ESP32 and ESP32S3 are different
Final considerations
It is always good for clarity of design and code understanding to use constants to define the registers and functions of the microcontroller in question. This makes it easier to find possible bugs and understand the code. It reduces the difficulty in locating functions and registers in the datasheet. I use the same name as the definitions or constants that are identical to the datasheet. It greatly improves the understanding of what is happening in the code. I create a file with only arpa registers like RA8875_registers.hpp and declare all the registers and some considerations about it.
The text was updated successfully, but these errors were encountered: