|
324 | 324 | #define IS_ULTIPANEL 1
|
325 | 325 | #endif
|
326 | 326 |
|
327 |
| -// TFT Compatibility |
| 327 | +// TFT Legacy Compatibility |
328 | 328 | #if ANY(FSMC_GRAPHICAL_TFT, SPI_GRAPHICAL_TFT, TFT_320x240, TFT_480x320, TFT_320x240_SPI, TFT_480x320_SPI, TFT_LVGL_UI_FSMC, TFT_LVGL_UI_SPI)
|
329 | 329 | #define IS_LEGACY_TFT 1
|
330 | 330 | #define TFT_GENERIC
|
|
1525 | 1525 | #endif
|
1526 | 1526 | #endif
|
1527 | 1527 |
|
1528 |
| -#if ENABLED(TFT_RES_320x240) |
1529 |
| - #define TFT_WIDTH 320 |
1530 |
| - #define TFT_HEIGHT 240 |
1531 |
| - #define GRAPHICAL_TFT_UPSCALE 2 |
1532 |
| -#elif ENABLED(TFT_RES_480x272) |
1533 |
| - #define TFT_WIDTH 480 |
1534 |
| - #define TFT_HEIGHT 272 |
1535 |
| - #define GRAPHICAL_TFT_UPSCALE 2 |
1536 |
| -#elif ENABLED(TFT_RES_480x320) |
1537 |
| - #define TFT_WIDTH 480 |
1538 |
| - #define TFT_HEIGHT 320 |
1539 |
| - #define GRAPHICAL_TFT_UPSCALE 3 |
1540 |
| -#elif ENABLED(TFT_RES_1024x600) |
1541 |
| - #define TFT_WIDTH 1024 |
1542 |
| - #define TFT_HEIGHT 600 |
1543 |
| - #if ENABLED(TOUCH_SCREEN) |
1544 |
| - #define GRAPHICAL_TFT_UPSCALE 6 |
1545 |
| - #define TFT_PIXEL_OFFSET_X 120 |
1546 |
| - #else |
1547 |
| - #define GRAPHICAL_TFT_UPSCALE 8 |
1548 |
| - #define TFT_PIXEL_OFFSET_X 0 |
1549 |
| - #endif |
1550 |
| -#endif |
1551 |
| - |
1552 | 1528 | // FSMC/SPI TFT Panels using standard HAL/tft/tft_(fsmc|spi|ltdc).h
|
1553 | 1529 | #if ENABLED(TFT_INTERFACE_FSMC)
|
1554 | 1530 | #define HAS_FSMC_TFT 1
|
|
1573 | 1549 | #endif
|
1574 | 1550 | #endif
|
1575 | 1551 |
|
| 1552 | +// Set TFT_COLOR_UI_PORTRAIT flag, if needed |
| 1553 | +#if defined(TFT_ROTATION) && (HAS_SPI_TFT || HAS_FSMC_TFT || HAS_LTDC_TFT) |
| 1554 | + #define _CMP_TFT_ROTATE_90 90 |
| 1555 | + #define _CMP_TFT_ROTATE_270 270 |
| 1556 | + #define _CMP_TFT_ROTATE_90_MIRROR_X 90 |
| 1557 | + #define _CMP_TFT_ROTATE_90_MIRROR_Y 90 |
| 1558 | + #define _CMP_TFT_ROTATE_270_MIRROR_X 270 |
| 1559 | + #define _CMP_TFT_ROTATE_270_MIRROR_Y 270 |
| 1560 | + #define _ISROT(N) || (_CAT(_CMP_, TFT_ROTATION) == N) |
| 1561 | + #define ISROT(V...) (0 MAP(_ISROT, V)) |
| 1562 | + |
| 1563 | + #if ISROT(90, 270) |
| 1564 | + #define TFT_COLOR_UI_PORTRAIT 1 |
| 1565 | + #endif |
| 1566 | + |
| 1567 | + #undef _CMP_TFT_ROTATE_90 |
| 1568 | + #undef _CMP_TFT_ROTATE_270 |
| 1569 | + #undef _CMP_TFT_ROTATE_90_MIRROR_X |
| 1570 | + #undef _CMP_TFT_ROTATE_90_MIRROR_Y |
| 1571 | + #undef _CMP_TFT_ROTATE_270_MIRROR_X |
| 1572 | + #undef _CMP_TFT_ROTATE_270_MIRROR_Y |
| 1573 | + #undef _ISROT |
| 1574 | + #undef ISROT |
| 1575 | +#endif |
| 1576 | + |
| 1577 | +#if ENABLED(TFT_RES_320x240) |
| 1578 | + #if ENABLED(TFT_COLOR_UI_PORTRAIT) |
| 1579 | + #define TFT_WIDTH 240 |
| 1580 | + #define TFT_HEIGHT 320 |
| 1581 | + #else |
| 1582 | + #define TFT_WIDTH 320 |
| 1583 | + #define TFT_HEIGHT 240 |
| 1584 | + #endif |
| 1585 | + #define GRAPHICAL_TFT_UPSCALE 2 |
| 1586 | +#elif ENABLED(TFT_RES_480x272) |
| 1587 | + #define TFT_WIDTH 480 |
| 1588 | + #define TFT_HEIGHT 272 |
| 1589 | + #define GRAPHICAL_TFT_UPSCALE 2 |
| 1590 | +#elif ENABLED(TFT_RES_480x320) |
| 1591 | + #define TFT_WIDTH 480 |
| 1592 | + #define TFT_HEIGHT 320 |
| 1593 | + #define GRAPHICAL_TFT_UPSCALE 3 |
| 1594 | +#elif ENABLED(TFT_RES_1024x600) |
| 1595 | + #define TFT_WIDTH 1024 |
| 1596 | + #define TFT_HEIGHT 600 |
| 1597 | + #if ENABLED(TOUCH_SCREEN) |
| 1598 | + #define GRAPHICAL_TFT_UPSCALE 6 |
| 1599 | + #define TFT_PIXEL_OFFSET_X 120 |
| 1600 | + #else |
| 1601 | + #define GRAPHICAL_TFT_UPSCALE 8 |
| 1602 | + #define TFT_PIXEL_OFFSET_X 0 |
| 1603 | + #endif |
| 1604 | +#endif |
| 1605 | + |
1576 | 1606 | #if ENABLED(TFT_COLOR_UI)
|
1577 |
| - #if TFT_HEIGHT == 240 |
| 1607 | + #if (TFT_WIDTH == 320 && TFT_HEIGHT == 240) || (TFT_WIDTH == 240 && TFT_HEIGHT == 320) |
1578 | 1608 | #if ENABLED(TFT_INTERFACE_SPI)
|
1579 | 1609 | #define TFT_320x240_SPI
|
1580 | 1610 | #elif ENABLED(TFT_INTERFACE_FSMC)
|
|
1612 | 1642 | #endif
|
1613 | 1643 | #if ANY(HAS_UI_320x240, HAS_UI_480x320, HAS_UI_480x272)
|
1614 | 1644 | #define LCD_HEIGHT TERN(TOUCH_SCREEN, 6, 7) // Fewer lines with touch buttons onscreen
|
| 1645 | +#elif HAS_UI_240x320 |
| 1646 | + #define LCD_HEIGHT TERN(TOUCH_SCREEN, 8, 6) // Fewer lines with touch buttons onscreen |
1615 | 1647 | #elif HAS_UI_1024x600
|
1616 | 1648 | #define LCD_HEIGHT TERN(TOUCH_SCREEN, 12, 13) // Fewer lines with touch buttons onscreen
|
1617 | 1649 | #endif
|
|
0 commit comments