thomasfedb Posted February 19, 2010 Report Share Posted February 19, 2010 Hi, I work in a theatre company as a lighting tech and i'v always wanted to build a lighting desk. Basically i'v spent a few hours on the wiki and on UCAPPS looking at what midibox has to offer, and im feeling optimistic! These are the requirements i'm aiming for: (this is a rough replic of a lighting controller called a 520i) 4 x Charactor LCD 4 x Motorised Faders 8 to 16 normal faders numerical keypad and many other buttons (probably over 100 total) communicates with a LINUX program via midi to controll the lights 3+ rotary encoders / joystick / trackball 4 XLR Desk Lamps I would like to know your opinion on this project, and if anything similar has be attempted before. Also should i go with Core32? I imagine a large amount of my code will be custom anyway. Thanks, thomasfedb Quote Link to comment Share on other sites More sharing options...
philetaylor Posted February 19, 2010 Report Share Posted February 19, 2010 Hi. Is there any reason you want to communicate with a Linux program to control the lights? I have created a DMX module for MIOS32 that works well and allows the CORE32 to talk DMX! There is also a CORE8 version that uses a rewritten IIC_MIDI firmware to talk DMX. I currently have it working as a simple lighting desk using the guts of an old Strand board.... Take a look at http://www.midibox.org/dokuwiki/doku.php?id=midiboxdmx I have to admit that things have slowed down a bit on development recently but eventually I hope to have a fully featured desk with moving light control etc. Also using the MIDIbox ETHernet interface, it will be able to talk to other devices over OSC and Art-Net etc. I also aim to support RDM for automatic fixture configuration. With regard to faders, buttons etc obviously they are easy for MIDIbox to support! Cheers Phil Quote Link to comment Share on other sites More sharing options...
thomasfedb Posted February 19, 2010 Author Report Share Posted February 19, 2010 (edited) Hi. Is there any reason you want to communicate with a Linux program to control the lights? I have created a DMX module for MIOS32 that works well and allows the CORE32 to talk DMX! There is also a CORE8 version that uses a rewritten IIC_MIDI firmware to talk DMX. Cheers Only thing is that i requrie a fullsize screen output. And this device will be controlling moving fixtures and doing some quite heavy maths do deal with some moving light features i have in mind. Also i'm a c++ guy. So i would feel better once im back in c++ on the computer. And linux i can create a 2gb part of my computer and run a very small, fast micro linux. Must say, looks like you have a very nice project. I'm just fed up with the board at my theatre really. Its a manual (fader based) board. And i prefer key based programming. Edited February 19, 2010 by thomasfedb Quote Link to comment Share on other sites More sharing options...
thomasfedb Posted February 19, 2010 Author Report Share Posted February 19, 2010 A major consideration for having DMX on the laptop is that i may need up to 1024 channles of dmx, all simutaniously with sine-curve fades. I dont think the SMT32 will be able to handle that. Quote Link to comment Share on other sites More sharing options...
ssp Posted February 19, 2010 Report Share Posted February 19, 2010 your in luck then!!!! what you need to do is come into the chat and speak with smashtv, he is a lighting tech and can help you out on a lighting controller better than anyone i dare say. ok easiest way is this, goto http://mibbit.com/chat/ then do a channel search for midibox, when you find it click on the name and in your browser a chat window will pop up, you will see most of us lurkers in there, change the name it gives you to something else by typing /nick bob or what every you want to call yourself. smashtv is in the chat most days and he will be able to advise you. Quote Link to comment Share on other sites More sharing options...
philetaylor Posted February 19, 2010 Report Share Posted February 19, 2010 (edited) A major consideration for having DMX on the laptop is that i may need up to 1024 channles of dmx, all simutaniously with sine-curve fades. I dont think the SMT32 will be able to handle that. That's only 2 DMX universes, no problem for the STM32 sine curves can be achieved with a simple lookup table so the amount of processing required is minimal. Don't forget, the STM32 runs at 72Mhz... I wouldn't dismiss it out of hand. EDIT: You can also write MIOS32 apps in C++ now, look at the MB_SID_V3 ! Cheers Phil Edited February 19, 2010 by philetaylor Quote Link to comment Share on other sites More sharing options...
philetaylor Posted February 19, 2010 Report Share Posted February 19, 2010 (edited) Must say, looks like you have a very nice project. I'm just fed up with the board at my theatre really. Its a manual (fader based) board. And i prefer key based programming. To be honest, that was my motivation for starting the MIDIboxDMX project in the first place, I have used many different manual and programmable boards in the past (Strand, Zero 88 Avolites etc etc) and I always find them either too basic or too complicated and I wanted to create something that was somewhere in between Phil Edited February 19, 2010 by philetaylor Quote Link to comment Share on other sites More sharing options...
ssp Posted February 20, 2010 Report Share Posted February 20, 2010 sorry phil i didnt think to say to speak with you, maybe because im having the mother of all brain farts this week! Quote Link to comment Share on other sites More sharing options...
thomasfedb Posted February 20, 2010 Author Report Share Posted February 20, 2010 That's only 2 DMX universes, no problem for the STM32 sine curves can be achieved with a simple lookup table so the amount of processing required is minimal. Don't forget, the STM32 runs at 72Mhz... I wouldn't dismiss it out of hand. EDIT: You can also write MIOS32 apps in C++ now, look at the MB_SID_V3 ! Cheers Phil Wow, we i'll definately be writing in c++, the stl is sooo handy. And i'v never got to terms with malloc and all those variants. Only other reason to use a laptop is for the screen. Can you output VGA from a midibox? Quote Link to comment Share on other sites More sharing options...
philetaylor Posted February 20, 2010 Report Share Posted February 20, 2010 Wow, we i'll definately be writing in c++, the stl is sooo handy. And i'v never got to terms with malloc and all those variants. Only other reason to use a laptop is for the screen. Can you output VGA from a midibox? TK found that once ported to C++, the new MB_SID application was actually smaller and slightly faster that the C version (which surprised us both at the time). The problem with VGA is always the framebuffer, a 640x480 mono screen requires 38400 bytes of buffer RAM (over half of the CORE32's RAM). It isn't impossible though, if you are only looking for a basic text screen (like used by many lighting boards) then an external charater generator/framebuffer would be an option but a full graphic screen is going to be difficult. Something like these from EA would be another option. They are quite expensive but they have simple commands for creating windows/icons etc. The maximum size is 480x272 so not exactly VGA..... My interest is also slightly selfish as I have been looking for another programmer to work with me on the MIDIboxDMX project :) Cheers Phil Quote Link to comment Share on other sites More sharing options...
seppoman Posted February 20, 2010 Report Share Posted February 20, 2010 The problem with VGA is always the framebuffer, a 640x480 mono screen requires 38400 bytes of buffer RAM (over half of the CORE32's RAM). It isn't impossible though, if you are only looking for a basic text screen (like used by many lighting boards) then an external charater generator/framebuffer would be an option but a full graphic screen is going to be difficult. Doing VGA on the same controller is possible but will not only severely limit the available RAM but also the general performance. As soon as you want even 4 bit color or 800x600 output, you're set to using an external fast (parallel) RAM. So I think the best would be to separate the task of updating the picture frame, drawing text etc from the Core module. Probably an FPGA would be more suitable than a regular MCU, but there are also some CortexM3 MCUs with integrated RAM interface. The quick and easy non-DIY solution would be to use one of the available embedded VGA modules, like http://www.microvga.com/ http://www.dontronics-shop.com/4d-micro-vga-picaso-md1.html I remember there are a few more, can't find the links right now. A module like these can be fed commands like "print Hello World at coordinates xy in light green" via UART or SPI, so it loads all the heavy work off the main MCU. If you'd rather DIY than buy, take a look at e.g. http://www.serasidis.gr/circuits/AVR_VGA/avr_vga.htm as a starting point. it's only mono and low res, but maybe enough to get some inspiration. I guess there are more advanced projects on the web, too. good luck :) S Quote Link to comment Share on other sites More sharing options...
philetaylor Posted February 20, 2010 Report Share Posted February 20, 2010 (edited) I really wish people would stop telling me about these toys Seppo..... I have just ordered a Micro VGA to play with Expect to see PICS of my MIDIbox projects using my 46" LCD TV as a display soon !!!! I don't have a problem using these commercial modules, rather than build my own MB-ETHernet module, I bought a commercial one..... Cheers Phil p.s. Got it from http://www.mcustore....ay_Adapter.html £29 inc VAT and delivery. EDIT: It also includes a PS/2 keyboard socket which is useful for naming scenes/chases etc.... Edited February 20, 2010 by philetaylor Quote Link to comment Share on other sites More sharing options...
thomasfedb Posted February 20, 2010 Author Report Share Posted February 20, 2010 Thanks for taking so much interest guys. After some thinking, and a talk with SmashTV, i'v decided to run the main software on a PC. Sorry to dissapoint. Unfortuantly this mean that i will be developing this software first and wont get to play with midibox for a while. However i am having some thoughts about a system to send more than 7bits of data over MIDI. When i work out the spec for this protocol i will post it in this thread. Quote Link to comment Share on other sites More sharing options...
seppoman Posted February 20, 2010 Report Share Posted February 20, 2010 I really wish people would stop telling me about these toys Seppo..... hehe, I'm deeply sorry :tongue: have fun with your Midibox FullHD :drool: S Quote Link to comment Share on other sites More sharing options...
philetaylor Posted February 20, 2010 Report Share Posted February 20, 2010 (edited) Thanks for taking so much interest guys. After some thinking, and a talk with SmashTV, i'v decided to run the main software on a PC. Sorry to dissapoint. No problem Unfortuantly this mean that i will be developing this software first and wont get to play with midibox for a while. However i am having some thoughts about a system to send more than 7bits of data over MIDI. When i work out the spec for this protocol i will post it in this thread. MIDI already has provision for this, it is called 14 bit controller messages, it involves sending 2 messages, one for the MSB and one for the LSB. Cheers Phil Edited February 20, 2010 by philetaylor Quote Link to comment Share on other sites More sharing options...
thomasfedb Posted February 20, 2010 Author Report Share Posted February 20, 2010 MIDI already has provision for this, it is called 14 bit controller messages, it involves sending 2 messages, one for the MSB and one for the LSB. Cheers Phil Great, is there an article anywhere? Quote Link to comment Share on other sites More sharing options...
philetaylor Posted February 20, 2010 Report Share Posted February 20, 2010 (edited) Great, is there an article anywhere? I'm sure there is but it is pretty straight forward. Many CC (control change) messages are actually 14 bit capable. For Example CC 0x0 (Bank Select) can just be the MSB of the bank select CC. Sending a CC 0x20 provides the LSB. The beauty of this type of implementation is that if just the LSB changes (a small move of a fader for example) then only the LSB needs to be sent. http://www.midi.org/...idimessages.php Gives a list of the available messages. Another option is to use the MSC (MIDI Show Control) protocol which is designed specifically for show cueing and uses System Exclusive (SysEx) messages: http://www.richmonds.../1992Summer.txt Cheers Phil Edited February 20, 2010 by philetaylor Quote Link to comment Share on other sites More sharing options...
thomasfedb Posted February 21, 2010 Author Report Share Posted February 21, 2010 I'm sure there is but it is pretty straight forward. Many CC (control change) messages are actually 14 bit capable. For Example CC 0x0 (Bank Select) can just be the MSB of the bank select CC. Sending a CC 0x20 provides the LSB. The beauty of this type of implementation is that if just the LSB changes (a small move of a fader for example) then only the LSB needs to be sent. http://www.midi.org/...idimessages.php Gives a list of the available messages. Another option is to use the MSC (MIDI Show Control) protocol which is designed specifically for show cueing and uses System Exclusive (SysEx) messages: http://www.richmonds.../1992Summer.txt Cheers Phil thanks 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.