On Thu, 27 Nov 2008 23:35:52 +0000
simone-www.io-lab.org <cimo75(a)gmail.com> wrote:
hi
arduino is a bit slow but if you need only a few pots to tweak
parameters building up a song it may be ok.
I wouldn t advise it if you need something for live acts with sensors,
or you are going to multiplex the analog inputs.
For a quick, darn cheap and easy (and high resolution: 10bit) little
device i ve built a couple of these:
http://1010.co.uk/avrhid.html
these ones send HID protocol to USB, very fast and 10bit resolution, 8
analog ins and 6 digital ins.
About coding and different language, MIDIBox has a great approach
(anyboy noticed I am a big MIDIBox fanboy?): there is a first
bootloader to be loaded with a burner, only 1 time, then all the code
is sent via MIDI sysex; this loader is written in ASM.
Then there is a lower level OS called MIOS, also written in ASM and
optimized for preemption, all basic functions for ADCs, G/CLCD,
digital inputs, multiplexing, you name it, are coded here.
On top of that there is the end application that can be written in C
or ASM, toolchains/compilers exist both for C and ASM (you build with
the same command both the languages) and are ported to all 3 major
OSs.
Need more? Soon you ll get the new CORE32 ARM Cortex.
Need info? MIDIBox is backed by one of the most friendly and competent
community.
Linux, Open Source? The project is Open Source and you are only
restricted not using it for commercial purposes.I am planning to port
as many boards as possible to Kicad and there is also a project
running aiming at create an Ubuntu-Studio based collection of packages
that will set you up to go with MIDIBox: all compilers, boards
designs, svn to get latest code, sysex loaders, MIDI troubleshooting,
burner again, you name it.
Simone
Although I was initially quite interested to see this, and very much
liked the small size, after reading through I have severe misgivings
about this project.
The first issue I have is that of doing all the USB work in software
rather than a dedicated chip. This takes up both processor time and
memory from a little processor that doesn't have too much of either.
Even with that, I notice that only USB 1.1 is implemented
- and not completely.
The other major problem I see, is that the author of the code first
says it is GPL, then give a restriction that you must make your
firmware available. The is *not* compatible with the GPL and suggests
he/she doesn't have a proper understanding of it. I have no objection
to people putting whatever restrictions they like on their work so long
as they don't say it's something that it isn't.
ttymidi is a small software module available for Linux that enables
you to connect serial data (either via a D connector or via USB>serial)
directly to a virtual MIDI port, and is thus ideal for any PIC or atmega
microprocessor. The only quirk it has is that it expects the serial
side to *always* send 3 bytes of data per command, which it will then
pass on as genuine MIDI (dropping the spare bytes). This actually makes
it easier to program the remote device, which I suspect is the main
reason it was done.
Under these circumstances the Arduino board comes out streets ahead.
Not only does it have a dedicated USB/Serial chip, but it also has the
full 12x digital inputs, as well as 5x10bit analoge inputs.
The arduino firmware and programming software is fully GPL although the
Arduino name and hardware has a commercial restriction on it (clearly
stated). However the reference drawings for creating your own boards
are CC licensed so again you are free to do as you like with them.
Now all we need is fro someone to produce versions of ttymidi for
Windows, and for the Mac :)
I've long since lost the links, but I remember seeing little programs for Windoze and
Mac which translate MIDI sent over a class-compliant USB Serial device (i.e. Arduino) into
appearing to be a MIDI device to CoreAudio or whatever the equivalent(s) is(are) on
Windoze.
-ken