Serial IO

Serial IO

Release: Serial IO, v1.0

Release Type: Production
Version: 1.0
Release Notes

Changes since Serial IO 0.2

  • Released source code on GitHub.

Release: Serial IO, v20091206

Release Type: Beta
Version: 20091206
Release Notes

Updates:

  • Altered "Data" string conversion to handle characters > 127 (however the hex "Binary Data" input port should still be used to preserve full 8-bit data).
  • Added 64bit build.

Release: Serial IO, v20080326

Release Type: Beta
Version: 20080326
Release Notes

This is a fairly polished serial io patch (both smokris and I have been hacking on it mercilessly for the past day or two for an upcoming project)

Input and Output has been varified with an Arduino Diecimila at a few different baud rates (9600, 38400) with success. Binary output works (was added several betas ago, didn't get personally tested by me till today ;).

However, as is the case with all things kineme, we've hit upon a pretty nasty driver bug with ftdi (not surprised). I'm working with one of their techs to resolve this issue, hopefully that'll be fruitful.

The problem is basically this: Opening the serial port but never reading from it eventually causes some buffer overflows in the kernel. This causes some annoying side effects if you don't catch it soon enough. So if you have a Serial Output patch in the composition, you should add a matching Serial Input patch (with a specified break string!), and send its output to some red patch (a zero-count iterator is a cheap data sink). This will cause it to read out the buffer, averting the potential overflow (which shouldn't happen anyway).

This is close to a production release; please hammer on it, and find any weird corner cases where it doesn't work as expected (breakstring-less input will stop at 1 million bytes, then it'll probably trigger the overflow as noted above. This is the only known misfeature presently).

Release: Serial IO, v20080319

Release Type: Beta
Version: 20080319
Release Notes

This update to the SerialIO patch addresses a bunch of bugs with the serial input patch. Break String stuff now works.

It has been tested with our arduino board for simple reception, and appears to handle it well. It's likely for issues to still exist, but now we're in a position to test a bit, so development on this can proceed with more ease than earlier this year.

Release: Serial IO, v20080103

Release Type: Beta
Version: 20080103
Release Notes

This Serial IO Beta addresses the issues in the previous beta.

The hex conversion if fixed for the Serial Output patch.

Output continues to operate even if some configuration settings fail. This may help it to work with some DMX devices (I've not had any luck yet, but you may have better luck with different devices).

Release: Serial IO, v20071230

Release Type: Beta
Version: 20071230
Release Notes

This SerialIO Beta adds support for sending Binary data.

To send binary data, 2 new inputs were created on the Serial Output patch: Binary Data, which takes a string input, and Binary Trigger, which sends the binary data.

Instructions: The string input needs to be formatted in hexadecimal with no spaces ('00ffeedd', not '00 ff ee dd'). It accepts lower or upper case ('00FFEEDD' is the same as '00ffeedd'). do not prefix a '$', a '0x', an '&', or any other common prefix to denote hexadecimal data. The input is limited to 131072 characters (65536 output bytes). If a non-hex character is encountered, it is treated as a zero ('ffeeddgg' is the same as 'ffeedd00'). Characters are expected to come in multiples of 2, ('00112233445566' [14 characters] not '012' [3 characters]) — odd characters are ignored ('012' is the same as '01').

I'm unsure if this works (again, no serial devices where I'm at at the moment), so please test it and send me your console logs — it'll write in the log for every read and write, to help me figure out what's happening if something goes wrong.

Release: Serial IO, v20071219

Release Type: Beta
Version: 20071219
Release Notes

This update to the Serial IO beta addresses a few issues in the 20071218 beta.

Multiple patches should now be able to share the same device without causing the "Device or Resource Busy" messages. Hopefully it'll allow input and output to the same device from different patches.

It's also built against a 10.4 target, so it runs on Tiger without "_open$UNIX2003 symbol not found" errors.

Serial Devices are now closed when patches are deallocated.

Logging is a bit more uniform. Please continue to include Console.app output when reporting success or failure.

Otherwise, the interface is identical.

Release: Serial IO, v20071218b

Release Type: Beta
Version: 20071218b
Release Notes

This quick update for the Serial IO patch allows it to work on Tiger. A small plist setting was incorrect, which caused it to not load.

Sorry about that.

Release: Serial IO, v20071218

Release Type: Beta
Version: 20071218
Release Notes

This is the first release of our Serial IO Plugin.

This plugin offers two new patches: Serial Input and Serial Output.

They're totally untested (I couldn't find any serial devices here at work to experiment with), so their output is extremely verbose. Please test it a bit, and tell us if they worked, or if they didn't, and what Console.app says afterwards.

If they work, please let us know that too; that way we can disable some of the messages to make them smaller and faster, for better performances.