touch with abtraction working, SD is not working
This commit is contained in:
@@ -112,7 +112,8 @@
|
||||
|
||||
// Global state variables
|
||||
// These hold the current display configuration
|
||||
static const struct st7796_config *config; // Pin and SPI configuration
|
||||
static struct st7796_config config_storage; // Static storage for config copy
|
||||
static const struct st7796_config *config; // Pin and SPI configuration
|
||||
static uint16_t width; // Display width in pixels (e.g., 480)
|
||||
static uint16_t height; // Display height in pixels (e.g., 320)
|
||||
static uint16_t x_offset; // X offset for display alignment (currently 0)
|
||||
@@ -321,7 +322,9 @@ static void set_window(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1) {
|
||||
* @param h Display height (320 for landscape)
|
||||
*/
|
||||
void st7796_init(const struct st7796_config *c, uint16_t w, uint16_t h) {
|
||||
config = c;
|
||||
// Copy config to static storage to avoid dangling pointer
|
||||
memcpy(&config_storage, c, sizeof(struct st7796_config));
|
||||
config = &config_storage;
|
||||
width = w;
|
||||
height = h;
|
||||
|
||||
@@ -401,10 +404,10 @@ void st7796_init(const struct st7796_config *c, uint16_t w, uint16_t h) {
|
||||
write_command_with_data(ST7796_MADCTL, &data, 1);
|
||||
sleep_ms(10);
|
||||
|
||||
// Display Inversion - try OFF first
|
||||
// Some displays look better with INVON, others with INVOFF
|
||||
// If colors look wrong, try: write_command(ST7796_INVON);
|
||||
write_command(ST7796_INVOFF);
|
||||
// Display Inversion - try ON for displays that need it
|
||||
// Some displays need INVON, others need INVOFF
|
||||
// If this doesn't work, try: write_command(ST7796_INVOFF);
|
||||
write_command(ST7796_INVON);
|
||||
sleep_ms(10);
|
||||
|
||||
// Normal Display Mode On
|
||||
|
||||
Reference in New Issue
Block a user