Jump to content

understanding how to configure LEDrings


Steven_C

Recommended Posts

from main.asm

;; used by lc_ledrings.inc

LEDRINGS_SR_CATHODES      EQU      8      ; shift register with cathodes of the 8 LED rings

LEDRINGS_SR_ANODES_1      EQU      10      ; first shift register with anodes of the 8 LED rings

LEDRINGS_SR_ANODES_2      EQU      11      ; second shift register with anodes of the 8 LED rings

I assume I won't have to change these numbers?

from lc_io_table

LC_IO_TABLE_LAYER0

     ;; 1st shift register

     ;;      button                  LED

     db      ID_REC_RDY_CHN1,      ID_REC_RDY_CHN1

     db      ID_REC_RDY_CHN2,      ID_REC_RDY_CHN2

     db      ID_REC_RDY_CHN3,      ID_REC_RDY_CHN3

     db      ID_REC_RDY_CHN4,      ID_REC_RDY_CHN4

     db      ID_REC_RDY_CHN5,      ID_REC_RDY_CHN5

     db      ID_REC_RDY_CHN6,      ID_REC_RDY_CHN6

     db      ID_REC_RDY_CHN7,      ID_REC_RDY_CHN7

     db      ID_REC_RDY_CHN8,      ID_REC_RDY_CHN8

     ;; 2nd shift register

     ;;      button                  LED

     db      ID_SOLO_CHN1,            ID_SOLO_CHN1

     db      ID_SOLO_CHN2,            ID_SOLO_CHN2

     db      ID_SOLO_CHN3,            ID_SOLO_CHN3

     db      ID_SOLO_CHN4,            ID_SOLO_CHN4

     db      ID_SOLO_CHN5,            ID_SOLO_CHN5

     db      ID_SOLO_CHN6,            ID_SOLO_CHN6

     db      ID_SOLO_CHN7,            ID_SOLO_CHN7

     db      ID_SOLO_CHN8,            ID_SOLO_CHN8

     ;; 3rd shift register

     ;;      button                  LED

     db      ID_MUTE_CHN1,            ID_MUTE_CHN1

     db      ID_MUTE_CHN2,            ID_MUTE_CHN2

     db      ID_MUTE_CHN3,            ID_MUTE_CHN3

     db      ID_MUTE_CHN4,            ID_MUTE_CHN4

     db      ID_MUTE_CHN5,            ID_MUTE_CHN5

     db      ID_MUTE_CHN6,            ID_MUTE_CHN6

     db      ID_MUTE_CHN7,            ID_MUTE_CHN7

     db      ID_MUTE_CHN8,            ID_MUTE_CHN8

     ;; 4th shift register

     ;;      button                  LED

     db      ID_SELECT_CHN1,            ID_SELECT_CHN1

     db      ID_SELECT_CHN2,            ID_SELECT_CHN2

     db      ID_SELECT_CHN3,            ID_SELECT_CHN3

     db      ID_SELECT_CHN4,            ID_SELECT_CHN4

     db      ID_SELECT_CHN5,            ID_SELECT_CHN5

     db      ID_SELECT_CHN6,            ID_SELECT_CHN6

     db      ID_SELECT_CHN7,            ID_SELECT_CHN7

     db      ID_SELECT_CHN8,            ID_SELECT_CHN8

     ;; 5th shift register

     ;;      button                  LED

     db      ID_ASSIGN_TRACK,      ID_ASSIGN_TRACK

     db      ID_ASSIGN_SEND,            ID_ASSIGN_SEND

     db      ID_ASSIGN_PAN_SURROUND,      ID_ASSIGN_PAN_SURROUND

     db      ID_ASSIGN_PLUG_IN,      ID_ASSIGN_PLUG_IN

     db      ID_ASSIGN_EQ,            ID_ASSIGN_EQ

     db      ID_ASSIGN_INSTRUMENT,      ID_ASSIGN_INSTRUMENT

     db      ID_BANK_LEFT,            ID_IGNORE            ; (no LED supported by host)

     db      ID_BANK_RIGHT,            ID_IGNORE            ; (no LED supported by host)

     ;; 6th shift register

     ;;      button                  LED

     db      ID_BANK_CHANNEL_LEFT,      ID_IGNORE            ; (no LED supported by host)

     db      ID_BANK_CHANNEL_RIGHT,      ID_IGNORE            ; (no LED supported by host)

     db      ID_FLIP,            ID_FLIP

     db      ID_GLOBAL_VIEW,            ID_GLOBAL_VIEW

     db      ID_SHIFT,            ID_IGNORE            ; (no LED supported by host)

     db      ID_OPTION,            ID_IGNORE            ; (no LED supported by host)

     db      ID_CONTROL,            ID_IGNORE            ; (no LED supported by host)

     db      ID_CMD_ALT,            ID_IGNORE            ; (no LED supported by host)

     ;; 7th shift register

     ;;      button                  LED

     db      ID_MARKER,            ID_MARKER

     db      ID_NUDGE,            ID_NUDGE

     db      ID_CYCLE,            ID_CYCLE

     db      ID_DROP,            ID_DROP

     db      ID_REPLACE,            ID_REPLACE

     db      ID_CLICK,            ID_CLICK

     db      ID_REWIND,            ID_REWIND

     db      ID_FAST_FWD,            ID_FAST_FWD

     ;; 8th shift register

     ;;      button                  LED

     db      ID_STOP,            ID_STOP

     db      ID_PLAY,            ID_PLAY

     db      ID_RECORD,            ID_RECORD

     db      ID_CURSOR_UP,            ID_IGNORE            ; (no LED supported by host)

     db      ID_CURSOR_LEFT,            ID_IGNORE            ; (no LED supported by host)

     db      ID_ZOOM,            ID_ZOOM

     db      ID_CURSOR_RIGHT,      ID_IGNORE            ; (no LED supported by host)

     db      ID_CURSOR_DOWN,            ID_IGNORE            ; (no LED supported by host)

     ;; 9th shift register

     ;;      button                  LED

     db      ID_VPOT_SELECT_CHN1,      ID_IGNORE            ; (no LED supported by host)

     db      ID_VPOT_SELECT_CHN2,      ID_IGNORE            ; (no LED supported by host)

     db      ID_VPOT_SELECT_CHN3,      ID_IGNORE            ; (no LED supported by host)

     db      ID_VPOT_SELECT_CHN4,      ID_IGNORE            ; (no LED supported by host)

     db      ID_VPOT_SELECT_CHN5,      ID_IGNORE            ; (no LED supported by host)

     db      ID_VPOT_SELECT_CHN6,      ID_IGNORE            ; (no LED supported by host)

     db      ID_VPOT_SELECT_CHN7,      ID_IGNORE            ; (no LED supported by host)

     db      ID_VPOT_SELECT_CHN8,      ID_IGNORE            ; (no LED supported by host)

     ;; 10th shift register

     ;;      button                  LED

     db      ID_GLOBAL_TRACKS,      ID_IGNORE            ; (no LED supported by host)

     db      ID_GLOBAL_INPUTS,      ID_IGNORE            ; (no LED supported by host)

     db      ID_GLOBAL_AUDIO_TRCK,      ID_IGNORE            ; (no LED supported by host)

     db      ID_GLOBAL_AUDIO_INSTR,      ID_IGNORE            ; (no LED supported by host)

     db      ID_GLOBAL_AUX,            ID_IGNORE            ; (no LED supported by host)

     db      ID_GLOBAL_BUSSES,      ID_IGNORE            ; (no LED supported by host)

     db      ID_GLOBAL_OUTPUTS,      ID_IGNORE            ; (no LED supported by host)

     db      ID_GLOBAL_USER,            ID_IGNORE            ; (no LED supported by host)

     ;; 11th shift register

     ;;      button                  LED

     db      ID_AUTOM_READ_OFF,      ID_IGNORE            ; (in my setup no LEDs are connected here)

     db      ID_AUTOM_WRITE,            ID_IGNORE            ; (in my setup no LEDs are connected here)

     db      ID_AUTOM_TRIM,            ID_IGNORE            ; (in my setup no LEDs are connected here)

     db      ID_AUTOM_TOUCH,            ID_IGNORE            ; (in my setup no LEDs are connected here)

     db      ID_AUTOM_LATCH,            ID_IGNORE            ; (in my setup no LEDs are connected here)

     db      ID_UTIL_CANCEL,            ID_IGNORE            ; (no LED supported by host)

     db      ID_UTIL_ENTER,            ID_IGNORE            ; (no LED supported by host)

     db      ID_MBLC_HOLD_LAYER,      ID_IGNORE            ; (MIDIbox LC specific: switch to other layer when button (de)pressed)

     ;; 12th shift register

     ;;      button                  LED

     db      ID_F1,                  ID_IGNORE            ; (no LED supported by host)

     db      ID_F2,                  ID_IGNORE            ; (no LED supported by host)

     db      ID_F3,                  ID_IGNORE            ; (no LED supported by host)

     db      ID_F4,                  ID_IGNORE            ; (no LED supported by host)

     db      ID_F5,                  ID_IGNORE            ; (no LED supported by host)

     db      ID_F6,                  ID_IGNORE            ; (no LED supported by host)

     db      ID_F7,                  ID_IGNORE            ; (no LED supported by host)

     db      ID_F8,                  ID_IGNORE            ; (no LED supported by host)

     ;; 13th shift register

     ;;      button                  LED

     db      ID_IGNORE,            ID_IGNORE            ; (in my setup encoders are connected here)

     db      ID_IGNORE,            ID_IGNORE            ; (in my setup encoders are connected here)

     db      ID_IGNORE,            ID_IGNORE            ; (in my setup encoders are connected here)

     db      ID_IGNORE,            ID_IGNORE            ; (in my setup encoders are connected here)

     db      ID_IGNORE,            ID_IGNORE            ; (in my setup encoders are connected here)

     db      ID_IGNORE,            ID_IGNORE            ; (in my setup encoders are connected here)

     db      ID_IGNORE,            ID_IGNORE            ; (in my setup encoders are connected here)

     db      ID_IGNORE,            ID_IGNORE            ; (in my setup encoders are connected here)

     ;; 14th shift register

     ;;      button                  LED

     db      ID_IGNORE,            ID_IGNORE            ; (in my setup encoders are connected here)

     db      ID_IGNORE,            ID_IGNORE            ; (in my setup encoders are connected here)

     db      ID_IGNORE,            ID_IGNORE            ; (in my setup encoders are connected here)

     db      ID_IGNORE,            ID_IGNORE            ; (in my setup encoders are connected here)

     db      ID_IGNORE,            ID_IGNORE            ; (in my setup encoders are connected here)

     db      ID_IGNORE,            ID_IGNORE            ; (in my setup encoders are connected here)

     db      ID_IGNORE,            ID_IGNORE            ; (in my setup encoders are connected here)

     db      ID_IGNORE,            ID_IGNORE            ; (in my setup encoders are connected here)

     ;; 15th shift register

     ;;      button                  LED

     db      ID_IGNORE,            ID_IGNORE            ; (in my setup encoders are connected here)

     db      ID_IGNORE,            ID_IGNORE            ; (in my setup encoders are connected here)

     db      ID_IGNORE,            ID_IGNORE            ; (spare pin in my setup)

     db      ID_IGNORE,            ID_IGNORE            ; (spare pin in my setup)

     db      ID_IGNORE,            ID_IGNORE            ; (spare pin in my setup)

     db      ID_IGNORE,            ID_IGNORE            ; (spare pin in my setup)

     db      ID_IGNORE,            ID_IGNORE            ; (spare pin in my setup)

     db      ID_IGNORE,            ID_IGNORE            ; (spare pin in my setup)

     ;; 16th shift register

     ;;      button                  LED

     db      ID_FADER_TOUCH_CHN1,      ID_IGNORE            ; (no LED supported by host)

     db      ID_FADER_TOUCH_CHN2,      ID_IGNORE            ; (no LED supported by host)

     db      ID_FADER_TOUCH_CHN3,      ID_IGNORE            ; (no LED supported by host)

     db      ID_FADER_TOUCH_CHN4,      ID_IGNORE            ; (no LED supported by host)

     db      ID_FADER_TOUCH_CHN5,      ID_IGNORE            ; (no LED supported by host)

     db      ID_FADER_TOUCH_CHN6,      ID_IGNORE            ; (no LED supported by host)

     db      ID_FADER_TOUCH_CHN7,      ID_IGNORE            ; (no LED supported by host)

     db      ID_FADER_TOUCH_CHN8,      ID_IGNORE            ; (no LED supported by host)

can someone tell me what I have to change here to get the LEDrings working?

from lc_io_table

LC_IO_TABLE_LAYER0

     ;; 1st shift register

     ;;      button                  LED

     db      ID_MBLC_SWITCH_LEDMETER1 ,      ID_REC_RDY_CHN1

     db      ID_REC_RDY_CHN2,      ID_REC_RDY_CHN2

     db      ID_REC_RDY_CHN3,      ID_REC_RDY_CHN3

     db      ID_REC_RDY_CHN4,      ID_REC_RDY_CHN4

     db      ID_REC_RDY_CHN5,      ID_REC_RDY_CHN5

     db      ID_REC_RDY_CHN6,      ID_REC_RDY_CHN6

     db      ID_REC_RDY_CHN7,      ID_REC_RDY_CHN7

     db      ID_REC_RDY_CHN8,      ID_REC_RDY_CHN8

if I modified it like this, would that mean that pin one on SR one would switch the LCD meter into a horizontal LEDring?

sorry to ask so many questions at once, thanks, from Steve

Link to comment
Share on other sites

Hi Steve,

yes, the LEDRINGS_SR_* settings are used to define the position of the shift registers which are connected to the LED rings. In difference to lc_io_tables.inc the shift registers are counted from zero here!

See also this schematic:

http://www.ucapps.de/mbhp/mbhp_doutx4_lc_ledrings.pdf

it means that LEDRINGS_SR_CATHODES are located at the 9th SR, therefore number 8, and the anodes are located at SR 10 and 11.

SR 9 is reserved for seperate meters, but if you don't plan to add them, you could either change the default settings or use this spare shift register for additional LED functions.

ID_MBLC_SWITCH_LEDMETER1 switches to the meter mode, but doesn't switch back. So you have to assign at least one additional button to ID_MBLC_SWITCH_LEDMETER0

or use a single button with ID_MBLC_TOGGLE_LEDMETER for a toggle function, resp. ID_MBLC_HOLD_LEDMETER for a shift function

FAQMARKER

Best Regards, Thorsten.

Link to comment
Share on other sites

T...

Just seen this new pdf and i'm a lil concered, i thought your able to place the meterbar LEDs anywhere on the dout chain - not just after the vpot rings...

My design has the meterleds rings on a sep core, which is also used for the forthcoming MTC digits aswell as a single pot for the maser fader...is this still okay?, as i thought it was from a q i posted a while bak...have i got my wires mixed up - so to speak...or is just an example setup uve posted?

Best...

Dan

Link to comment
Share on other sites

Yes, you can place the meter LEDs anywhere - damned! thats the problem when the application allows too much options - how to answer a simple question with one sentence when so much variations are possible? :-( You see: under these circumstances the LC documentation will never be finished... ;-)

Best Regards, thorsten.

Link to comment
Share on other sites

Thanks Thorsten!

I'm just wondering, why my encoders work properly, when in the 13th and 14th SR, it says "db ID_IGNORE,  ID_IGNORE  ; (in my setup encoders are connected here)"

and I never changed this before I built the main.HEX file?

in the standard lc application, will the ledrings work straight away without configuring, if I just connect them to the right shift registers?

if I connect the ledrings like in the pdf, will they work straight away, or will I have to assign the SR pins in the lc_IO_table? I am using mios 1.2, as the faders go erratic when I try 1.3 (they kind of don't stop at the target position, they keep going!

Yes, you can place the meter LEDs anywhere - damned![

Your design is like Logic audio... too many options for beginners, but everything possible that an expert needs!

When I get time, I will make a step by step webpage on how to build the standard LC, with upgrade options and things... for beginners,  maybe with a modular frontpanel or something! Unless someone beats me to it!

Thanks Thorsten!

If someone else can help, could they please save Thorsten from all the typing? ;)

Link to comment
Share on other sites

Hi Steve,

When I get time, I will make a step by step webpage on how to build the standard LC, with upgrade options and things... for beginners,  maybe with a modular frontpanel or something! Unless someone beats me to it!

this would be really helpfull! :)

Some infos to LEDrings and encoder settings:

buttons are "shadowed" by the encoder pins. Means: once you've assigned two pins to an encoder in mios_tables.inc, these pins will not trigger a button function anymore, therefore the appr. button entries in lc_io_tables.inc will never be processed.

digital output pins are "shadowed" by LEDring assignments. Means: the shift registers for anodes/cathodes which are assigned to the LEDring handler cannot be used for common LED functions defined in lc_io_tables.inc, since the handler overwrite the values every milisecond

Best Regards, Thorsten.

FAQMARKER

Link to comment
Share on other sites

  • 2 weeks later...
ID_MBLC_SWITCH_LEDMETER1 switches to the meter mode, but doesn't switch back. So you have to assign at least one additional button to ID_MBLC_SWITCH_LEDMETER0

or use a single button with ID_MBLC_TOGGLE_LEDMETER for a toggle function, resp. ID_MBLC_HOLD_LEDMETER for a shift function  

can these functions be used to switch the LCD meters into ledring bars on 40x2? (sick of soldering!)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...