Add link-based LXMF delivery, fix display SPI contention

Display: switch pushPixelsDMA to blocking pushPixels to prevent SPI bus
contention between the display and SX1262 radio on the shared FSPI bus.

LXMF: add opportunistic-first delivery with background link upgrade.
First message to a peer sends immediately via opportunistic packet. A
link is established in the background; subsequent messages use the link
when active (prepending dest_hash for Python DIRECT format), falling
back to opportunistic otherwise. No user-facing delay.
This commit is contained in:
DeFiDude
2026-03-19 13:07:19 -06:00
parent 71849cbb62
commit 8b8a9b572f
3 changed files with 74 additions and 11 deletions
+2 -1
View File
@@ -11,7 +11,8 @@ static void lvgl_flush_cb(lv_disp_drv_t* drv, const lv_area_t* area, lv_color_t*
uint32_t h = area->y2 - area->y1 + 1;
s_gfx->startWrite();
s_gfx->setAddrWindow(area->x1, area->y1, w, h);
s_gfx->pushPixelsDMA((lgfx::swap565_t*)&color_p->full, w * h);
// Blocking pushPixels prevents SPI bus contention with SX1262 radio on shared FSPI bus
s_gfx->pushPixels((lgfx::swap565_t*)&color_p->full, w * h);
s_gfx->endWrite();
lv_disp_flush_ready(drv);
}