Jump to content

Modul Box NG V2


ksir
 Share

Recommended Posts

I would need help with the power supply, I want to power at least 264 ws2812b leds, maybe more in the future,

several dout modules,

in the future surely 8 oled screens, and I'm sure I'm forgetting some. 

I wonder what power supply to buy and how to connect it.. I thought I would take 5v 10a..

https://secure.reichelt.com/fr/fr/bloc-d-alimentation-d-coupage-ferm-50-w-5-v-10-a-mw-lrs-50-5-p202960.html?&trstct=pol_4&nbc=1

 

I already have this usb hub:

https://secure.reichelt.com/fr/fr/hub-usb-3-0-4-ports-avec-bloc-d-alimentation-en-m-tal-logilink-ua0149-p127833.html?&nbc=1

 

Thank you for your help 

Edited by ksir
Link to comment
Share on other sites

the ssd1306 oleds i received where 5V tolerant... the ws2812b is also in a range from 3.3-5.3V, dout modules also needs 5V... so your reichelt psu should do the job, and you could power them directly from the psu... but i guess you power them with the ribbon cables from your core...
i dont know what Core you will use? if you use the WCORE from midiphy, then you may ran into some problems when using a external 5V PSU, see this topic:

https://forum.midiphy.com/d/151-wcore-non-usb-powerd-but-still-use-as-usb-device/5

 

also if you are unlucky you will get walking lines on your SSD1306 screens... then it best it would to buffer each D0 D1 Clock... Pins, which are done for example in this module:
http://wiki.midibox.org/doku.php?id=displaydriver-smd

a plus is then you can then use more then 8 screens!


 

 

  • Thanks 1
Link to comment
Share on other sites

Unable to operate encoder #15
he is detected by mios studio
but he answers me: not event assigned,
  yet I seem to have configured it like the other 15 which works well...

 

Thanks for your help

 

image.thumb.png.21aad3693576e20c28674d787a8a04b6.png

 

#Modulbox
RESET_HW

# le SCS doit émuler les fonctions bouton/enc dans la page principale
SCS soft1_button_emu_id=2000 \
    soft2_button_emu_id=2001 \
    soft3_button_emu_id=2002 \
    soft4_button_emu_id=2003 \
    shift_button_emu_id=2004 \
    enc_emu_id=2000


# Contrôlé à partir des boutons SCS à J10 dans la page principale
EVENT_BUTTON id=2000  type=Meta   meta=SetBank   button_mode=OnOnly range=1:1  lcd_pos=1:17:2 label="Bnk%q"
EVENT_BUTTON id=2001  type=Meta   meta=SetBank   button_mode=OnOnly range=2:2  lcd_pos=1:17:2 label="Bnk%q"
EVENT_BUTTON id=2002  type=Meta   meta=SetBank   button_mode=OnOnly range=3:3  lcd_pos=1:17:2 label="Bnk%q"
EVENT_BUTTON id=2003  type=Meta   meta=SetBank   button_mode=OnOnly range=4:4  lcd_pos=1:17:2 label="Bnk%q"
EVENT_BUTTON id=2004  type=Meta   meta=EncFast:4 button_mode=OnOff  range=2:0

# l'encodeur SCS en J10 incrémente/décrémente simplement la banque
# fonction redondante - pourrait être modifiée à l'avenir
EVENT_ENC    id=2000  type=Meta   meta=SetBank   range=1:4

# le but de cet élément EVENT est d'imprimer la banque chaque fois que l'écran LCD est rafraîchi (par exemple après le démarrage ou le changement de banque)
EVENT_LED id=2000 fwd_to_lcd=1 lcd_pos=1:1:2 label="Bank #%q"








  # ENC 1 - 8 ///////////////////////////////////////////////////
# Classical Thermometer Pattern, Jaune
#EVENT_ENC    id=  1  hw_id =  1  bank=1  fwd_id=RGBLED:2    rgbled_pattern=1   hsv=50:100:10    fwd_to_lcd=1  type=CC     chn= 1 cc= 16   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1    # label="ENC #%3i    %3d@(1:1:2)%B"

# ENC 1 Moving Dot ,jaune
EVENT_ENC    id=  1  hw_id =  1  bank=1  fwd_id=RGBLED:2    rgbled_pattern=2   hsv=50:100:10    fwd_to_lcd=1  type=CC     chn= 1 cc= 1   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1    label="^std_enc"
# ENC 2 Moving Dot , Green
EVENT_ENC    id=  2  hw_id =  2  bank=1  fwd_id=RGBLED:18   rgbled_pattern=2   hsv=100:100:10  fwd_to_lcd=1  type=CC     chn= 1 cc= 2   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_enc"
# ENC 3 Moving Dot , RED
EVENT_ENC    id=  3  hw_id =  3  bank=1  fwd_id=RGBLED:34   rgbled_pattern=2   hsv=0:100:10  fwd_to_lcd=1  type=CC     chn= 1 cc= 3   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_enc"
# ENC 4 Moving Dot , Blue
EVENT_ENC    id=  4  hw_id =  4  bank=1  fwd_id=RGBLED:50   rgbled_pattern=2   hsv=200:100:10  fwd_to_lcd=1  type=CC     chn= 1 cc= 4   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_enc"
# ENC 5 Moving Dot Jaune
EVENT_ENC    id=  5  hw_id =  5  bank=1  fwd_id=RGBLED:66   rgbled_pattern=2   hsv=50:100:10    fwd_to_lcd=1  type=CC     chn= 1 cc= 5   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_enc"
# ENC 6 Moving Dot GREEN
EVENT_ENC    id=  6  hw_id =  6  bank=1  fwd_id=RGBLED:82   rgbled_pattern=2   hsv=100:100:10    fwd_to_lcd=1  type=CC     chn= 1 cc= 6   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1 label="^std_enc"
# ENC 7 Moving Dot RED
EVENT_ENC    id=  7  hw_id =  7  bank=1  fwd_id=RGBLED:98   rgbled_pattern=2   hsv=0:100:10    fwd_to_lcd=1  type=CC     chn= 1 cc= 7   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_enc"
# ENC 8 Moving Dot BLUE   #label="Enc%3i&k@(1:4:6)%B&n@(1:19:5)%3d"
EVENT_ENC    id=  8  hw_id =  8  bank=1  fwd_id=RGBLED:114   rgbled_pattern=2   hsv=200:100:10    fwd_to_lcd=1  type=CC     chn= 1 cc= 8   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_enc"
 
 
 # ENC 9-16 /////////////////////////////////////////////////////////

# Moving Dot Jaune
EVENT_ENC    id=  9  hw_id =  9  bank=1  fwd_id=RGBLED:146   rgbled_pattern=2   hsv=50:100:10    fwd_to_lcd=1  type=CC     chn= 1 cc= 9   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1 label="^std_enc"
# Moving Dot GREEN
EVENT_ENC    id=  10  hw_id =  10  bank=1  fwd_id=RGBLED:162   rgbled_pattern=2   hsv=100:100:10    fwd_to_lcd=1  type=CC     chn= 1 cc= 10   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1 label="^std_enc"
# Moving Dot RED
EVENT_ENC    id=  11  hw_id =  11  bank=1  fwd_id=RGBLED:178   rgbled_pattern=2   hsv=0:100:10    fwd_to_lcd=1  type=CC     chn= 1 cc= 11   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_enc"
# Moving Dot BLUE   
EVENT_ENC    id=  12  hw_id =  12  bank=1  fwd_id=RGBLED:194   rgbled_pattern=2   hsv=200:100:10    fwd_to_lcd=1  type=CC     chn= 1 cc= 12   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_enc"
# Moving Dot Jaune
EVENT_ENC    id=  13  hw_id =  13  bank=1  fwd_id=RGBLED:210   rgbled_pattern=2   hsv=50:100:10    fwd_to_lcd=1  type=CC     chn= 1 cc= 13   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_enc"
# Moving Dot GREEN
EVENT_ENC    id=  14  hw_id =  14  bank=1  fwd_id=RGBLED:226   rgbled_pattern=2   hsv=100:100:10    fwd_to_lcd=1  type=CC     chn= 1 cc= 14   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1 label="^std_enc"
# Moving Dot RED
EVENT_ENC    id=  15  hw_id =  15  bank=1  fwd_id=RGBLED:242   rgbled_pattern=2   hsv=0:100:10    fwd_to_lcd=1  type=CC     chn= 1 cc= 15   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_enc"
# Moving Dot BLUE  
EVENT_ENC    id=  16  hw_id =  16  bank=1  fwd_id=RGBLED:258   rgbled_pattern=2   hsv=200:100:10    fwd_to_lcd=1  type=CC     chn= 1 cc= 16   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_enc"

#bouton poussoir encodeurs 1
EVENT_BUTTON id=  66  fwd_id=RGBLED:1     hsv=00:100:10  type=CC  chn= 1 cc= 17  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  65  fwd_id=RGBLED:17     hsv=0:100:10  type=CC  chn= 1 cc= 18  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  68  fwd_id=RGBLED:33     hsv=0:100:10  type=CC  chn= 1 cc= 19  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  67  fwd_id=RGBLED:49     hsv=0:100:10  type=CC  chn= 1 cc= 20  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  70  fwd_id=RGBLED:65     hsv=0:100:10  type=CC  chn= 1 cc= 21  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  69  fwd_id=RGBLED:81     hsv=0:100:10  type=CC  chn= 1 cc= 22  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  72  fwd_id=RGBLED:97     hsv=0:100:10  type=CC  chn= 1 cc= 23  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  71  fwd_id=RGBLED:113     hsv=0:100:10  type=CC  chn= 1 cc= 24  button_mode=Toggle label="^std_btn"

#bouton poussoir encodeurs 2
EVENT_BUTTON id=  74  fwd_id=RGBLED:145     hsv=00:100:10  type=CC  chn= 1 cc= 25  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  73  fwd_id=RGBLED:161     hsv=0:100:10  type=CC  chn= 1 cc= 26  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  76  fwd_id=RGBLED:177     hsv=0:100:10  type=CC  chn= 1 cc= 27  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  75  fwd_id=RGBLED:193     hsv=0:100:10  type=CC  chn= 1 cc= 28  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  78  fwd_id=RGBLED:209     hsv=0:100:10  type=CC  chn= 1 cc= 29  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  77  fwd_id=RGBLED:225     hsv=0:100:10  type=CC  chn= 1 cc= 30  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  80  fwd_id=RGBLED:241     hsv=0:100:10  type=CC  chn= 1 cc= 31  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  79  fwd_id=RGBLED:257     hsv=0:100:10  type=CC  chn= 1 cc= 32  button_mode=Toggle label="^std_btn"

#PADS
EVENT_BUTTON id=  33  fwd_id=RGBLED:137     hsv=50:100:10  type=CC  chn= 1 cc= 33  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  35  fwd_id=RGBLED:138     hsv=100:100:10  type=CC  chn= 1 cc= 35  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  37  fwd_id=RGBLED:139     hsv=0:100:10  type=CC  chn= 1 cc= 37  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  39  fwd_id=RGBLED:140     hsv=200:100:10  type=CC  chn= 1 cc= 39  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  34  fwd_id=RGBLED:141     hsv=50:100:10  type=CC  chn= 1 cc= 34  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  36  fwd_id=RGBLED:142     hsv=100:100:10  type=CC  chn= 1 cc= 36  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  38  fwd_id=RGBLED:143     hsv=0:100:10  type=CC  chn= 1 cc= 38  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  40  fwd_id=RGBLED:144     hsv=200:100:10  type=CC  chn= 1 cc= 40  button_mode=Toggle label="^std_btn"

#PADS
EVENT_BUTTON id=  41  fwd_id=RGBLED:129     hsv=50:100:10  type=CC  chn= 1 cc= 41  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  43  fwd_id=RGBLED:130     hsv=100:100:10  type=CC  chn= 1 cc= 43  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  45  fwd_id=RGBLED:131     hsv=0:100:10  type=CC  chn= 1 cc= 45  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  47  fwd_id=RGBLED:132     hsv=200:100:10  type=CC  chn= 1 cc= 47  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  42  fwd_id=RGBLED:133     hsv=50:100:10  type=CC  chn= 1 cc= 42  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  44  fwd_id=RGBLED:134     hsv=100:100:10  type=CC  chn= 1 cc= 44  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  46  fwd_id=RGBLED:135     hsv=0:100:10  type=CC  chn= 1 cc= 46  button_mode=Toggle label="^std_btn"
EVENT_BUTTON id=  48  fwd_id=RGBLED:136     hsv=200:100:10  type=CC  chn= 1 cc= 48  button_mode=Toggle label="^std_btn"




#switch

# SWITCH BANK 1

EVENT_BUTTON id=101  hw_id =  57   bank=1 fwd_id=LED:8  type=CC chn= 1 cc= 49  button_mode=Toggle lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id=102  hw_id =  58   bank=1 fwd_id=LED:7  type=CC chn= 1 cc= 50  button_mode=Toggle lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id=103  hw_id =  59   bank=1 fwd_id=LED:6  type=CC chn= 1 cc= 51  button_mode=Toggle lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id=104  hw_id =  60   bank=1 fwd_id=LED:5  type=CC chn= 1 cc= 52  button_mode=Toggle lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id=105  hw_id =  61   bank=1 fwd_id=LED:4  type=CC chn= 1 cc= 53  button_mode=Toggle lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id=106  hw_id =  62   bank=1 fwd_id=LED:3  type=CC chn= 1 cc= 54  button_mode=Toggle lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id=107  hw_id =  63   bank=1 fwd_id=LED:2  type=CC chn= 1 cc= 55  button_mode=Toggle lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id=108  hw_id =  64   bank=1 fwd_id=LED:1  type=CC chn= 1 cc= 56  button_mode=Toggle lcd_pos=1:1:1  label="^std_btn"

EVENT_BUTTON id=109  hw_id =  49  bank=1 fwd_id=LED:16 type=CC chn= 1 cc= 57  button_mode=Toggle lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id=110  hw_id =  50  bank=1 fwd_id=LED:15 type=CC chn= 1 cc= 58 button_mode=Toggle lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id=111  hw_id =  51  bank=1 fwd_id=LED:14 type=CC chn= 1 cc= 59 button_mode=Toggle lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id=112  hw_id =  52  bank=1 fwd_id=LED:13 type=CC chn= 1 cc= 60 button_mode=Toggle lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id=113  hw_id =  53  bank=1 fwd_id=LED:12 type=CC chn= 1 cc= 61 button_mode=Toggle lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id=114  hw_id =  54  bank=1 fwd_id=LED:11 type=CC chn= 1 cc= 62 button_mode=Toggle lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id=115  hw_id =  55  bank=1 fwd_id=LED:10 type=CC chn= 1 cc= 63 button_mode=Toggle lcd_pos=1:1:1  label="^std_btn"
EVENT_BUTTON id=116  hw_id =  56  bank=1 fwd_id=LED:9  type=CC chn= 1 cc= 64 button_mode=Toggle lcd_pos=1:1:1  label="^std_btn"



aINSER n=  1   enabled=1  muxed=1  cs=0  resolution=7bit
aINSER n=  2   enabled=0  muxed=1  cs=1  resolution=7bit


# AINSER BANK 1

EVENT_AINSER id=  125 hw_id =  1     bank=1  type=CC     chn= 1 cc= 65   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  126 hw_id =  2     bank=1  type=CC     chn= 1 cc= 66   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  127 hw_id =  3     bank=1  type=CC     chn= 1 cc= 67   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  128 hw_id =  4     bank=1  type=CC     chn= 1 cc= 68   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  129 hw_id =  5     bank=1  type=CC     chn= 1 cc= 69   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  130 hw_id =  6     bank=1  type=CC     chn= 1 cc= 70   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  131 hw_id =  7     bank=1  type=CC     chn= 1 cc= 71   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  132 hw_id =  8     bank=1  type=CC     chn= 1 cc= 72   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  133 hw_id =  9     bank=1  type=CC     chn= 1 cc= 73   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  134 hw_id =  10    bank=1  type=CC     chn= 1 cc= 74   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  135 hw_id =  12    bank=1  type=CC     chn= 1 cc= 75   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  136 hw_id =  13    bank=1  type=CC     chn= 1 cc= 76   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  137 hw_id =  14    bank=1  type=CC     chn= 1 cc= 77   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  138 hw_id =  15    bank=1  type=CC     chn= 1 cc= 78   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  139 hw_id =  16    bank=1  type=CC     chn= 1 cc= 79   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  140 hw_id =  17    bank=1  type=CC     chn= 1 cc= 80   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  141 hw_id =  18    bank=1  type=CC     chn= 1 cc= 81   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  142 hw_id =  19    bank=1  type=CC     chn= 1 cc= 82   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  143 hw_id =  20    bank=1  type=CC     chn= 1 cc= 83   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  144 hw_id =  21    bank=1  type=CC     chn= 1 cc= 84   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  145 hw_id =  22    bank=1  type=CC     chn= 1 cc= 85   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  146 hw_id =  23    bank=1  type=CC     chn= 1 cc= 86   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  147 hw_id =  24    bank=1  type=CC     chn= 1 cc= 87   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  148 hw_id =  25    bank=1  type=CC     chn= 1 cc= 88   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  149 hw_id =  26    bank=1  type=CC     chn= 1 cc= 89   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  150 hw_id =  27    bank=1  type=CC     chn= 1 cc= 90   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  151 hw_id =  28    bank=1  type=CC     chn= 1 cc= 91   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  152 hw_id =  29    bank=1  type=CC     chn= 1 cc= 92   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  153 hw_id =  30    bank=1  type=CC     chn= 1 cc= 93   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  154 hw_id =  31    bank=1  type=CC     chn= 1 cc= 94   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  155 hw_id =  32    bank=1  type=CC     chn= 1 cc= 95   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  156 hw_id =  33    bank=1  type=CC     chn= 1 cc= 96   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  157 hw_id =  34    bank=1  type=CC     chn= 1 cc= 97   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  158 hw_id =  35    bank=1  type=CC     chn= 1 cc= 98   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  159 hw_id =  36    bank=1  type=CC     chn= 1 cc= 99   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  160 hw_id =  37    bank=1  type=CC     chn= 1 cc= 100   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  161 hw_id =  38    bank=1  type=CC     chn= 1 cc= 101   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  162 hw_id =  39    bank=1  type=CC     chn= 1 cc= 102   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"
EVENT_AINSER id=  163 hw_id =  40    bank=1  type=CC     chn= 1 cc= 103   range=  0:127 offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="^std_aser"



# encoder hardware configuration
ENC n=  2   sr= 1  pins=1:0   type=non_detented
ENC n=  1   sr= 1  pins=3:2   type=non_detented
ENC n=  4   sr= 1  pins=5:4   type=non_detented 
ENC n=  3   sr= 1  pins=7:6   type=non_detented
ENC n=  6   sr= 2  pins=1:0   type=non_detented
ENC n=  5   sr= 2  pins=3:2   type=non_detented
ENC n=  8   sr= 2  pins=5:4   type=non_detented
ENC n=  7   sr= 2  pins=7:6   type=non_detented
ENC n=  10   sr= 3  pins=1:0   type=non_detented
ENC n=  9   sr= 3  pins=3:2   type=non_detented
ENC n=  12   sr= 3  pins=5:4   type=non_detented
ENC n=  11   sr= 3  pins=7:6   type=non_detented
ENC n=  14   sr= 4  pins=1:0   type=non_detented
ENC n=  13   sr= 4  pins=3:2   type=non_detented
ENC n=  16   sr= 4  pins=5:4   type=non_detented
ENC n=  15   sr= 4  pins=7:6   type=non_detented 

I take this opportunity to share with you a photo of my project

IMG_20230716_145620.thumb.jpg.f0829134e857c81a7a2799b0b3d39872.jpg

Edited by ksir
Link to comment
Share on other sites

EDIT: First try my second post (see below this one)

try to not assign Encoder 16, and watch which 2 Buttons now are see-able in mios studio when turning the ENC 16 --- is it 29 30?
since ENC15 is outputet as Buttons 31 32  in Mios Studio   - so we can check if it is a neightbar on SR4...
How ever -  i guess you use a encoder pcb which you use 2 times in your setup, so ENC 7 is the same as ENC 15? and ENC7 is working  as it should? try to to not assign ENC 7+8 - it should be the same pinout like ENC15+16 (but a other Shiftregister)
some math: when ENC 15 is equivalent to Button 31 + 32, then ENC 7 movements should be button events = 32-16 = button 15/16, and ENC8 would be? 13/14? if so > 14+16 = 30 31 should be then Encoder 16?

i checked your shematics, and there is no change to wrongly assamble the sandwitch (the button pins are always on the outside of the Header J30-J33 - so this cant be the bug...

i guess u use standard DINx4 Modules to connect the boards, so a wrong  pinout from this side cant be the bug too...

at NG Code i am familar with assigning Encoders to shiftregisters and pins > and it seems ok to me (when it is correct that Encoders starting at ENC Nr1 and not at ENC Nr0?)... about the rest of NG i have no glue.

 




 

Edited by Phatline
Link to comment
Share on other sites

are you sure that Encoders start with Number 1?
At least on Midibox-platform on the codeside (if you write a custom Midiboxproject) normally they start with Number 0, (also Buttons, AIN, Midichannels, CCs, Notes, i guess also Ledrings? ;) ;) ...)
that would look there like this:

 const mios32_enc_config_t encoders[3] = {//(SR count-begin with 1, ENC with 0) // setup the Pinout of Encoders
                                                                                        { .cfg.type=DETENTED1, .cfg.speed=SLOW,     .cfg.speed_par=1, .cfg.sr=8, .cfg.pos=0 },      //    0  PAGE
                                                                                        { .cfg.type=DETENTED1, .cfg.speed=SLOW,     .cfg.speed_par=3, .cfg.sr=8, .cfg.pos=2 },      //    1  PAR 1
                                                                                        { .cfg.type=DETENTED1, .cfg.speed=SLOW,     .cfg.speed_par=3, .cfg.sr=8, .cfg.pos=4 }};        //    2  PAR 2
                                                                                        u8 i;    for(i=0; i<3; ++i) { MIOS32_ENC_ConfigSet(i, encoders);     }


they start with 0....

no idea if Thorsten, made it more "musican friendly" by make an offset "+1" behind the userinterface - so they start with 1 on Midibox NG?

my nose says....
give it a try:
 

ENC n=  1   sr= 1  pins=1:0   type=non_detented
ENC n=  0   sr= 1  pins=3:2   type=non_detented
ENC n=  3   sr= 1  pins=5:4   type=non_detented 
ENC n=  2   sr= 1  pins=7:6   type=non_detented
ENC n=  5   sr= 2  pins=1:0   type=non_detented
ENC n=  4   sr= 2  pins=3:2   type=non_detented
ENC n=  7   sr= 2  pins=5:4   type=non_detented
ENC n=  6   sr= 2  pins=7:6   type=non_detented
ENC n=  9   sr= 3  pins=1:0   type=non_detented
ENC n=  8   sr= 3  pins=3:2   type=non_detented
ENC n=  11   sr= 3  pins=5:4   type=non_detented
ENC n=  10   sr= 3  pins=7:6   type=non_detented
ENC n=  13   sr= 4  pins=1:0   type=non_detented
ENC n=  12   sr= 4  pins=3:2   type=non_detented
ENC n=  15   sr= 4  pins=5:4   type=non_detented
ENC n=  14   sr= 4  pins=7:6   type=non_detented 
Edited by Phatline
Link to comment
Share on other sites

Thank you again for your help
I tried :

 

# encode hardware configuration

ENC n= 16 sr= 4 pins=5:4 type=non_detented
ENC n= 15 sr= 4 pins=7:6 type=non_detented
ENC n= 2 sr= 1 pins=1:0 type=non_detented
ENC n= 1 sr= 1 pins=3:2 type=non_detented
ENC n= 4 sr= 1 pins=5:4 type=non_detented
ENC n= 3 sr= 1 pins=7:6 type=non_detented
ENC n= 6 sr= 2 pins=1:0 type=non_detented
ENC n= 5 sr= 2 pins=3:2 type=non_detented
ENC n= 8 sr= 2 pins=5:4 type=non_detented
ENC n= 7 sr= 2 pins=7:6 type=non_detented
ENC n= 10 sr= 3 pins=1:0 type=non_detented
ENC n= 9 sr= 3 pins=3:2 type=non_detented
ENC n= 12 sr= 3 pins=5:4 type=non_detented
ENC n= 11 sr= 3 pins=7:6 type=non_detented
ENC n= 14 sr= 4 pins=1:0 type=non_detented
ENC n= 13 sr= 4 pins=3:2 type=non_detented

It's encoder 13 that didn't work anymore
 I moved the encoder hardware config code to the middle of the code, instead of putting it at the end, now it works

Link to comment
Share on other sites

yes all encoders work,


after having pushed the tests a little, I have the impression that it is the accent (é) in the comments of my code which poses a problem and erases lines at the end of my ngc file

Link to comment
Share on other sites

Hello, I have a rebound problem with the sparkfun pads, do you have an idea how to fix this? Hardware? Software ?

Thanks

 

The rest works fine

 

IMG_20230723_191300.thumb.jpg.9f2fafa4bb440565c365889e9fee3f99.jpg

 

 

Edited by ksir
  • Like 1
Link to comment
Share on other sites

since you dont use a Button Led Matrix on this - where the driver is already programmed to be debounced...  and you on the other hand connect the buttons directly to a DIN-Module - which i didnt have done yet, on the hardware side i would take a Voltmeter, and measure on the DIN-Pins, hand look how many Volts you have when you press the button... if it is 0V then all is good, if it is hardly above that, then you may change the Pull-Hi Resistors on the DIN Board to a other (higher) Value (As expiriment) - because the Rubber button is not a perfect Electric Contact (a tactil switch is more on "perfect) it might be that it cant Pull-Lo the Pull-Hi resistors (fighting)


@ software
you have to debounce the buttons in software - how?
i dont know the NG-script - so i cant help much here... maybe you start by posting how you defined the buttons in ng code... maybe i can see there something... It could be that there are set as toggle switches, in reality we wont some momentary switch - ... maybe there is also some timining offset to be set (a time that says that no incoming DIN signal is handeld after a trigger accoured - so we avoid false triggering for example 20ms long... aka debouncing?)

 

Link to comment
Share on other sites

Hello, I haven't studied your answer in depth yet, but here is an example of declaration of my pads in ngc file

 

#PADS

EVENT_BUTTON id= 33 fwd_id=RGBLED:137 hsv=50:100:10 type=CC chn= 1 cc= 33 button_mode=Toggle label="^std_btn"

EVENT_BUTTON id= 35 fwd_id=RGBLED:138 hsv=100:100:10 type=CC chn= 1 cc= 35 button_mode=Toggle label="^std_btn"

Link to comment
Share on other sites

 

From NG user manual, .NGC config, SRIO section

 

debounce_cycles=<0..65535> This command allows to enable a debouncing mechanism for digital inputs (buttons). The number specifies the dead time in SRIO cycles at which button events will be rejected.
The time of a SRIO cycle depends on the num_sr configuration, typically it's around 420 uS for 32 SRs, which means that with debounce_cycles=20 the debouncing dead time is 8.4 mS.
Link to comment
Share on other sites

thank you for your help

I tried :

#PADS                                                                                                    
EVENT_BUTTON    id=    65    hw_id=    33    fwd_id=RGBLED:137    type=CC    chn=    1    cc=    33    button_mode=    Toggle            label=    "^std_btn"    bank=    1            hsv=    50:100:10        debounce_cycles=65535
EVENT_BUTTON    id=    66    hw_id=    35    fwd_id=RGBLED:138    type=CC    chn=    1    cc=    34    button_mode=    Toggle            label=    "^std_btn"    bank=    1            hsv=    100:100:10        debounce_cycles=65535
EVENT_BUTTON    id=    67    hw_id=    37    fwd_id=RGBLED:139    type=CC    chn=    1    cc=    35    button_mode=    Toggle            label=    "^std_btn"    bank=    1            hsv=    0:100:10        debounce_cycles=65535
EVENT_BUTTON    id=    68    hw_id=    39    fwd_id=RGBLED:140    type=CC    chn=    1    cc=    36    button_mode=    Toggle            label=    "^std_btn"    bank=    1            hsv=    200:100:10        debounce_cycles=65535
EVENT_BUTTON    id=    69    hw_id=    34    fwd_id=RGBLED:141    type=CC    chn=    1    cc=    37    button_mode=    Toggle            label=    "^std_btn"    bank=    1            hsv=    50:100:10        debounce_cycles=65535
EVENT_BUTTON    id=    70    hw_id=    36    fwd_id=RGBLED:142    type=CC    chn=    1    cc=    38    button_mode=    Toggle            label=    "^std_btn"    bank=    1            hsv=    100:100:10        debounce_cycles=65535
EVENT_BUTTON    id=    71    hw_id=    38    fwd_id=RGBLED:143    type=CC    chn=    1    cc=    39    button_mode=    Toggle            label=    "^std_btn"    bank=    1            hsv=    0:100:10        debounce_cycles=65535
EVENT_BUTTON    id=    72    hw_id=    40    fwd_id=RGBLED:144    type=CC    chn=    1    cc=    40    button_mode=    Toggle            label=    "^std_btn"    bank=    1            hsv=    200:100:10        debounce_cycles=65535
                                                                                                    
#PADS                                                                                                    
EVENT_BUTTON    id=    73    hw_id=    41    fwd_id=RGBLED:129    type=CC    chn=    1    cc=    41    button_mode=    Toggle            label=    "^std_btn"    bank=    1            hsv=    50:100:10        debounce_cycles=65535
EVENT_BUTTON    id=    74    hw_id=    43    fwd_id=RGBLED:130    type=CC    chn=    1    cc=    42    button_mode=    Toggle            label=    "^std_btn"    bank=    1            hsv=    100:100:10        debounce_cycles=65535
EVENT_BUTTON    id=    75    hw_id=    45    fwd_id=RGBLED:131    type=CC    chn=    1    cc=    43    button_mode=    Toggle            label=    "^std_btn"    bank=    1            hsv=    0:100:10        debounce_cycles=65535
EVENT_BUTTON    id=    76    hw_id=    47    fwd_id=RGBLED:132    type=CC    chn=    1    cc=    44    button_mode=    Toggle            label=    "^std_btn"    bank=    1            hsv=    200:100:10        debounce_cycles=65535
EVENT_BUTTON    id=    77    hw_id=    42    fwd_id=RGBLED:133    type=CC    chn=    1    cc=    45    button_mode=    Toggle            label=    "^std_btn"    bank=    1            hsv=    50:100:10        debounce_cycles=65535
EVENT_BUTTON    id=    78    hw_id=    44    fwd_id=RGBLED:134    type=CC    chn=    1    cc=    46    button_mode=    Toggle            label=    "^std_btn"    bank=    1            hsv=    100:100:10        debounce_cycles=65535
EVENT_BUTTON    id=    79    hw_id=    46    fwd_id=RGBLED:135    type=CC    chn=    1    cc=    47    button_mode=    Toggle            label=    "^std_btn"    bank=    1            hsv=    0:100:10        debounce_cycles=65535
EVENT_BUTTON    id=    80    hw_id=    48    fwd_id=RGBLED:136    type=CC    chn=    1    cc=    48    button_mode=    Toggle            label=    "^std_btn"    bank=    1            hsv=    200:100:10        debounce_cycles=65535
      

     doesn't seem to work                                                                                       

Link to comment
Share on other sites

well then test like i suggested:

Voltmeter black cable to a ground pin (core ore dinx4 module)

Voltmeter red cable to a Dinx4 Pin that is connect to a PAD.

if you dont press the PAD you should have 5V (its pulled high with the Dinx4 inbuilt pull high resistor > the 10K ones)
if you then press the PAD you should have 0V (its pulled down with the button that connects now the Dinx4 Pin with Ground)
if this is not 0V, and in worst case 2.5V - then the Resistance between Button and Ground is to high, so the 10K resistors which are connected to +5V overrule them... the Chips on the Dinx4 recognize 5V to 2,5V as high (cant say if this is true i think its arround 2,5V) and 0-2,5V is low

my suggestion is now, take one off the 10K resistor out and replace it with a 100K resistors, measure again, and see the difference.

about NG: maybe ZAM knows more... i am definitvly the wrong one for NG script ;)

Link to comment
Share on other sites

23 hours ago, ksir said:

doesn't seem to work   

IIRC this is a global definition, not an event definition !

You have to put it only once at the beginning of your .NGC config file, it will set all SRIO to the specified value.

Check to be sure but probably max value (65535) is way to much, like 30sec for 32 shift register ! that's a long time before being able to push a button again.

You should be able to monitor the bouncing time of the button (via midi or debug), maybe there is more than one bounce actually, you'll see.

Set the debounce time about twice that to be safe, or whatever higher possible value without feeling some requested fast push don't work.

Link to comment
Share on other sites

  • 3 months later...

Hello, first of all thank you for your previous answers.
I haven't fixed the problem with the pads yet.


I'm focusing on another problem for now: with the LED rings.
with 16 led ring of 16 led no problem. when I add more, the LEDs flicker.

https://youtu.be/HyLkVeFtALw?si=gT09lbCxEwLRmHt8


I read here:
  http://midibox.org/forums/topic/21095-lre-4x1-breakable-rgb-led-ringrotary-encoder-pcb-bulk-order/?do=findComment&comment=184155
FantomXR had flickering problems, solved with a 10uf capacitor.

Should I add a 10uf capacitor at the input of my LED ring cards? (as in the image below) (C129)
image.thumb.png.0230551676ea324199514e63d4935ebc.png

 

To understand my configuration see the pdfs:

LEDRING:
https://drive.google.com/file/d/1XpDQBUE42IqXpXicO--B2gfIoNQDh5ga/view?usp=drive_link

“power card”:
https://drive.google.com/file/d/1NJ-H-QXD-tl9rU6nbYdEh2Q4jFqjWt6b/view?usp=drive_link


I made a PCB that I call a “power card” that I supply with 5v 10 amps.
The J2 connector of the "power card" is connected to J4b of core 32.
Connector J44 of the first OLED card is connected to J3 of the “power card”
Connector J45 of the first OLED card is connected to J4 of the “power card”
Connector J44 of the second OLED card is connected to J5 of the “power card”
Connector J45 of the second OLED card is connected to J6 of the “power card”

etc..

image.thumb.png.336f85b50785e40e72c2899d72c248fd.png

Thank you

 

Edited by ksir
  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

I tried adding a 10uf capacitor every 128 LEDs.
I tried to connect dout of the last led to gnd.
I tried to connect the end of the last LED to a 120 homs resistor.

the last LEDs still flicker

 

( just for information I specify that I modified

mios32\apps\controllers\midibox_ng_v1\src\mbng_rgbled.c

 line 116  u32 num_leds = 15; // TODO: we could make this configurable!

)

 

Edited by ksir
Link to comment
Share on other sites

J'ai approfondi mes tests.
Si je ne connecte pas l'alimentation externe, je n'ai pas de problème avec le clignotement des LED.

si j'ajoute de l'alimentation les LED clignotent
voici comment je branche l'alimentation : (après avoir déconnecté le j17)

922861830_Sanstitre3.thumb.png.c6a50e5c97f41946d7a96b065229e37a.png

le câblage est-il correct ?

 

j'ai lu ici :  http://www.ucapps.de/midibox_ng_manual_hw.html

Citation

L'entrée de données doit être connectée à J4B.SC, la masse à J4B.VS et +5 V à une alimentation externe.

dois-je connecter j4.vs à une alimentation 0V ? et j4b.5v à 5v psu ?

1984668963_Sanstitre2.thumb.png.4ed992d340459a67ad390784d5a66634.png

( i use this PSU : https://secure.reichelt.com/fr/fr/bloc-d-alimentation-d-coupage-ferm-50-w-5-v-10-a-mw-lrs-50-5-p202960.html?&trstct=pol_4&nbc=1 )

 

Edited by ksir
Link to comment
Share on other sites

maybe its the Ripple off the PSU
about your PSU - reichelt specs is saying : "Ondulation résiduelle : 80 mVcàc"   i guess this is not a 50Hz ripple but HF ripple...
--- i guess some small cap (100nf, 10pF) and a big Cap (depends on the load, use for example a 100uF and a 2200uF) on the output off the PSU would reduce that "ripple"... 
* maybe that caps are not enough and you need some more filtering (coil, resistor, lpf...) but i would start with some caps...


the connections in your 2nd picture are not necessery - i guess (dont seeing the whole picture, but i think so...) --- so picture 1 is correct.

by the way - its only the last LED that flickers? maybe you have to terminate the DO line on the very last LED off the Chain with a 10K resistor to 5V or Ground.

else it could be a software problem, when the software loops thru the LEDs, and when it comes to the last one it jumps to the beginning off the chain... try to programm in the ng code one more LED (which in reality not exists) - so you can be sure that this is not a software bug...
- but dont ask me about ng-programming --- no glue about that.

- mike.



 

Edited by Phatline
  • Like 1
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...
 Share

×
×
  • Create New...