From 458dc049e518ca1b42dbae1eb985e9bf59bd38ad Mon Sep 17 00:00:00 2001 From: eshifri <46511024+eshifri@users.noreply.github.com> Date: Wed, 21 Dec 2022 03:50:53 -0800 Subject: [PATCH] fix(color): Source selection for curve display (#2894) --- radio/src/gui/colorlcd/curveedit.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/radio/src/gui/colorlcd/curveedit.cpp b/radio/src/gui/colorlcd/curveedit.cpp index 0a19e9df2f7..f3412b4a0a0 100644 --- a/radio/src/gui/colorlcd/curveedit.cpp +++ b/radio/src/gui/colorlcd/curveedit.cpp @@ -297,13 +297,19 @@ void CurveEdit::onEvent(event_t event) } } + void CurveEdit::checkEvents() { if (!lockSource) { int16_t val = getMovedSource(MIXSRC_FIRST_INPUT); - if (val) { - CurveEdit::currentSource = val + 1 - MIXSRC_FIRST_INPUT; - TRACE("source=%d", CurveEdit::currentSource); + if (val > 0) { + if (val > NUM_STICKS + NUM_POTS + NUM_SLIDERS) + CurveEdit::currentSource = val + 1 - MIXSRC_FIRST_INPUT; + else { + CurveEdit::currentSource = expoAddress(val - 1)->srcRaw; + TRACE("Detected source=%d", val); + } + TRACE("Applied source=%d", CurveEdit::currentSource); } } FormField::checkEvents();