fix(led): use identity colors on universal progression lights
Loop_Light_Handle was hardcoding red for every measure; map L1-L7 to the same R/G/B/yellow/purple/cyan/white table as App guide LEDs. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
04abc2e1be
commit
cb4443f0e4
|
|
@ -1494,6 +1494,31 @@ void Pick_Handle()
|
|||
}
|
||||
|
||||
|
||||
/* 指板灯本色:与 App 引导灯一致(含黄/紫/青/白合成色) */
|
||||
static LedColor_TypeDef tm1629_led_identity_color(LedNum_TypeDef led)
|
||||
{
|
||||
switch (led)
|
||||
{
|
||||
case LED_L1: return LED_COLOR_R;
|
||||
case LED_L2: return LED_COLOR_G;
|
||||
case LED_L3: return LED_COLOR_B;
|
||||
case LED_L4: return LED_COLOR_YELL;
|
||||
case LED_L5: return LED_COLOR_PURP;
|
||||
case LED_L6: return LED_COLOR_CYA;
|
||||
case LED_L7: return LED_COLOR_WHITE;
|
||||
default: return COLOR_OTHER;
|
||||
}
|
||||
}
|
||||
|
||||
static void tm1629_set_identity_led(LedNum_TypeDef led)
|
||||
{
|
||||
LedColor_TypeDef color = tm1629_led_identity_color(led);
|
||||
if (color == COLOR_OTHER)
|
||||
app_tm1629_all_off();
|
||||
else
|
||||
app_tm1629_set_led(led, color);
|
||||
}
|
||||
|
||||
void Loop_Light_Handle(uint8_t measure)
|
||||
{
|
||||
switch(ParamGuiData[ALL_MODE_PARAM].Current)
|
||||
|
|
@ -1501,28 +1526,28 @@ void Loop_Light_Handle(uint8_t measure)
|
|||
case 0:
|
||||
switch(measure)
|
||||
{
|
||||
case 1:app_tm1629_set_led(LED_L1, LED_COLOR_R);break;
|
||||
case 2:app_tm1629_set_led(LED_L6, LED_COLOR_R);break;
|
||||
case 3:app_tm1629_set_led(LED_L4, LED_COLOR_R);break;
|
||||
case 4:app_tm1629_set_led(LED_L5, LED_COLOR_R);break;
|
||||
case 1:tm1629_set_identity_led(LED_L1);break;
|
||||
case 2:tm1629_set_identity_led(LED_L6);break;
|
||||
case 3:tm1629_set_identity_led(LED_L4);break;
|
||||
case 4:tm1629_set_identity_led(LED_L5);break;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
switch(measure)
|
||||
{
|
||||
case 1:app_tm1629_set_led(LED_L1, LED_COLOR_R);break;
|
||||
case 2:app_tm1629_set_led(LED_L5, LED_COLOR_R);break;
|
||||
case 3:app_tm1629_set_led(LED_L6, LED_COLOR_R);break;
|
||||
case 4:app_tm1629_set_led(LED_L4, LED_COLOR_R);break;
|
||||
case 1:tm1629_set_identity_led(LED_L1);break;
|
||||
case 2:tm1629_set_identity_led(LED_L5);break;
|
||||
case 3:tm1629_set_identity_led(LED_L6);break;
|
||||
case 4:tm1629_set_identity_led(LED_L4);break;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
switch(measure)
|
||||
{
|
||||
case 1:app_tm1629_set_led(LED_L1, LED_COLOR_R);break;
|
||||
case 2:app_tm1629_set_led(LED_L3, LED_COLOR_R);break;
|
||||
case 3:app_tm1629_set_led(LED_L6, LED_COLOR_R);break;
|
||||
case 4:app_tm1629_set_led(LED_L4, LED_COLOR_R);break;
|
||||
case 1:tm1629_set_identity_led(LED_L1);break;
|
||||
case 2:tm1629_set_identity_led(LED_L3);break;
|
||||
case 3:tm1629_set_identity_led(LED_L6);break;
|
||||
case 4:tm1629_set_identity_led(LED_L4);break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -1535,33 +1560,7 @@ void BL_Set_led(uint8_t led, uint8_t chord_type)
|
|||
* 导致 UI 与 MIDI 发声不一致;和弦品质仅由映射页 02 03/02 04 维护。 */
|
||||
(void)chord_type;
|
||||
Led = led;
|
||||
switch(led){
|
||||
case LED_L1:
|
||||
app_tm1629_set_led(LED_L1, LED_COLOR_R);
|
||||
break;
|
||||
case LED_L2:
|
||||
app_tm1629_set_led(LED_L2, LED_COLOR_G);
|
||||
break;
|
||||
case LED_L3:
|
||||
app_tm1629_set_led(LED_L3, LED_COLOR_B);
|
||||
break;
|
||||
case LED_L4:
|
||||
app_tm1629_set_led(LED_L4, LED_COLOR_YELL);
|
||||
break;
|
||||
case LED_L5:
|
||||
app_tm1629_set_led(LED_L5, LED_COLOR_PURP);
|
||||
break;
|
||||
case LED_L6:
|
||||
app_tm1629_set_led(LED_L6, LED_COLOR_CYA);
|
||||
break;
|
||||
case LED_L7:
|
||||
app_tm1629_set_led(LED_L7, LED_COLOR_WHITE);
|
||||
break;
|
||||
default:
|
||||
// 鏈煡鐏彿锛屽叏閮ㄥ叧闂?
|
||||
app_tm1629_all_off();
|
||||
break;
|
||||
}
|
||||
tm1629_set_identity_led((LedNum_TypeDef)led);
|
||||
}
|
||||
|
||||
void BT_Pitch_offset_map(uint8_t pos_offset,uint8_t pitch_offset)
|
||||
|
|
|
|||
Loading…
Reference in New Issue