Jump to content

MIDIbox NG Release + Feedback


TK.
 Share

Recommended Posts

I knew that I forgot something... ;-)

 

Please try the new release:

MIDIbox NG V1.023
~~~~~~~~~~~~~~~~~

   o the current AIN/AINSER pot values can now be taken over by the meta events
     RetrieveAinValues and RetrieveAinserValues

   o new .NGR command: EXEC_META

 

 

Write following commands into your .NGR file:

if ^section == 0
  exec_meta RetrieveAinserValues
  exec_meta DumpSnapshot
endif

 

Best Regards, Thorsten.

Link to comment
Share on other sites

  • Replies 353
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

My default.NGC includes the following lines:

 

EVENT_BUTTON id=8 fwd_id=LED:33 type=Meta meta=SetBank button_mode=OnOnly range=1:1 radio_group=1 value=1
EVENT_BUTTON id=7 fwd_id=LED:34 type=Meta meta=SetBank button_mode=OnOnly range=2:2 radio_group=1

 

If I have a default.NGR with:

if ^section == 3
 set LED:34 2
endif

 

I get:

[33887.626] Executing DEFAULT.NGR with $section==3 $value==0
[33887.628] [MBNG_FILE_R:26] 'set LED:34 2' failed - item not found!
[33887.628] DEFAULT.NGR with $section==3 $value==0 processed.

 

I want to test it by activating the led. What am I doing wrong?

Link to comment
Share on other sites

"set" searches for an EVENT with the given id - instead of fwd_id it won't address the hardware directly if the id hasn't been specified.

Note also, that it searches for id, not for hw_id (which can be different).

 

In the next version I will change this: set will work like fwd_id, and if the "id" instead of "hw_id" should be addressed, somebody can write "(id)<controller>:<number>"

 

Best Regards, Thorsten.

Link to comment
Share on other sites

In the next version I will change this: set will work like fwd_id, and if the "id" instead of "hw_id" should be addressed, somebody can write "(id)<controller>:<number>"

Does that mean my example should work without modification in the next version?

 

Also:

I'm using statements like this to set an RGB LED  to a different colour, with each bank. 

EVENT_LED value=100 id=1001 bank=1 rgb=7:7:7

 

How would I activate this LED with different colours during a run script?

Edited by TK.
Link to comment
Share on other sites

Does that mean my example should work without modification in the next version?

 

yes

 

 

 

How would I activate this LED with different colours during a run script?

 

thanks for the food for thoughts - RGB handling will require a special "set" (e.g. "set_rgb") command.

I can't promise that this will already work with the next version, because such a command will require some testing with special hardware...

 

Best Regards, Thorsten.

Link to comment
Share on other sites

thanks for the food for thoughts - RGB handling will require a special "set" (e.g. "set_rgb") command.

I can't promise that this will already work with the next version, because such a command will require some testing with special hardware...

I have "special hardware". I'll let you know! :smile:

Link to comment
Share on other sites

Well, the hope was that you could test this without forcing me to build up the HW for tries at my side ;)

 

However, could it be that the LED value is 0, so that the LED isn't turned on?

 

Please try:

set (id)LED:1001 127
set_rgb (id)LED:1001 15:0:0
delay_ms 1000
set_rgb (id)LED:1001 0:0:0
delay_ms 1000
set_rgb (id)LED:1001 15:0:0

 

 

If this doesn't help, please enable debug mode ("set debug on" in MIOS Terminal) - maybe it prints out some useful informations.

 

If this still doesn't help, start to instrument the code with DEBUG_MSG to follow the data stream.

 

Best Regards, Thorsten.

Link to comment
Share on other sites

P.S.: I updated the code, so that for the case that (hw_id)LED:1001 hasn't been configured as EVENT, the value 127 will be set automatically.

Background: "virtual events" can't store the value.

Please update your repository.

 

Best Regards, Thorsten.

Link to comment
Share on other sites

No change, but with debug on I only see:

[7812.529] Executing DEFAULT.NGR with $section==1 $value==0
[7814.534] DEFAULT.NGR with $section==1 $value==0 processed.

 

unlike other sections(which work), I get 

[7804.531] MBNG_DOUT_NotifyReceivedValue(34, 100)

on a set LED etc.

 

Here is the fragment that sets up the RGB and turns it on:

DOUT_MATRIX n=1 rows=8 inverted=1 sr_dout_sel1=1 sr_dout_r1=2 sr_dout_g1=3 sr_dout_b1=4 led_emu_id_offset=1001

EVENT_LED value=100 id=1001 bank=1 rgb=7:7:7
EVENT_LED value=100 id=1002 bank=1 rgb=7:7:7
...

 

 

 

 

 

Link to comment
Share on other sites

Well, the hope was that you could test this without forcing me to build up the HW for tries at my side ;)

Seriously, I have a module (like this:http://www.futurlec.com.au/LEDMatrix.jsp 8x8 common cathode, RGB)

which I could wire to IDC plugs and mail it to you, ready to connect to a standard smashTV DOUTx4 (which I can also provide, btw). 

Let me know the destination address via email if you would like it.

It might take a bit longer than I would like for it to arrive at your end, but it would be handy for you to be able to quickly test this stuff in the long run?

Link to comment
Share on other sites

BTW, if you hadn't thought of it already: without any hardware you could trigger a CRO on the falling edge of the cathode row driver (assuming using DOUT pin without 2803 driver, else with a driver attach a pullup) . Then with another probe look at the RBG column driver pins (for a simultaneous high) to see when the non-existent LED would come on.

Link to comment
Share on other sites

Thanks for the offer, but I considered to use my BLM16x16+X for testing instead, just only have to solder the adapter ;)

Debugging with a CRO is problematic if you want to check multiple LED functions at once (e.g. to ensure that they don't influence each other).

 

However, I think (hope) that I found the issue - could you please try the latest version?

 

Best Regards, Thorsten.

Link to comment
Share on other sites

It works!  :smile:

 

I should mention something that'll need attention at some point though:

It would appear there is some memory artifacts/corruption that only affects the 1st row.

It seems to typically effect columns 2,3,4,5,6,7,8 (ie not 1) of the first row.

It manifests in a pink hue (when the LEDs have been set to white), sometimes the affected LEDs output a dull red.

At certain points in time they spontaneously get better/worst.

If I change bank, the affect LEDs seem to all go to the correct colour, and then if I change back to the original bank the wrong hue is back.

 

I don't think it could possibly be faulty hw because the rest of the array all 8 columns of the remaining 7 rows are perfect, as well as (1,1) seems to be fine!

 

Link to comment
Share on other sites

This isn't enough input for remote diagnosis! ;)

 

So, it seems to be related to colors controlled from bank1 - what happens if you remove all other events located in this bank, maybe there is some kind of overlaying in your configuration?

It could also make sense to start the analysis with a minimal setup - or the other way around: downstrip the .NGC file until you notice a difference.

 

Best Regards, Thorsten.

Link to comment
Share on other sites

Hello,

I am planning to build controller for Resolume Arena (VJ software). I decided MBNG is best solution for this challenge. But I am not sure in one thing. When only 8 analog POTs are planned, can be connected directly to LPC17 core or must be connected through AINSER64 module? Because on MBNG site is only this statement "up to 128 pots/faders connected to MBHP_AINSER64 modules". So I'm not sure.

Best Regards, Pavel

Link to comment
Share on other sites

I am planning to build controller for Resolume Arena (VJ software). I decided MBNG is best solution for this challenge. But I am not sure in one thing. When only 8 analog POTs are planned, can be connected directly to LPC17 core or must be connected through AINSER64 module? Because on MBNG site is only this statement "up to 128 pots/faders connected to MBHP_AINSER64 modules". So I'm not sure.

Welcome!

though I haven't done this with NG and a LPC17 core, the section under AIN in http://www.ucapps.de/midibox_ng_manual_ngc.html

specifies a mask of 6 bits implying 6 core analog inputs available.

I have built the LPC17 based MIDIbox KB which has only 6 analog ins, so I think this is correct.

Have you considered encoders? The non-detented ones have the same feel as rotary pots but have the benefit of total recall! 

This board works really well:http://www.midibox.org/dokuwiki/doku.php?id=MB-LRE8x2CS_PCB

I think there is an 8 knob version in the works.

cheers

Link to comment
Share on other sites

Hello Duggle,

 

This is my first draft. As you can see, there are planned 4 linear faders for layers. So I need at least 4 analogue inputs. Other rotary controllers can be solved by encoders and i actually planned it for some of them. I have some GLCDs with T6963 128x64. It will be fine to display bars and value for every encoder instead of LEDrings.

 

Have a nice day.

 

 

post-7921-0-22077100-1365673426_thumb.jp

Link to comment
Share on other sites

only 8 analog POTs are planned, can be connected directly to LPC17 core or must be connected through AINSER64 module

 

the usage of the embedded ADCs isn't recommended, because conversion values are jittering to much.

 

I will release the AINSER8 module soon: http://www.ucapps.de/mbhp/mbhp_ainser8.pdf which would perfectly fit for your usecase.

Just yesterday I got the mail that the prototype PCBs are shipped. :smile:

 

Where are you located? If in Europe, I could give you one of the three prototype boards.

If outside europe, it makes sense if you would order the PCB directly at http://www.oshpark.com (once I've released the .brd file)

 

Best Regards, Thorsten.

Link to comment
Share on other sites

Hello Thorsten,

is the jittering really so bad? In comparison to PIC core module. I am using one and have no jitter problem yet.

So it looks that MCP3208 is almost necessary for good result, OK i will use it.

Thanks for offering of PCB, I am from Czech Republic. But will be better to offer it to someone else, I am planning to make my custom PCB myself. I will design it complete with SMD components i think. Actually I play with idea to do not use LPCXPRESSO but assembly LPC1769 directly to my PCB which will hold every components. SMD soldering is not problem for me and JTAG for LPC is used in my job. But I will play with LPCXPRESSO and testing everything with wires first.
I found tens of 122x32 GLCD with SED1520 (like wintek on LCD page here) in my "stock", maybe i want to use them 2 or four, i am not sure now. How to implement some graphic? Any types of bars instead of LEDrings etc. Is it described here somewhere? I did not found it.

Regards,
Pavel

Link to comment
Share on other sites

Hi Pavel,

 

 

is the jittering really so bad? In comparison to PIC core module. I am using one and have no jitter problem yet.

 

yes: the PIC is supplied at 5V, the LPC1769 at 3.3V. This means that the s/n ratio is lower, which results into sporadical jittering values even at (only) 7bit resolution.

With a MCP3208 conversions can be done at up to 10bit without jitter (12bit conversion jitter +/- 2 LSB when supplied from USB)

However, since you create your own PCB, you could maybe improve results by considering the ADC design guidelines: AN10974_-_LPC176x_175x_12-bit_ADC_design_guidelines

 

 

 

I found tens of 122x32 GLCD with SED1520 (like wintek on LCD page here) in my "stock", maybe i want to use them 2 or four, i am not sure now. How to implement some graphic? Any types of bars instead of LEDrings etc. Is it described here somewhere? I did not found it.

 

This page describes, how to configure the SED1520 display: http://www.ucapps.de/midibox_ng_manual_lcd.html

This page describes, how to output special fonts (inclusive bars, knobs) on a GLCD: http://www.ucapps.de/midibox_ng_manual_ngc.html

If you are not happy with the available fonts, then you would have to create your own one(s) here: http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fmodules%2Fglcd_font%2F

And you would have to integrate it into the project here: http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fsrc%2Fmbng_lcd.c

 

Or you just wait, until we've integrated John's new fonts into the official build: 

 

Best Regards, Thorsten.

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...