Commit da77588
committed
Working on reorganizing the lcd bus drivers
The remodel of the bus drivers is to allow for better handling of each of the bus types on a per MCU/board basis.
I am also expanding the software rotation in the RGB bus driver to allow its use across all bus types.
I have added RGB888 dithering and RGB565 dithering that will be able to be used with or without rotation. rgb565 byte swap is being added in a manner that will allow only a single iteration over the frame buffer data is either software rotation is being used or dithering is being used or both.
For memory constrained ESP32 boards I have to work out a way to handle the transmitting of the frame buffer without needing to allocate additional buffers. Ideally it is going to be best to create smaller buffers to allow the allocation of at least 1 additional frame buffer. Ideally if 2additional frame buffers are able to be allocated, in DMA memory space it would be best so while one buffer is transmitting the data is able to be copied into the second buffer. If only 1 buffer is able to be allocated, then None of the buffers will need to be allocated in DMA memory. This will at the very least give a performance boost because LVGL is going to be able to render to one of the user supplied buffers without being interrupted at all from ISRs during the sending to a display. This is because the sending to the display is going to be done on the second core even if 1 buffer is used for sending and that buffer is not in DMA memory. I need to put some thought into how to handle the buffer allocation in the best way as I don't want to add anything that can be confusing for the user. If everything works like I am hoping things should actually get a little easier to use because the user is not going to be given the ability to specify the type of memory a buffer has to be allocated in. The user will be able to simply create bytearrays for the frame buffers and pass memoryview instances pointing to those bytearrays to the display driver.
The CI is going to fail for this commit. The code is not finished yet.1 parent 7d783f5 commit da77588
167 files changed
Lines changed: 4273 additions & 2525 deletions
File tree
- ext_mod/lcd_bus
- bitbang
- inc
- src
- common_include
- common_src
- esp32_include
- esp32
- inc
- src
- generic
- inc
- src
- macos
- inc
- src
- mimxrt
- inc
- src
- nrf
- inc
- src
- renesas-ra
- inc
- src
- rp2
- inc
- src
- samd
- inc
- src
- sdl_bus
- stm32
- inc
- src
- unix
- inc
- src
- unsupported
- inc
- src
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
0 commit comments