novski Posted April 28, 2014 Report Share Posted April 28, 2014 Hi FantomXR in the Manual: http://ucapps.de/midibox_ng_manual_ngc.html dimmed=<0 or 1> LEDs can now be dimmed with 16 brightness levels over the value range. This feature has to be enabled with dimmed=1 in the EVENT_* definition. Configuration example: cfg/test/dimled.ngc. LEDs in a matrix configuration can be dimmed as well. The dim range is the same (0..15), but the effective dim level is limited by the number of scanned rows: 4 rows: only 8 levels (0..1, 2..3, 4..5, 6..7, 8..9, 10..11, 12..13, 14..15) 8 rows: only 4 levels (0..3, 4..7, 8..11, 12..15) 16 rows: only 2 levels (0..7, 8..15) Configuration example: cfg/test/dimled_m.ngc. Best Regards Novski Quote Link to comment Share on other sites More sharing options...
FantomXR Posted April 28, 2014 Report Share Posted April 28, 2014 (edited) Hey, thanks for getting back to me. I found the dimled.ngc before, but not the other one. Thanks... I will try that today evening. //edit: A few days ago when I was in the local music shop I saw, that the company Kenton has a nice little module on the market. With this box you can convert USBMIDI to real MIDI. This is really useful, if you want to implement usb-midicontroller in your environment, that have no midi. The drawback is, that it's at 99€. TK, do you think to implement such kind of feature into the _NG too? Edited April 28, 2014 by FantomXR Quote Link to comment Share on other sites More sharing options...
FantomXR Posted May 5, 2014 Report Share Posted May 5, 2014 (edited) I maybe discovered a bug.... but maybe it should be like this: If I set a EVENT_BUTTON button_mode=toggle, toggle-mode is not working, if I invert the range. If I set it to range=80:90 the button toggles from 80 to 90 and backwards. If I set it like range=90:80 it just sends 90... but does not go back to 80. Is this like it should be? And: Is it possible to turn LCDs by 90°? Thanks Chris Edited May 5, 2014 by FantomXR Quote Link to comment Share on other sites More sharing options...
TK. Posted May 5, 2014 Author Report Share Posted May 5, 2014 Let's call it an imperfection... ;) In this version inverted and reduced ranges should be supported properly: http://www.ucapps.de/mios32/midibox_ng_v1_030_pre5.zip Rotated LCD view: would only work with graphical LCDs, and would require a special LCD driver (not the universal one) which has to be developed for the specific display. The driver would also consume some memory (which has to be removed from the pool), since direct writes to the display are not possible anymore. And it would slow down display output. So: not supported from my side. Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
FantomXR Posted May 14, 2014 Report Share Posted May 14, 2014 Hey! Another bug / imperfection? :) I wanted to route MIDI signals that come into MIDI IN 1 or 2 via USB to the computer. I used the ROUTER command like this: ROUTER n=1 src_port=IN1 src_chn=all dst_port=USB1 dst_chn=all When I save this as NGC, the MIOS Monitor tells me "warning, unknown command n=1"... something like this. If type set router 1 IN1 all USB1 all directly into the command line, it works! But this setting is not permanent. So I would need to do this every time I plug in my core. What do you think? Quote Link to comment Share on other sites More sharing options...
TK. Posted May 18, 2014 Author Report Share Posted May 18, 2014 Is this linebreak between the ROUTER commands and the arguments are copy&paste error? Do you get an error message while uploading the .ngc file? Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
FantomXR Posted May 19, 2014 Report Share Posted May 19, 2014 (edited) ... shame on me! It was a synthax error.... I have another question regarding the keyboard-scanning. I have here a 76key Fatar keybed (TP/8S) which works fine with the LPC-core and the DIO-module. Because the diodes are mounted the other way around, I needed to change the jumper-setting on the DIO and the code to din_inverted=1. But I'm wondering, that I only get a few velocity-values and you can recognize a pattern... here are the values: 1, 5, 16, 27, 38, 49, 71, 82, 93, 104, 115 As you can see it's often velocity+11. Can you explain, why it behaves like this? Has it something to do with the scanrate of MBNG? Thank you! //edit: Okay, checked with MB_KB. It has something to do with the scanrate. With MB_KB I get a lot more velocitys-values. If I want to get the higher resolution but don't want to loose the advantages of the LPC-core, does it makes sense, to use a PIC18F-core to do the scanning, send the MIDI to the LPC and he does the rest? What do you think? How about the scanrate in the PIC? Or does the new STM32F4 improve the situation? Edited May 19, 2014 by FantomXR Quote Link to comment Share on other sites More sharing options...
TK. Posted June 1, 2014 Author Report Share Posted June 1, 2014 What do you think? How about the scanrate in the PIC? Or does the new STM32F4 improve the situation? That's a complex question which deserves a separate topic! ;-) Finally MIDIbox NG V1.030 has been released with the changes of the last months: MIDIbox NG V1.030 ~~~~~~~~~~~~~~~~~ o increased event pool size to 64k for MBHP_CORE_STM32F4 o added ain_mode=Switch for AIN and AINSER events. Can be used if buttons are connected to analog inputs. The event will send the min value if a 30% threshold is reached, and the max value if a 70% threshold is reached. Schematic: Ground |----o Button o-----> analog input + 10k Pull-Up resistor to 3.3V (AIN) resp. 5V (AINSER) o .ngr: added "change" command. It works similar to the "set" command, but only changes the value, and doesn't generate a MIDI event. o .ngr: added "set_min" and "set_max" command which allows to modify the min/max range of a EVENT o added new meta events to control the internal MIDI clock generator: MClkPlay, MClkStop, MClkPlayStop, MClkPause, MClkDecTempo, MClkIncTempo, MClkSetTempo. Example can be found under cfg/test/midiclk.ngc o added new string formatting items: %t to display MIDI clock state (Play/Stop) %T to display tempo (BPM) o added new MClk menu page to SCS to control the tempo w/o dedicated controllers o fixed AOUT_NG module communication issue if AINSER was used in addition o added new meta events: - CvPitchBend14Bit:<cv-channel> - CvPitchBend7Bit:<cv-channel> - CvPitchRange:<cv-channel> - CvTransposeOctave:<cv-channel> - CvTransposeSemitones:<cv-channel> see cfg/test/cvtransp.ngc for usage examples o BUTTON toggle function can now also handle with inverted and reduced value ranges The user manual has been updated as well: http://www.ucapps.de/midibox_ng_manual.html Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
TK. Posted June 2, 2014 Author Report Share Posted June 2, 2014 GMAprogrammer's update issues with v1.030 are now discussed in a separate thread: Quote Link to comment Share on other sites More sharing options...
FantomXR Posted June 2, 2014 Report Share Posted June 2, 2014 Hey, thanks for the new version! I need to change the velocitycurve of one of my keyboards. It is much to sensible. I will plug the midi out from they keyboard into the LPC. After taking a look into the NGC manual I think that I need to create a map with 128 values and add EVENT_RECEIVER id= 1 fwd_id=SENDER:1 type=NoteOn key=any range= 0:127 EVENT_SENDER id= 1 type=key key=NoteOn range=map1 Is that correct? :) Thanks, Chris Quote Link to comment Share on other sites More sharing options...
TK. Posted June 3, 2014 Author Report Share Posted June 3, 2014 Yes, this will work. Now tested here: http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fcfg%2Ftests%2Fconev_6.ngc Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
FantomXR Posted June 3, 2014 Report Share Posted June 3, 2014 Okay, I will check that tomorrow! Thanks! Do I have to enter those numbers by myself or is there a program / script, where I can define a velocity curve and it calculates the values? The script, which is provided in the tools-folder is not suitable for that as far as I can see. Quote Link to comment Share on other sites More sharing options...
FantomXR Posted June 4, 2014 Report Share Posted June 4, 2014 It's not working on my side. I just copied & pasted the ngc you posted but than the keyboard only sends the note C-2. With other words: Every note I play on the keyboard is a C-2 ;) Quote Link to comment Share on other sites More sharing options...
TK. Posted June 4, 2014 Author Report Share Posted June 4, 2014 Ok, I see... please try this version: http://www.ucapps.de/mios32/midibox_ng_v1_031_pre2.zip In addition, you've to set "key=any" for EVENT_SENDER as well: http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fcfg%2Ftests%2Fconev_6.ngc Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
FantomXR Posted June 5, 2014 Report Share Posted June 5, 2014 Okay! I will give you a feedback today evening. Yesterday I tried to add key=any without success (with 1.030). Quote Link to comment Share on other sites More sharing options...
FantomXR Posted June 19, 2014 Report Share Posted June 19, 2014 Thanks! That version is working! :) Quote Link to comment Share on other sites More sharing options...
TK. Posted August 24, 2014 Author Report Share Posted August 24, 2014 A new version is available: MIDIbox NG V1.031 ~~~~~~~~~~~~~~~~~ o the STM32F4 variant of the firmware supports USB Host mode! See also o MIDI clock input ports now disabled by default to avoid feedback loops in various setups o improved "ain_filter_delay_ms" implementation to support sensors (experimental stage) o Covered new use case which allows to transform velocity values of incoming notes. See cfg/test/conev_6.ngc EVENT_RECEIVER and EVENT_SENDER have to be specified with "key=any", so that any key will be received and sent. o support for DIN/DOUT emulation on digital IO ports J10A/J10B (LPC17: J10/J28) See examples in cfg/test/diocfg_1.ngc and cfg/test/diocfg_2.ngc Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
TK. Posted November 9, 2014 Author Report Share Posted November 9, 2014 A new version is available: MIDIbox NG V1.032 ~~~~~~~~~~~~~~~~~ o support for mathematical operations in .NGR script. They have to be surrounded with square-brackets ([...]) Syntax: [<left-operand><operator><right-operand>] Example: - set LED:2000 [LED:2000 + 1] will increment the value stored in LED:2000 - set LED:2000 [LED:2000 - 1] will decrement the value stored in LED:2000 Note that nested operations are supported as well, such as: - send CC USB1 1 [LED:2000 + [LED:2001 + [LED:2002 + LED:2003]]] More examples in cfg/tests/runscr5.ngc Support operators: + - * / % & | ^ o number of scanned SRIOs now configurable in .NGC file with 'SRIO num_sr=<1..32>' By default 32 DIN and DOUT shift registers are scanned, which result into an update rate of ca. 420 uS on a STM32F4 based core. With (for example) 'sr_num=8' only up to 8 DIN and 8 DOUT SRs will be scanned anymore, but the update rate is reduced to ca. 110..120 uS (a little bit more than a quarter due to SR handling overhead) o corrected DebounceCtr parameter (value was not passed to MIOS32) Now also part of the SRIO configuration, use: SRIO debounce_cycles=<1..255> o added new meta event "KbBreakIsMake:<keyboard-number>" which will already trigger a note event when the break contact is activated (nice for playing organ style). Trigger it from a toggle button function as shown in cfg/test/kb_5.ngc Can be optionally set from the terminal as well with following command: "set kb <keyboard-number> break_is_make <on|off>" (e.g. "set kb 1 break_is_make on") o added ain_mode=Toggle for AIN and AINSER events. Similar to ain_mode=Switch it can be used if buttons are connected to analog inputs. The event will toggle between the min and max value. o .NGR: added "set_no_dump" command. It allows to change the "no_dump" flag which specifies if an EVENT_xxx should be sent during a DumpSnapshot. This feature can be used to handle different snapshot setups. o STM32F4: support for bootloader "enforce_usb_device" flag Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
FantomXR Posted December 13, 2014 Report Share Posted December 13, 2014 Hey folks, TK, do you think, it will be possible to call NGC-Files from MIDI events or buttons in the future or is it not possible im implement? Thanks! Chris Quote Link to comment Share on other sites More sharing options...
TK. Posted December 13, 2014 Author Report Share Posted December 13, 2014 Hi Chris, it won't be possible to load a .NGC file without switching to another session, otherwise this could lead to inconsistencies (e.g. while storing/restoring snapshots, when labels are used, etc...) However, it's possible to switch to another setup. Please try this version: http://www.ucapps.de/mios32/midibox_ng_v1_033_pre2.zip There is a new .NGR command called "LOAD" e.g. if you want to switch to XXX.NGC file, write: if ^section == 1 load xxx endif and trigger this section from an event Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
FantomXR Posted December 14, 2014 Report Share Posted December 14, 2014 You are the master... I will try that soon :) Thank you very much! Quote Link to comment Share on other sites More sharing options...
FantomXR Posted December 26, 2014 Report Share Posted December 26, 2014 (edited) I've a minor suggestion... maybe it has a reason that it is like it is but: If I have a button with an LED and I invert the button with range=127:0 than the LED still behaves like 0:127 (turns on when button sends "off"). So... in this case I need to handle it with a runsection-command, which is maybe more complicated that it needs to be. //edit: And another thing: I work on a NGR file and something seems to be wrong here. With this code if AINSER:26 >= 100 set BUTTON:7 0 set BUTTON:8 127 endif It works fine but with this code if AINSER:26 >= 100 set BUTTON:7 0 delay_ms 100 set BUTTON:8 127 endif Button:8 won't be triggered. I assume it's because I'm in a flow, right? Edited December 26, 2014 by FantomXR Quote Link to comment Share on other sites More sharing options...
SynthWeez Posted January 2, 2015 Report Share Posted January 2, 2015 Hi, I'm building an analogue synth from a surplus Fatar 88 Keyboard and a custom analog VCO. I've got the KB integrated with NG and working so far. I am looking for the best way to create custom mapping of AOUT_NG voltages for my custom VCO range(s). How is the note to AOUT voltage mapping set if I want something different than the usual Hz/V values? Thanks Quote Link to comment Share on other sites More sharing options...
TK. Posted January 2, 2015 Author Report Share Posted January 2, 2015 Hi, it's currently not possible to map a AOUT value from a customized map with the required resolution - I added this to the wish list. Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
SynthWeez Posted January 3, 2015 Report Share Posted January 3, 2015 TK, Many thanks for the quick reply! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.