Aurich Posted November 28, 2012 Share Posted November 28, 2012 My preffered situation for V2.0: Raspberry Pi communicating on low-level with Pinmame, Pi driving dedicated Arduino board(s) (for the # outputs). Configuration for your specific tables with hardware done with web-interface running on your own Pi, getting the config data from the internet on request. Live testing and simulation possible for all effects.What ? yeah... let me have my dreams This seems somewhat ridiculous though, doesn't it? Nothing we're doing should require offloading the work to a separate CPU, not if the true bottleneck is simply the scripting in the first place, no? It seems nuts to me that you'd want to offload things to a Pi, which then talks to the Arduino, when there's probably more than enough processing power in the host PC if the scripting was simply more sophisticated. I say that like it's that easy to solve, and it's not and I realize that, but surely it wouldn't be any crazier than dragging an entirely redundant piece of extra hardware into the mix. Link to comment Share on other sites More sharing options...
shifters67 Posted November 29, 2012 Share Posted November 29, 2012 Hi Aurich, you are probably correct - but we all like playing with hardware dont we! The limiting factor for the current Arduino mega is the CPU and really the memory - only 8K. I have done a lot in that 8K and spent alot of time optimising the hell out of it for the 16Mhz processor. It works pretty well and time will tell under full load if it can cope - i think it will but what i would really like is more memory - i spent 2 days rewritting code to save a few 100 bytes I suspect the scripting is not a fixable problem - short of a rewrite of every table vbs or the vbs script engine! Instead i intend to try and move the arduino interface code from the vbs completely and run as a seperate c# task and have it intercept events at a lower level with a custom dll as required - that may take a while to work out but has been done by others e.g. Russ with his DMD board. regards Shifters Link to comment Share on other sites More sharing options...
Aurich Posted November 29, 2012 Share Posted November 29, 2012 Hi Aurich,you are probably correct - but we all like playing with hardware dont we! The limiting factor for the current Arduino mega is the CPU and really the memory - only 8K. I have done a lot in that 8K and spent alot of time optimising the hell out of it for the 16Mhz processor. It works pretty well and time will tell under full load if it can cope - i think it will but what i would really like is more memory - i spent 2 days rewritting code to save a few 100 bytes I suspect the scripting is not a fixable problem - short of a rewrite of every table vbs or the vbs script engine! Instead i intend to try and move the arduino interface code from the vbs completely and run as a seperate c# task and have it intercept events at a lower level with a custom dll as required - that may take a while to work out but has been done by others e.g. Russ with his DMD board. Hey, if you want to play with it, why not. The Pi is cheap, and if that kind of insanity appeals to you and fixes the problem who am I to argue? It just seems slightly crazy to me that we've reached the point where strapping what is essentially an entire new computer, in a very literal sense, into the cabinet is the solution. Link to comment Share on other sites More sharing options...
shifters67 Posted November 29, 2012 Share Posted November 29, 2012 Aurich, Well my cab has its own gigabit network inside and did have 3 PC's - now only has 2, a pi and 2x arduino mega's Its a pinball cab, hyerspin and a jukebox too!! (in effect a custom PC case that plays games Pixel, God my fingers are killing me from twisting copper wire in my cab all day but i am getting there!! 5V PSU came today, recon a few more days to finish wiring. Working on a new tool for config loading and control. My rack is starting to feel lonely! Now i wonder if next year i can afford a real DMD and Russ's board <-- that probably the wife regards shifters Link to comment Share on other sites More sharing options...
slydog43 Posted January 22, 2013 Share Posted January 22, 2013 phew, long thread to read through, great stuff. No new news, really loving how well Russ' PinDMD board v2 is and hope to improve the ledwiz side of my cab. Link to comment Share on other sites More sharing options...
shifters67 Posted January 23, 2013 Share Posted January 23, 2013 Almost all the wiring done now. Pixel has gone rather quiet recently - don't think the project is dead just not in a massive hurry. Pixel - wake up! Shifters Link to comment Share on other sites More sharing options...
slydog43 Posted February 15, 2013 Share Posted February 15, 2013 Please dont let this topic die, I want micro stutter fixed with ledwiz (or another piece of hardware). Link to comment Share on other sites More sharing options...
Gilrock Posted February 18, 2013 Share Posted February 18, 2013 Hi Aurich,you are probably correct - but we all like playing with hardware dont we! The limiting factor for the current Arduino mega is the CPU and really the memory - only 8K. I have done a lot in that 8K and spent alot of time optimising the hell out of it for the 16Mhz processor. It works pretty well and time will tell under full load if it can cope - i think it will but what i would really like is more memory - i spent 2 days rewritting code to save a few 100 bytes I suspect the scripting is not a fixable problem - short of a rewrite of every table vbs or the vbs script engine! Instead i intend to try and move the arduino interface code from the vbs completely and run as a seperate c# task and have it intercept events at a lower level with a custom dll as required - that may take a while to work out but has been done by others e.g. Russ with his DMD board. regards Shifters Hey I'm just starting out and skimmed through this trying to figure out if I will need an LEDWiz or if there was something else I could use. I've done some Arduino work and I've done a couple side jobs for a local telescope shop where we created USB based hardware and I wrote all the embedded code using for the Atmel chips. We've been through all the Windows driver winqual mess to certify our USB driver as well. We used to use the ATMega 162 but now have moved to the ATMega128. Anyways when I saw you talking about the lack of memory and processor speed on the Arduino I remembered seeing an article a few months ago where Arduino came out with a new version that uses an ARM Cortex-M3 core running at 84 MHz with 96K of SRAM and a boatload of I/O pins. If you could switch over to that it should be smokin fast. Gil Link to comment Share on other sites More sharing options...
shifters67 Posted February 21, 2013 Share Posted February 21, 2013 Hi Gil, problem is that all the IO is 3.3v and everything we have at the moment is 5v lol - software is easily portable though regards Shifters Link to comment Share on other sites More sharing options...
russdx Posted February 21, 2013 Share Posted February 21, 2013 what 5v devices do you have shifters? i have found alot of "5v" devices still respond to 3.3 signals nicely the amount of times iv talked to chips that say they r "5v" input level but i just connect them to a 3.3v stm32 and the quite happy chat away you can also get level converter chips Link to comment Share on other sites More sharing options...
Aurich Posted February 22, 2013 Share Posted February 22, 2013 Please dont let this topic die, I want micro stutter fixed with ledwiz (or another piece of hardware). Now that B2S is replacing UVP I honestly can't say I have any issues with the LED-Wiz and stutter. Link to comment Share on other sites More sharing options...
shifters67 Posted February 22, 2013 Share Posted February 22, 2013 what 5v devices do you have shifters? i have found alot of "5v" devices still respond to 3.3 signals nicely the amount of times iv talked to chips that say they r "5v" input level but i just connect them to a 3.3v stm32 and the quite happy chat away you can also get level converter chips Hey thats hardware speak - i do the software! Pixel is the guy you need to speak too! BTW this is not about fixing micro stutter its also about more than 32 devices - the current design supports 200 - 250 devices per board and the boards can cascade - the whole design supports that. Shifters Link to comment Share on other sites More sharing options...
russdx Posted February 22, 2013 Share Posted February 22, 2013 200 outputs wow. Pinball disco lol Link to comment Share on other sites More sharing options...
shifters67 Posted February 24, 2013 Share Posted February 24, 2013 200 outputs wow. Pinball disco lol Funny you should say that ... check out Pixels vids. I have full RGB individually addressable led strips around the playfield, backbox, on top of the back box, and back of backbox and bottom of cab :-) RGB flippers, PWM front buttons etc. Oh yeah and it handles motors, contactors etc etc already - pixel been a busy boy with the hardware (well at least last year :-) ) and the software has lots of features like turning contactors off at night with a single click, minimum and maximum PWM for motors etc to allow control to start the motor up and not make the legs fall off. I have two arduinos in my cab connected via serial and basically they talk to each other so thats 500 devices :-) You can connect anything up to 10 if you want to go nuts! Its an event driven system, so a single event can trigger all kinds of built in fancy led patterns (in any colour you wish with full RGB) - see pixels video, that is happing with just a few bytes in a single event. Would love to use the duo - but Pixel needs to look if the existing hardware can support that! Shifters Link to comment Share on other sites More sharing options...
jeepguy81 Posted February 25, 2013 Share Posted February 25, 2013 Any thoughts on any type of release on the software? And any thoughts of trying to incorporate it along side FP, like the work currently being done. Just curious. Sent from my PC36100 using Tapatalk 2 Link to comment Share on other sites More sharing options...
shimoda Posted March 6, 2013 Share Posted March 6, 2013 Still looking forward to this project. Esp. since I have a couple arduinos sitting round gathering dust. Link to comment Share on other sites More sharing options...
shifters67 Posted March 8, 2013 Share Posted March 8, 2013 HI All, The software is mostly (98%) done - waiting on Pixel to reappear so i can crack on with testing and finish the software. regards Shifters Link to comment Share on other sites More sharing options...
jeepguy81 Posted March 8, 2013 Share Posted March 8, 2013 great to hear, thanks for the udpate!! Link to comment Share on other sites More sharing options...
gyom Posted March 29, 2013 Share Posted March 29, 2013 (edited) Hi, I've been working on my Arduino Mega for the last couples of days. My goal is to both replace the LedWiz and the Ipac. So far the Arduino code is done (still it will need modifications later if I use shift registers).. it's sending inputs to a C# program that translate the message into keypresses. So far so good, there's is no lag between the push of the buttons and VP. Almost no hardcoding to make it easy to configure. You just have to change 2 arrays in the code with the pin # used for I/O. The next step is to interface that C# program with VP and VPM to send commands to the Arduino (again the arduino code is done). Edited March 29, 2013 by gyom Link to comment Share on other sites More sharing options...
mouse Posted March 30, 2013 Share Posted March 30, 2013 Hi, I've been working on my Arduino Mega for the last couples of days. My goal is to both replace the LedWiz and the Ipac. So far the Arduino code is done (still it will need modifications later if I use shift registers).. it's sending inputs to a C# program that translate the message into keypresses. So far so good, there's is no lag between the push of the buttons and VP.Almost no hardcoding to make it easy to configure. You just have to change 2 arrays in the code with the pin # used for I/O. The next step is to interface that C# program with VP and VPM to send commands to the Arduino (again the arduino code is done). I like where this is going... this whole Arduino project is what I am waiting on to begin my own Virtual Table. Link to comment Share on other sites More sharing options...
shifters67 Posted April 3, 2013 Share Posted April 3, 2013 Hi Gyom, we still use the vb event and a vbx control to get the data from VP to the arduino. It still has stutter some times under heavy load - this is not the arduino or its comms but we believe the slowness of getting events using the vbscript within each table. I have discussed briefly with russDX how to interface to VP with a DLL directly for speed but haven't made any progress as of yet (too many projects!). We then would have shim layer (done by pixel magic) to translate the events into something specific for your arduino config (ala ledwiz just lots more of it). The trick i think is getting that dll written. I have a C# program for arduino control and config. If you want to share any source let me know - ditto with any progress! My arduino program uses multiplexors etc etc and is optimise for output - control of 100's of individual leds is easy (ala the strips you saw videos of earlier in the thread) regards Shifters Link to comment Share on other sites More sharing options...
gyom Posted April 4, 2013 Share Posted April 4, 2013 (edited) Hi shifters! Well for what I've read so far (I'm no VP/VPM expert), but I think there will always be a problem the ways things work right now between those 2. There is no "master of the key".. by that I mean that everything must daisy chained because the COM object as to be created in the tables script and there is no other way since VBScript doesn't support any other way to interact with dlls. So since VP is the only owner/creator of the VPM object (the famous CreateObject("VPinMAME.Controller")), if you want to access the VPM object you have to "hook" to it by placing yourself in the middle to be the creator/owner of the VPM object. Like I said I'm no expert, but I'm pretty sure it's the way BS2 or UVP works.. they replicate the same interface as the VPM Com interface (so it's the same signature) and create their own COM so VP don't see the difference (that's why you just change to something like CreateObject("B2S.Server")). Even if we run VPM directly in VP with direct dll access, you still have the problem that things like B2S won't work.. Like I said, as long as things will work that way, things gonna be messy with all the daisy chaining. VP can't be the owner of VPM (or any other soft). VPM should be on is own allowing anyone who want to listen to it. So the main problem to attack for me is that. I've read so much stuff this week to try find a solution that my head gonna explode.. but there's a couple of solution path I think (once again, I'm no expert..), like running VPM in a COM server .exe (out-of-proc) and turning it in a "Singleton" so everytime someone try to instanciate it (createobject), it return the same object (pointer). Or having a dedicated dll that create the VPM object and have 1 function to return it, so once again anyone who want to have access to VPM call that dll. But that would mean to change VP since like I said VBScript doesn't support dll calling other than COM. Example, you want do develop your Arduino driver, you call that dll that return you the pointer to the unique VPM object. After that you could just ping it to see the states of the led/sol and translate it in outputs for the arduino. Meanwhile VP still does it's thing. The only consern would be making that dll safe so people could just listen (read) the object and not change it. Edited April 4, 2013 by gyom Link to comment Share on other sites More sharing options...
gyom Posted April 14, 2013 Share Posted April 14, 2013 For those who might be interested in my current work, I've put my code on GitHub. PLEASE READ THE README! https://github.com/gui999/ArduiPin/ It's only my "UNTESTED" Arduino code since I'm curently redoing my C# interface. I'm looking to maybe switch to WPF over standard Windows Form, mainly for it's databinding and commands cabability. I want to create an Arduino object with a visual representation of the board, with clickable pins to link them visually to events, keys (for inputs) or toys with a way to manually launch a command to test the toys (a test mode). Also, I'm looking for a way to build my own analog plunger and implement it in my Arduino code. It's an idea I took from the DIY hi-hat I've planned to build for my megadrum: http://www.megadrum.info/forums/viewtopic.php?f=3&t=422 All you need is a plunger, and one of these: http://www.radioshack.com/product/index.jsp?productId=2049723 Since the plunger is one big spring.. it should be fairly easy to build. Link to comment Share on other sites More sharing options...
BitPirate Posted April 15, 2013 Share Posted April 15, 2013 (edited) For those who might be interested in my current work, I've put my code on GitHub. PLEASE READ THE README! https://github.com/gui999/ArduiPin/ It's only my "UNTESTED" Arduino code since I'm curently redoing my C# interface. I'm looking to maybe switch to WPF over standard Windows Form, mainly for it's databinding and commands cabability. I want to create an Arduino object with a visual representation of the board, with clickable pins to link them visually to events, keys (for inputs) or toys with a way to manually launch a command to test the toys (a test mode). Also, I'm looking for a way to build my own analog plunger and implement it in my Arduino code. It's an idea I took from the DIY hi-hat I've planned to build for my megadrum: http://www.megadrum.info/forums/viewtopic.php?f=3&t=422 All you need is a plunger, and one of these: http://www.radioshack.com/product/index.jsp?productId=2049723 Since the plunger is one big spring.. it should be fairly easy to build. Hi Gyom, Been out of the scene for a little bit, but this caught my eye. While I have a plunger on my cab, I never really did anything with it. I was always looking for the best way to create a virtual plunger (The hardware specifically). This high hat controller looks like a cool idea. Think I understand the principle of variable resistance but, how do you intend to interface these led's with your pc? I'd love to see pics and hear your feedback on how well it works out when completed. Edited April 15, 2013 by BitPirate Link to comment Share on other sites More sharing options...
jeepguy81 Posted April 15, 2013 Share Posted April 15, 2013 That hi-hat switch idea is interesting. I've been reading up on some distance measuring circuits on a couple robotics forums and this is fairly similar. Please keep us updated! Sent from my SPH-L710 using Tapatalk 2 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now