Porting ArduinoFirmata -> WiringFirmata

i’m looking forward to using my Wiring board via the Firmata protocol, similar to the ArduinoFirmata. my first test (see attached patch) showed that only pins 2 to 7 of Port0 are responsive as digital output pins. the IO ports of the Wiring are grouped in ports on the hardware. for my purposes i only need outputs, as many as possible (should be 52, 2 pins of 54 in total are blocked in use for the serial communication between PC and Wiring). the other ports/pins aren’t addressable as with ArduinoFirmata.

i’ve uploaded the referenced Firmata-2.0beta3 and replaced the standard Firmata library as of the Wiring027 IDE. remarkably this only succeeded using the OS X version of Wiring027, but not using the Windows flavour. heck knows why.

i’m no good at the Wiring/Arduino IDE, and I have no idea how to look into the contents of the ArduinoFirmata node in order to come up with a solution. would be great to have wirmachenbunt or mr.benefit coming up with pointers on how to make it work …

thx for reading, patrick

01v01_WiringFirmata.v4p (11.3 kB)

sounds quite hard…
would love to help you…

a good starting point is the plugin code which is here

i don’t plan to do anything with the firmata plugin in the near future apart from a little threading improvement. as i dont have the wiring hardware its hard to develop something anyway.

thx antokhio, i’m sure that would open up interesting possibilities for more that 2 people here :)

what’s also puzzling me is the failure of uploading the standard Firmata-2.0beta3 to my old Arduino (Extreme v2), this results in a long list of errors, stating the wrong usage of … umh … syntax or deprecated commands. i’ll post them here if anyone’s interested. the puzzling part isn’t just the errors being reported, but that the ArduinoFirmata from the NODE10 workshop by Ales9000 and Massimo Banzi did run OK on my Arduino. i don’t remember having performance issues (slightly unresponsive GUI) as with my setup in my first post here.

maybe the originators would like to shed some light on this, please :]

thx u7angel, i’ll have a look at it! do you have a suggestion as to what could prevent the Arduino022 IDE from uploading this Firmata version to an Arduino Extreme v2? the threading part of your improvements, does this relate to the glitchy UI behaviour at this state?

mmm, it does work on my arduino NG which came out just after the extreme2…
why don’t u just buy a more recent one ?

what glitchy UI behaviour ? vvvv UI ?

just about to download the tarball and have a look …
i could buy a recent Arduino, but at this stage i’m still evaluating whether a Wiring is the right interface for my project. i’d rather use a Wiring instead of an Arduino because it features more digital outs. after all, the referenced Firmata is designed for both hardware platforms. the glitchy UI behaviour happens when using the help patch of ArduinoFirmata (no other patch open at this stage): when manually switching digitalPins on and off, sometimes the visual state in the IOBox won’t change. you’d have to click twice. opening the node browser takes seconds.

yes. have a look at this video, it’s easier to see … the output on the Arduino is also affected (freezes).

i did manage to upload the so called ‘OldStandardFirmata’ (using Firmata 2.0) to my Arduino, so this is what i use for testing now. the regular Firmata already is too large for the ATmega8 … o_O

chris, i don’t think i will get the porting part gebacken (done). apart from that, what do you think about the jitter as seen in the vid?

@patrick, this is strange. i guess u’ve seen my youtube video demonstrating the plugin. no jitter, hickup there. i don’t have a clue whats causing this.

the plugin isn’t doing very much. on input change it calls the firmata command to set the outputs.

sorry, i’d like to help but i’m ratlos ;)

jup, i’ve seen your vid. i’ll try re-installing the FTDI driver and another machine. i’ll post my results here.
on the Wiring ding, from what i’ve seen in the Firmata source, Firmata addresses up to 128 IOs, depending on the determined hardware. would be mega, to implement a pin for switching between Arduino or Wiring. if anybody feels like having a poke at it, i’d borrow my Wiring for that! 51IOs without shift registers :D !