PDA

View Full Version : MJOY 16 and Igor Plug Update



Buddym
03-17-2010, 11:28 PM
The MJOY 16 and Igor Plug I/O project is progressing well. I now have a working program to configure the Igor Plug to drive up to 24 outputs using user-configured FSUIPC offsets. Although it is written in VB.net, speed seems to be fine, and if needed I will move it over to C++. The program gives you a nice cfg screen to assign FSUIPC offsets, and a virtual LED indicator for each output so you can test your cfg without hardware connected.

Although the MJOY offers a funtion already well provided by Leo's cards, the Igor Plug fills a gap that needs filling. It's a cheap output card that is community-supported, and any of us can write software for it. My limited skills are getting some real results, I can only imagine what could be done with it if the big brains like Pete Dowson, Jeehell, or the VAS/FMC guys were to tackle it.....

Anyway, more to come, anyone interested drop a PM or reply here and I will give you any info you like.

Buddy

brynjames
03-19-2010, 05:50 PM
Sounds good, Buddy. Tell us more.....

--
Bryn

Buddym
03-20-2010, 09:28 AM
Well it's been a slow week for software development on the Igor Plug. I did manage to get a couple more functions tested. I wanted to see if I could get a little input....there's not a lot of interest in this project, but wanted to ask anyway...So far I have been approaching the aspect of configuration by defining the offset and some aspect of 1 or more bits or bytes of that offset, or the value of. and what action(s) are taken relative to the value(s) read. This requires the user to read thru the FSUIPC offsets and figure out how they work and inout the config data into my program. I started thinking that I since I am testing different offsets as I develop that I could just build the funtions of different offsets into a library that a user could configure by name. For instance, if you wanted to connect an LED to output # 1 to indicate the status of your nose gear you could right-click on the output and choose a pre-defined function labeled "NOSE GEAR". Then there would be no sorting bits and so forth on the user end. The downside is that when I get something wrong the user can't fix it. Unless maybe I make the library an external file that can be modified with notepad or something, then the program calls the function labels contained in the file...sort of like this maybe:

FUNCTION NAME OFFSET SIZE TYPE EXAMINE BIT VALUE STATE

NOSE GEAR 0BEC 4 VALUE 0 OFF



This way you can just select the funtion from a drop-down menu as long as it's already defined. If not, we can add it easily and the FSUIPC gurus can help us with more difficult offsets when we get stuck! Replies?

Buddy

iwik
03-20-2010, 02:25 PM
Hi Buddy,
I like your idea of this plugin.This library you talk about should be external.People could add to it and your right,it could be fixed by anyone.The more you can do with graphical input the more apealing it will be.There are many people dtruggling with I/O cards,Fsbus ect and i understand the commercial
interface are graphically set up.I think if you can write the core such that others could add to a database ect the many could contribute to.
Applying some output functionality to the Mjoy would make it much more popular than it is currently.Keep up the good work,its not easy programming but there are many people that would appreciate your efforts and cant afford the commercial packages.Maybe you could release a Beta to show us what your utillity looks like and people may have some good ideas to add.

Les

AK Mongo
03-20-2010, 03:44 PM
I am one of those struggling with an output solution, and welcome all improvements for those of us who are "code" challenged! Open sourcing the library sounds like a great way to go, as community members can and will think of great new ways to use the interface. I really look forward to more info about this!

arod291
04-13-2010, 10:49 PM
Hey Buddy, I'm a newbie here at this forum. I've been flightsimming on and off for several years and I just decided to build me up a home cockpit. I've been researching now for several weeks, looking at my options as far as software/hardware, etc. Well I can tell you I've been a computer programmer for the past 10 years, VB, C++, ASP, XML, .NET, you name it, I've done it! Not as a hobby it's actually what i do for a living. I'm not sure yet how these softwares/hardwares are integrated or anything but if you'd like me to take a look or if you have any questions as far as programming where I can help, you let me know and I'll be glad to provide any input i can.

Buddym
04-14-2010, 08:56 AM
Thanks arod! That would be great! I have decided to go ahead and make pc boards for the 8 pin and 24 pin Igor Plugs, so we are almost there. I have 3 8 pin prototypes in the works right now so folks can help me test. When they are done I am sending them out so I can add you to the list. I code in VB, C, JAVA, and bunch of scripting languages like PHP, PERL, RUBY, mostly UNIX-based stuff. If you would like to throw your hat in the ring to help with the coding of the UI and functionality that would be awesome. I have some working code in VB that I can send you to look at. It doesn't implement anything sophisticated and it's not clean, but it works well enough to show how it interfaces with FSUIPC. The prototypes will be finished in a few days and I will send you one when I send out the other 2.

I think it would be nice to leave the code in VB. I am more familiar with VB than modern C++ or .NET so it would be nice for me personally, but I kinda also think that the hobbyist community as a whole is more comfortable with VB. The intent is develop an outout interface that is quick to install (USB), and open-source. It also helps that it's ver cheap to build. I think the combination of a modern PCs speed and VB6/.NET offer plenty of speed for this application. What do you think?

The previous posts in this thread kinda describe the UI, functionality and scope I had envisioned for the software, but I am completely open to different ideas. My approach to software has always been functionality first, form last. A professional coder like yourself is no doubt better suited to the task.

In summary form, the general scope is this:

The hardware attaches via USB.

A card can support either 8 or 24 outputs.

Each output can be configured to reflect the state of a FS variable via an FSUIPC offset.

Outputs can be associated with a bit state or value. As an example landing lights are on or off, derived from a bit state. Gear position can be a value that reflects full up, full down, or in transition.

It's pretty much that simple. There's a driver for the Igor Plug that you load that then gives you access to the different calls to talk to the board, really simple stuff. I have included a simulated LED for each output in my software so that I can write and test without connecting LEDs to my hardware, and it aids in testing during hardware implementation in the cockpit. I think that it would be good to see that maintained in the future. I also like the idea of of multiple profiles that can be loaded, just a simple .cfg file (text, not .ini) that can be edited via notepad, This way you can save a working profile, then test different configurations without breaking the working profile, and have different profiles for different aircraft. If there was a grid-based interface for configuring outputs that would be cool, really cool if we can implement ton of commonly used offsets in a pull-down menu (pull-down, pop-up, listbox, whatever the control) that are referred to my name and include the offset. For instance, on the left side of the grid are the outputs in descending order, next is a column for the control name. We could have it where when you click in the grid cell we pop up a listbox with all of the control names in them like BEACON LIGHTS, and others. You select the item from the listbox and populates the grid with the control name, offset, offset size, a display of the applicable logic (bool, value comparison, etc), and finally the state assignments, like which state of the logic makes the LED on, or off (maybe even a blink state too). When the user is ready he/she can save the .cfg file and run the program.

Sorry for the large post, but I am never one to turn down help or give too little info. Given that I would like to have this as open-source I feel in thread posts is a good place to conduct this conversation so that the FS community can chime in when they like.

Anyway, just my ideas, I bet you have lots more.

Buddy

colt45
04-14-2010, 09:26 AM
Hi Buddy,

I have been following this thread with interest as I am in a similar position as others. I'm building a GA cockpit and use one of the Bodnar boards for my inputs. I will need another board soon to expand my pit and have considered options such as Desktop Aviator or the MJoy product although my DIY skills would be severely challenged with that option. Nothign against the Bodnar board either as I find it to be an excellent product and very easy to use. Also I would like to add some outputs although I can't think of many beyond the O/M/I markers and some general annunciators. I have looked at Phidgets and Opencockpit but they may be overkill for my situation.

Any way pardon my rambling but if you are looking for a beta tester of the Igor Plug I'm willing to cover your costs to produce and ship one to me. Sorry I can't offer any expertise is programming or the like but I might be able to help once the open source gets started.

Many thanks, Dave

Buddym
04-14-2010, 09:44 AM
Hi Dave,

I will start by saying that I have OpenCockpits and Bodnar cards, both of which are very robust, mature products. I always like to plug them, they are awesome.

Keep in mund that the MJOY only has inputs, and the Igor Plug can do both in and out, although my early-version software only handles outputs.... maybe we can discuss adding inputs in a "phase 2" ... arod ????? what do you think?

The Igor Plug-8 or -24 I think are going to be great for smaller cockpits, and/or folks with tighter budgets. Or for that matter folks that just like to build things themselves. The real trick to making it usable will be the software. Some folks are quite capable of opening up the code and hard-coding offsets and functions to get the reults they want, but the masses really want to plug and play as much as possible. In my experience the cockpit hobby can cut a wide swath through your time and budget if you try to do everything yourself. I know my own sim would be MUCH further along if I had simply bought everything off the shelf rather than going down the DIY CNC road. And probably no more expensive, given that I am on my 2nd CNC machine and $1000 worth of CAD/CAM software. Add to that plastic sheets, paint, broken bits....... it all adds up. But for me building the stuff is as much or more fun than flying the sim.

Anyway, yes, thanks for the interest and as soon as we get a tiny bit further with the prototypes and software we will get a few more folks to help us test.


BTW, if you want to read more about it just google igor plug usb
Thanks!

Buddy

colt45
04-14-2010, 10:49 AM
Buddy,

I agree the Bodnar BU0386X card is a great piece of hardware, really is plug and play when used with FSUIPC. I will look into the Igor Plug a bit more to see what all is involved. I think an output only card is what is most needed among those of us building smaller cockpits. There are not that many outputs required in a simpler simpit. I will continue to monitor this thread and your progress.

Cheers, Dave

AK Mongo
04-14-2010, 04:13 PM
Anyway, yes, thanks for the interest and as soon as we get a tiny bit further with the prototypes and software we will get a few more folks to help us test.

Buddy,
Not sure what I can do to help, but am willing to invest time, energy and a few dollars to help the cause if you need.

Is your eventual goal to sell these things? What are you looking at for price, or am I putting the cart before the horse?


BTW, if you want to read more about it just google igor plug usb
Thanks!

Buddy[/QUOTE]

Buddym
04-14-2010, 05:24 PM
Hey Mongo,

Actually I would like to keep them from going commercial. In the first place the design and driver belong to Igor Cesko. He released his design as an Atmel design note, into the public domain. What I would prefer to do is have some PCBs made, program some microcontrollers, and let folks assemble them themselves. Of course for folks with no interest or skill in assembly wecould put them together for them, but the goal would be to make them available at true cost, with zero markup. The software to drive the cards I would like to keep open-source as well, but anyone can come up software of their own design and sell it to go with these cards if they like. I prefer open-source, like open cockpits started out, and still largely is. But if you are handy with an iron, or would like to document the project or write some code that would be awesome!

Buddy

AK Mongo
04-14-2010, 08:20 PM
Hey Mongo,

Actually I would like to keep them from going commercial. In the first place the design and driver belong to Igor Cesko. He released his design as an Atmel design note, into the public domain. What I would prefer to do is have some PCBs made, program some microcontrollers, and let folks assemble them themselves. Of course for folks with no interest or skill in assembly wecould put them together for them, but the goal would be to make them available at true cost, with zero markup. The software to drive the cards I would like to keep open-source as well, but anyone can come up software of their own design and sell it to go with these cards if they like. I prefer open-source, like open cockpits started out, and still largely is. But if you are handy with an iron, or would like to document the project or write some code that would be awesome!

Buddy

Sounds like a neat plan. I am neither a skilled coder or handy with an iron. Might be whatever the exact opposite of those things are. Would be happy with helping to create documentation to help people understand how it all works if that is helpful, or any other help you may need.

Speaking personally, I would love to be able to purchase a card that makes it easy to interface 24 outputs.
A "Bodnar Light" if you will pardon the pun.

The DIY solution would be awfully daunting for me, although if I could help create "documentation for dummies" I would be happy to do so. If I could do it, it would prove anyone could!

Buddym
04-14-2010, 08:50 PM
37463747

Well like I said, it will be a quick task to put units together for people wo don't/can't do it themselves. Here's some pics of the prototype boards I put together. The small board is the Igor Plug and the larger unit is the MJOY 16. The Igor Plug has no I/O terminal blocks on it, but other than that you can see there's not much to it. Actuall, there's very little the MJOY either, it's mostly all in the software.

Buddy

AK Mongo
04-14-2010, 08:58 PM
Shoot, that looks doable! Really excited now!

Buddym
04-15-2010, 11:33 PM
Update on Igor Plug....

Ok, the final PCB layout went to proof today. I decided that the first rev will be called the IP-8, simple enuff. This will be the Igor Plug 8 output USB card. No pwer required, gives you 8 outputs and the ability to send TTL level (5VDC) RS-232 signals to a compatible device. The board is being made to accept the push-terminals like on the latest Bodnar boards for each output and 2 ground connections. The USB connector is a standard USB-B connector. They should be ready in about 2 weeks. Beta Testers standby!

Now a new question regarding software. Given that we all have such a wide array of cards that will allow us inputs, do we need to give the IP-8 the ability to accept a mix of inputs and outputs? I am sure that we can implement the software side of things to accomplish the task, but I just don't know if it's needed. Furthermore I don't wish the card to become bogged down by over-taxing the tiny little cpu.

Second new question.... is there any demand to couple this outputs card to an IOCP server? I don't see it, but I want to be sure the entire community has a chance to have input. If you are thinking "what do I care about a piddly little 8 outputs?", remember that upstream there are 24 and 196 output versions of this thing coming. Don't miss your chance to influence design early. Incedentally, regarding this little board only having 8 outputs, I know for some us with sims on a larger scale, 8 outputs mayseem a waste of an entire USB device address and hub slot. For those with smaller sims, like GA sims, it is prob no issue. So we will issue this card as-is and move on to the bigger, higher-channel count versions as quickly as possible.

Next question, Matt weigh in here please... Although Igor Plug and MJOY 16 are open source, and are not my designs, should we setup a website devoted to them, or simply setup a forum here to support them? Sort of like Jeehell has.. (awesome software I might add!) I think here is fine, but I don't want to step out of line and tax resources that aren't mine to tax.

FINAL QUESTION OF THE NIGHT>>> I develop a bunch of applications on another few hardware devices using TCP/IP and ethernet. Is there any interest in devoping boards similar to the IP-8 and the MJOY 16 based on ethernet rather than USB? Not instead of USB, but in addition to USB. I have a FCU module and a multi-display module that I built using a small ethernet-equipped controller that I love. It connects with an RJ45, uses DHCP, and can handle a BUNCH of tasks... I simply have it connected to a 4 line by 40 char VFD to display different things like FCU displays, radios, etc... The only thing that has to be configured is a single-line cfg file that has the IP address of a server, either FS host or wideclient capable. No hurry on this one since for the most part it's off-the-shelf hardware adapted to FS use. I just want to know where to direct myself after IP-8 and IP-24/IP-196 are done.

Many thanks to everyone who gives input, and to everyone that has offered to be part of the devlopment team on this. It's my first big team effort in a long time, outside of work that is.


Buddy

AK Mongo
04-15-2010, 11:56 PM
Buddy,

My thought is that an easily implemented usb output board is a product that is not currently available. Inputs are available from a few different sources, and it would be difficult to really improve on what they offer. I may be suffering from a lack of vision, but I don't see the need for another input solution. Working on something that could handle outputs to leds (definitely), and servos (eventually) would be better imho.

Reid

colt45
04-16-2010, 09:35 AM
Buddy,

I agree with AK but that is coming from a "what is lacking for my build" perspective. Bodnar's board is perfect for my build and my skills when it comes to this stuff. By the sound of it the Mjoy would be very similar from the input side of things. Something that could drive a few leds at this point in time is exactly what I'm looking for and I'm certain there are more than a few others building smaller GA pits that would agree.

Looking forward to additional updates on this and as per a previous offer if you find the team needs another beta tester please keep me in mind.

Cheers, Dave

Buddym
04-16-2010, 01:23 PM
Ok, the IP-8 pcbs have been approved and are on order, they should be here in about 10 days. As soon as they arrive I will stuff 1 with parts and verify that it works. If all is good I will stuff a few more to send to the beta testers and the coders. The inital order is only for 20 boards so we'll have about 15 of them to sell once they are fully tested. Of course I wouldn't think anyone would buy one until there is software that makes it work! The price looks like it will be about $17 each plus shipping. Once the board arrives I will post some pics of the raw board, assembled board, etc. Physical dimensions are 3.7 inches x 2.6 inches. More to come...

Buddy

AK Mongo
04-16-2010, 02:48 PM
Buddy,
if you have paypal, pm me your address and I will send you some ducats for one. You don't need to send it until you are happy with it,
but I don't want you to have to bear all the expense of r&d.

Buddym
04-16-2010, 05:40 PM
Mongo that's very nice of you. I actually don't have much into it yet I would feel better waiting until we see if the pcbs are good before I take any money, and for that matter any at all. Not much r&d anyhow on the hardware, it's 100% from Igor and the Atmel app note. I am really looking forward to getting the boards in everyone's hands so we can start testing and writing significant code for them.

Buddy

AK Mongo
04-17-2010, 12:12 AM
No problem, but let me know if you change your mind, Would be happy to do something to help make this happen!

codeking
04-19-2010, 12:53 PM
Hi

A few guys from Poland developed a PCB for MJoy (can be ordered from polish service drukowane.pl) and also an extra PCB for 8 extra encoders (MJoy has only 3 encoders). Try this http://mjoy16.googlepages.com/ Site is in polish but You can write in english.

Write if You have any questions.

PS. Sorry for my english.

Buddym
04-19-2010, 01:21 PM
Hi,

Yes, that looks very similar to the PCB that Frakk did a while back, coupled with the encoders bards. I can't read the website,. does it say someplace that the firmaware is the MJOY 16C version? I love being able to configure the baord in 2 different ways with a jumper. Compared with boards like the latest Bodnar card, this design with all of the diodes is sort of out-dated, but for the price, and open-source, I don't really mind. I have found mine to be rock-solid, I fly everyday using it to operate rudder pedals, flaps, speedbrakes, etc.

Buddy

codeking
04-19-2010, 04:42 PM
There is no written that it is C firmware version. What is that special in version C ?

I agree, MJoy is great for simmers. A lot of people in Poland built it.

MJoy is very simple to build, but there is luck of digital outputs etc. There is plenty of project having this (OC, FSBUS etc.). But last days, a friend of mine and me, started to build a simple project for LED, 7-LED displays and LCD (HD44780). There will be a few devices very simple to build. It will allow to build simple panels for gears, radios and so on. More info (in polish) http://www.simout.wa.pl/ There is also a software in development.

Buddym
04-27-2010, 11:28 AM
Hi all,

FEDX shows the Igor Plug PCBs are on the truck to be delived! Hopefully I will have one tested tonight to see if the boards are correct. (hopefully the are). More to come soon!
Buddy

Buddym
04-27-2010, 08:29 PM
Ok, the Igor Plug ( model is IP-8 from here on out) PCBs came in are tested, they work great. I will assemble and test the 4 units for the beta test guys and the coders. Will notify you when they get in the mail. One small problem is that they goofed the pinout for the terminal block, so if you want to use the spring-loaded terminals like on the Bodnar board you have to mount it on the bottom of the board! Other than that they are great. I mounted mine on the bottom for testing. If we end up ordering more boards I'll make sure it's corrected in subsequent batches. It's a simple build, only 1 chip, 3 resistors, 1 crystal, and 1 USB socket to solder, took me 5 minutes. I ran out of 20-pin IC sockets (more on the way) so the 4 I send out will not have sockets. If anyone is interested in having an IP-8 I will be submitting a complete tutorial asap, along with some test code and examples on how I coded some of the examples. Right now I am trying to get my darn digital camers to work so I can post some pics!

Buddy