Source code is available on GitHub.
|
Unsupported — We cannot guarantee that this software will work properly on Mac OS 10.8 and above. Please be careful.
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. Installation InstructionsPlace the plugin file in |
I shot a little video to demonstrate that it works. I was sending commands from my PC to my mac over a serial modem. For some reason the number 0 wouldn't send from my PC Also when sending data from QC it would just send one time when I pushed send but even with the send button pressed it wouldn't send any more until i pressed again. Video here http://www.vimeo.com/444458
The send is currently set up like a trigger: you press it once, it sends once. This seemed like a better idea than sending every frame while the input is True (it's easier to overflow the buffer without triggering).
Is this annoying? Is there a different way I should implement sending?
Thanks for testing and for the video :) It's cool to see something totally untested do something other than crash :)
After thinking about it for a bit, perhaps it could also send when the input string changes? (kind of like how the Directory Scanner rescans automatically when the input path changes).
Would this cause more problems than it solves? It's looking like a good plan to me, but I'm not as familiar with typical uses of serial stuff these days.
Because of my little experience with QC I don't know yet how to trigger the patch to send stuff, if I don't do it manually (i'm sure this is QC 101). But if there is a way, it would give control over how many times per second I want to send data. The limit for my device reading data is 20 frames per second, it would be great to have a number field in the patch from 1 to 60 that sets how many times per second sends. Though the other option may work for other projects, it would cash mine.
Consumer patches (red titled patches) don't get to pick how often they run, they run at the composition's frame rate. So if the animation slows it down, it'll send less frequently, and if it speeds up, it sends more frequently. We could thread it to get around this, but that adds more complexity.
To use the trigger, hook it up to the Mouse patch's Left or Right button, or look at the Keyboard patch to bind it to a specific Key. Or, make an LFO patch, and set it's type to "Square Wave", and it'll toggle the trigger periodically (set the period to 1/20 to get 20 toggles per second, limited by composition frame rate).
Thank you the LFO patch worked great, I was trying that yesterday but I wasn't using the right settings. It's amazing what you can do when you know how to do it :)
hey, i just received my USB DMX hardware box today. Will it work with this patch ? (sorry, i haven't got the time to test it myself right now)
It'll probably be able to connect, but DMX uses binary data, while this only uses typable strings; It would be difficult to send it valid data.
I was talking to smokris about making a binary data port, but we couldn't think of a use for it. Now we've got one.
Any ideas? :)
isn't the serial beta patch somehow connected to this discussion : http://kineme.net/FeatureRequests/Open/write/readserialport ?
as smokris mentionned that he bought a DMX interface, i thought it was finally working...
it's related. The problem last time we tried was getting the patch to talk to the serial port in a controlled manner at all (which we couldn't get working). This beta was initially for string input/output over the serial port, but now that we've got that under control, it's simple to pass binary data in and out. We just need some way to manipulate binary data within QC...
[I think the dmx device was purchased so we would have a device to test with before we needed it next summer...]