imo, its great that its a sketch, in that it allows users to upgrade/tweak/develop it using the exact same set of tools they use for any other Arduino development.
My guess is because MIDI is a very simple protocol without much overhead (all messages start with a value > 127) etc. Things like OSC would require much more sketch space devoted to parsing.
I don’t have any experience with them, but I found a few references online about firmata branches supporting ethernet. Maybe the arduino forum is the best place to ask.
Haven’t seen that before. Wonder if its really a problem, or if firmata memory usage is relatively constant (as most embedded systems usually are).
I have used Firmata for a while and think it is great.
If you are interested in Firmata I would encourage you to checkout the wiki: [url]http://firmata.org/[/url]
It answers your questions. To chime in on what @rob said:
The Firmata project is intended to be a Firmware for arduino, (that’s how it got the name) and I think it does a pretty good job.
Everything from Touch to a browser to MAX / MSP can interact with Firmata all using the same sketch on Arduino.
[url]Bad title - Firmata Answers this exactly. It goes over why the original author chose to use MIDI instead of HID or OSC. Hint, Rob was right.
I have communicated with an Arduino running Firmata wirelessly over Bluetooth, however, that was still via serial. You can do serial over lots of transports.
I am having trouble with the firmata componant from the pallette manager. I am trying to simply switch a digital pin on and off. I have selected mode as output for the pin in the pin modes tab, and have connected to the correct serial port. I even see my little arduino blink when i toggle the serial connection. This seems to happen on multiple arduinos (tried on two micros and two megas) with different usb cords and with both the current and older versions of standard firmata.
Has anyone had any luck with getting firmata->Report Digital Pins to work ? ‘Report Analog Pins’ is reporting the analog pin values correctly, but ‘Report Digital Pins’ doesn’t seem to update ever. The actual firmata functionality is working fine and I’m able to set the values of my output pins no problem. When I try and monitor ‘Output 2 (CHOP) Digital’ the values just remain at 0.
TD 099: Non-Commercial 64-Bit Build 2019.15230
I’m using the default firamta tox that comes in the palette menu.
An issue I’m encountering is that the serial DAT’s active parameter export is not working. When I disable/enable the export from null1 to serial1, everything works again. Also switching that export to a reference fixes it as well…
I did some testing and I run into a couple of things.
1 Both with the palette and the new tox file I can not store the pinmodes, they are initialised by the board when it connects tot TD isn’t it? Can this be avoided? (perhaps in the Arduino sketch?) it is a hassle when implemented in an installation.
2 I need to switch on and off both the "Report digital and analog pins"a couple of times before they start responding.
3 Once disconnected, the Uno does not respond anymore after reattaching and resetting or restarting TD, a full reboot is required.
I’ll do some more testing and come back later, any comments are welcome.
thanks for checking through this a bit. The new component is suppose to save the pinmodes and upload them when a board connects - I’ll double check why this is not happening for you.
I’ll investigate your other issues but have not experienced them like this.
Can I ask what TouchDesigner version you are on atm?
hm - so I tested here with a Arduino Duemilanove. The Pin Modes and Pin States are saved in the component and on connection of a board are written to the board.
The Reporting works for me as well…
I remember having an UNO, will try to find it at the office next time i’m there.
Thanks for the reply. If another Arduino board does the trick I am more than happy to buy one. A little research shows that a Duemilanove is hard to get since they were produced in 2009. I am doing some research tot find out the difference with an Uno, and why pin states are not written to the board I have. Maybe another, more recent, Arduino will also work? Help with that is still more than welcome! :).