First off, thanks very much for creating a Java-powered IO board. For all my projects that need a lot of IO, I've ended up using the Phidgets 0/16/16 board and while it works well, it's a whopping 100 bucks a board for just 32 digital IO pins. Sparkfun's site showed the IOIO OTG and I ordered it immediately and had it wired up and working in just a few minutes after it arrived. I think it will be perfect for my next few planned projects. Combine it with a Raspberry PI and you have a powerful Java-based system that is cheap enough to leave embedded in the project which is especially nice!
Now, onto my question. My next project will need three IOIO boards and I'm trying to figure out the best way to address/sequence them. I see I get an "Object extra" on createIOIOLooper but after checking, it's just a string that says "COMx". As COM ports are assigned when things are plugged in and removed they are pretty fluid. This makes for a bit of a problem because when I move the display around I have to reconnect everything in a specific sequence as I can't ensure which IOIO board is which and their physical orientation is critical to the app working. In this specific project, I can get away with bringing one of the IO pins I'm not using low and check for it in code but that's a pretty sloppy solution. Is there a better way to physically identify a board rather than just the COM port? Ideally the API would expose some unique ID or allow us to assign an ID to a board. That would totally solve this problem. Next, I have a couple of suggestions that might lower the barrier of entry for us desktop users based on my initial experience. - Compiled jars - I was really surprised that I had to compile the source for a project. It's been a long time that an open source API I used didn't have already compiled jars. This isn't a big hurdle but it does make it a bit of a hassle for new devs. It also makes it very unclear what versions of the API code I have unless I set up a local repo for this and such. Just not something I'm going to bother to do for a small project. - Non-IDE specific tutorials - unfortunately the tutorials are based around Eclipse. While that's obviously a popular IDE, it's really limiting as many of us don't use Eclipse or are looking for actual details of the API, not details on how to configure Eclipse. I would have been very happy with a simple list of current jars to use and a quick HelloWorld snippet I could cut and paste. The specific jars to use were the most unclear as they are very nicely broken down into PC vs. Android and such but it's not trivial to find which are needed in what context without some digging. - What about using a build tool like Gradle? Obviously Google is going this direction and it's a pretty superb tool all around (we use it on a massive project at work with a huge number of dynamically version-ed modules and its been rock solid). Sadly Eclipse has pretty mediocre support for it (I'm not an Eclipse fan in general though, so I admit bias) but it still works nicely and is completely environment agnostic. Even using it purely command line is very easy with a Gradle wrapper setup. - In the same vein, why not get the jars into the Central Maven repo? That would make IOIO even easier to get started with as you just have a few dependencies and let 'er rip. Overall, it just makes everything simpler. Anyways, this project is great and I'm really excited to see a Java-language project take off. Is this group open to patches and enhancements to the Java api being submitted? I saw a few things I thought I could contribute if that's on interest. Thanks again for all the amazing work! -Mike -- You received this message because you are subscribed to the Google Groups "ioio-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/ioio-users. For more options, visit https://groups.google.com/d/optout.
