FantomXR

Members
  • Content count

    988
  • Joined

  • Last visited

Community Reputation

31 Excellent

2 Followers

About FantomXR

  • Rank
    MIDIbox Guru
  1. understanding the .ngc code

    Again: look at the MAP feature. This exactly what you need.  Set a map as range with range=Map1 and create a map with the desired values underneath it.  See this example: https://github.com/midibox/mios32/blob/master/apps/controllers/midibox_ng_v1/cfg/tests/mapbtn.ngc
  2. understanding the .ngc code

    Isn't that a usecase for MAPs? I haven't tried it but I'd set up an encoder in absolute mode and setup a MAP as range.  In the NGR you can tell NG to set the encoder to a dedicated value when starting up. 
  3. Save and recall sysex strings

    Alright! Looks good. I need to test it in my environment. I'll report back.  Thank you!
  4. Save and recall sysex strings

    Hm, do you have a quick example how this could work?
  5. Save and recall sysex strings

    Thanks for the reply. I think I've tested this already but for some reason it was not working. But I'll give this a new try early next week and report back! Edit: I remember. The reason why it wasn't working was I don't receive "values" from the DAW but ASCII / text strings instead. And it seems such strings can't be stored...
  6. Save and recall sysex strings

    Hey people, my DAW sends a bunch of sysex strings at once to my midibox. The content of the sysex strings I'd like to display on my OLEDs.  In my DAW there is a mixer. The DAW sends the values of the faders via sysex. I have one OLED that should show those value. So if I select channel 1 on my midibox it shows the first value, channel 2 the second. This is not working at the moment because the DAW sends those values of all channels at once and if I switch on my midibox from one channel to another I need to again dump the sysex strings to the midibox to receive the correct value.  So I'd need to somehow save those received values inside the midibox and recall them.  Any idea? Thanks, Chris  
  7. Can encoders send NRPN values with inc/dec?

    I don't see the enc_mode parameter in the line. You have to set it to enc_mode=40Speed for example. All modes are listed on ucapps.de
  8. The bulk is closed. But you could contact weasel via PM. I'm sure he has some pcbs left.  
  9. Hey people, I had a strange behavior last night. My MIDIbox was in the car over night. It was cold, maybe -2°C. The next day I connected it to my computer and realized, that the EEPROM was reset and all settings were gone (it was a MIDIbox running MB_KB).  Is there a chance to prevent it from doing that? I had another MIDIbox in the car which runs MB_NG. This was booting fine, but it uses an SD-card instead of the internal EEPROM.... Thanks, Chris
  10. Control LEDs without HC595

    They are SO8. So easy to solder. I followed the design guideline from the official datasheet. I think it's 100R on the 5V rail. Can post it later. 
  11. Control LEDs without HC595

    Alright... I've got a solution that works great for me. I thought I share it with you. I now tried WS2811 driver ICs. They are cheap and only need one data-line which goes from one IC to the next. Each IC can drive three LEDs. Of course you are not really capable to control them individually with standard NG code. So I've added a meta command. Add this to mbng_event.c (row 2968 and following):   case MBNG_EVENT_META_TYPE_RGB_LED_SET_SINGLE: return "RgbLedSetSingle"; row 3055 and following: if( strcasecmp(meta_type, "RgbLedSetSingle") == 0 ) return MBNG_EVENT_META_TYPE_RGB_LED_SET_SINGLE; row 3142 and following: case MBNG_EVENT_META_TYPE_RGB_LED_SET_SINGLE: return 3; row 3376 and following: case MBNG_EVENT_META_TYPE_RGB_LED_SET_SINGLE: { u16 led; if( (led=meta_values[0]) ) { led -= 1; WS2812_LED_SetRGB(led, meta_values[1], meta_values[2]); } } break;   in mbng_event.h add this line 163 and following: MBNG_EVENT_META_TYPE_RGB_LED_SET_SINGLE,   Done! Now you can call the meta RGBLEDSETSINGLE from NG. Here is a quick example. I had no buttons connected to that midibox. So I've worked with receivers and senders: EVENT_RECEIVER id=1 type=cc cc=2 if_equal=127 fwd_id=SENDER:1 EVENT_RECEIVER id=1 type=cc cc=2 if_equal=0 fwd_id=SENDER:2 EVENT_SENDER id=1 type=meta meta=rgbledsetsingle:1:1:255 EVENT_SENDER id=2 type=meta meta=rgbledsetsingle:1:1:0 This switches on the second LED of the first IC on if CC2 with a value of 127 is received. It switches off when 0 is received.  So you can control each LED individually without overwriting the other :-)  
  12. Sharing: Adding capacitive touchsensor to midiBox

    Any knob made from metal will do. Even a plastic knob should do. But you'd need to increase the cap between SNS and SNSK to make it more sensible.  I use knobs from Kobler here in Germany. 
  13. Hey people, I was looking for a way to detect, if an encoder (with metal shaft of course) is touched. Since NG itself doesn't support such touchsensors I was searching for an IC. And I found it: https://www.mouser.de/ProductDetail/Microchip-Technology/AT42QT1010-TSHR?qs=xbJoyvfFV%2F%252BFK88JVR2efg%3D%3D I've added a 22nF cap between SNS and SNSK and put a 10k resistor right before the encoder. It works great! As soon as I touch the encoder, the "OUT" goes high and if I release it it goes back low. You just have to connect that to an inputpin of an HC165 and you are done. Best, Chris
  14. Large Shift register chains with MIOS32

    I guess that routing is way more comfortable and even better if I place all SRs on one PCB next to each other and use pinheader to connect the buttons & LEDs to it directly. For some I reason I never did it like this...  I never had performance problems anyway... so I'm just interested how it is done in the professional world...