Add macro for RGB conversion
authorNathael Pajani <nathael.pajani@ed3l.fr>
Thu, 24 Sep 2020 11:09:40 +0000 (13:09 +0200)
committerNathael Pajani <nathael.pajani@ed3l.fr>
Tue, 8 Nov 2022 16:03:05 +0000 (17:03 +0100)
include/extdrv/st7735_tft_driver.h

index aa68c54..051c8ca 100644 (file)
@@ -85,6 +85,11 @@ struct st7735_ops {
        int (*erase_display)(struct st7735_display* conf);
 };
 
+#define RGB_MSB_TO_16bits_565(r, g, b) \
+               (uint16_t)( ((((uint16_t)(r))     ) & 0x00F8) | \
+                                       (((((uint16_t)(g)) << 11) & 0xE000) | ((((uint16_t)(g)) >> 5) & 0x0003)) | \
+                                       ((((uint16_t)(b)) << 5) & 0x1F00) )
+
 /* Note that GM should be '11' for 128x160 screens and '00' for 132x162 screens */
 enum st77xx_defs {
        ST77xx_NOP = 0x00, /* No operation */