Hello,
Chriss give me a big help by proving code. I’ve uptaded mine and it works.
Before the Wiki addition, could you correct me if I’m wrong somewhere ?
You have to define a register in app_defines.h a free address which is smaller than < 0x80. This example use the 0x06d address wich takes place of RX Midi LED.
Modication on Line 167
CS_MENU_CURVE EQU 0x06d
Then you have to put extra code in cs_menu_leds.inc. This has to be inserted in CS_MENU_LED_Update function on Line 194
;;CS_MENU_CURVE_REGISTER[2..0]: ENV curve
call CS_MENU_MS_GetSIDBase
movlw CS_SID_ENV_CURVES
addwf FSR0L, F
movf INDF0, W
btfsc CS_MENU_SELECTED_ENV, 0
swapf INDF0, W
andlw 0x07
movwf CS_MENU_CURVE
Now it’s possible in cs_menu_io_tables to assign the buttons and LEDs
DIN_ENTRY CS_MENU_BUTTON_Env_Curve, 3, 6 ;(depending on the shiftregister and pins)
DOUT_ENTRY CS_MENU_CURVE, 0, 3, 4 ; ATTACK LED (depending on the shiftregister and pins)
DOUT_ENTRY CS_MENU_CURVE, 1, 4, 1 ; DECAY LED (depending on the shiftregister and pins)
DOUT_ENTRY CS_MENU_CURVE, 2, 3, 3 ; RELEASE LED (depending on the shiftregister and pins)
Thanks again Chriss and Thorsten for your help,
ludo