Main Index MAIN
INDEX
Search Posts SEARCH
POSTS
Who's Online WHO'S
ONLINE
Log in LOG
IN

Home: Isadora: Communication & Sensors:
New Serial Input Plugin

 

 


JCipriani
Novice

May 31, 2007, 12:32 PM

Post #1 of 24 (5383 views)
Shortcut
New Serial Input Plugin Can't Post

Hi guys. Two things: Firstly, I want to introduce myself: My name is Jason Cipriani and Mark recently brought me on board to help out with Isadora development, so you may be seeing more of me here in the near future! :-)

Secondly, one of the things we're working on right now is the development of a new (and, ideally, useful) serial data input plugin. There are a lot of different approaches that can be taken to this. One thing that would really help with the development of this plugin is some information about what kinds of devices and data formats people will be dealing with most of the time. The purpose of this thread, then, is for any of you that are interested in reading serial data from some external device to share what kinds of devices you'd typically be using, and give some info about the format and type of data that you'd be interested in receiving from that device.

So, please, if you have any thoughts, examples of devices you want to read serial data from, anything along those lines, post here! Information about how a serial input plugin would typically be used is really going to help us nail down a good design for a flexible and easy-to-use interface.

- Jason


(This post was edited by JCipriani on May 31, 2007, 12:34 PM)


ZED
Novice

Jun 1, 2007, 8:39 AM

Post #2 of 24 (5361 views)
Shortcut
Re: [JCipriani] New Serial Input Plugin [In reply to] Can't Post

Hi there!
It's my first post on the forum, so here a brief presentation of myself.
I'm Jérôme Vernez, theater technician and I working with Isadora now for the next play of Heiner Goebels here in Vidy Theater.

The interface i'm trying to design is to use with five video projector. And i will use rs232 to communicate with those projector. I haven't begin this part of my work yet (clock is ticking) but i know for sure that if i can have a feedback from my projectors, it will help me a lot.

I hope, i answer the question right.


JCipriani
Novice

Jun 1, 2007, 9:23 AM

Post #3 of 24 (5358 views)
Shortcut
Re: [ZED] New Serial Input Plugin [In reply to] Can't Post


Quote
The interface i'm trying to design is to use with five video projector. And i will use rs232 to communicate with those projector. I haven't begin this part of my work yet (clock is ticking) but i know for sure that if i can have a feedback from my projectors, it will help me a lot.


What kind of projectors are they?



amsonx
Novice

Jun 1, 2007, 3:39 PM

Post #4 of 24 (5352 views)
Shortcut
Re: [JCipriani] New Serial Input Plugin [In reply to] Can't Post

hi, i'm use arduino http://www.arduino.cc/ and for now use it in Izzy via a max/msp patch, would be great a plugin to see serial device


:.rux:.
Novice


Jun 1, 2007, 5:28 PM

Post #5 of 24 (5347 views)
Shortcut
Re: [amsonx] New Serial Input Plugin [In reply to] Can't Post

arduino here too!
get that serial going!!
_____________ ____________ _________ _____ ___ __ _ _
http://www.rux-werx-here.essaycollective.org


william
User


Jun 1, 2007, 10:19 PM

Post #6 of 24 (5346 views)
Shortcut
Re: [JCipriani] New Serial Input Plugin [In reply to] Can't Post

I'm using a Monome 40h. More info can be found here - www.monome.org Wink


nick
User

Jun 3, 2007, 9:56 AM

Post #7 of 24 (5315 views)
Shortcut
Re: [:.rux:.] New Serial Input Plugin [In reply to] Can't Post

I use arduino too, and while you can create your own protcol for transfering info between them, but I like using the firmata protocol that is taking off as you don't get to bogged down in coding the arduino if you simply want to monitor analogue or digital signals. It would be great to have an actor that supported that.

http://www.arduino.cc/playground/Interfacing/Firmata

Cheers

Nick
Cheers

Nick


ZED
Novice

Jun 3, 2007, 11:24 PM

Post #8 of 24 (5304 views)
Shortcut
Re: [JCipriani] New Serial Input Plugin [In reply to] Can't Post

Infocus LP850for four of them. The last one is a Sony Vpl40 (or something like that)

In Reply To

Quote
The interface i'm trying to design is to use with five video projector. And i will use rs232 to communicate with those projector. I haven't begin this part of my work yet (clock is ticking) but i know for sure that if i can have a feedback from my projectors, it will help me a lot.


What kind of projectors are they?



michel
User


Jun 18, 2007, 10:17 AM

Post #9 of 24 (5152 views)
Shortcut
Re: [JCipriani] New Serial Input Plugin [In reply to] Can't Post

Hi
I use the send serial actor for a camera, beamer and a video matrix switch. I would like to see for example the hours of the beamer lamps, witch input is selected, is the beamer ON or OFF. For the video matrix switch, witch input goes to witch output.

Just some ideas.

----------------------------------------------------------------------------
"It happens every day: information overload! Time for a reboot..."
(traditional haiku poem)

film:projekt ------------------- autodidakten

(This post was edited by michel on Jun 20, 2007, 11:41 PM)


gavspav
User


Jun 20, 2007, 12:01 AM

Post #10 of 24 (5132 views)
Shortcut
Re: [michel] New Serial Input Plugin [In reply to] Can't Post

Its arduino for me too!
Its pretty easy to get arduino to send midi data.
But I never get around to it and always end up using some app. to translate serial to midi or osc!
So serial input actor would be great!

Gavin


pop
New User

Jun 20, 2007, 4:06 AM

Post #11 of 24 (5124 views)
Shortcut
Re: [JCipriani] New Serial Input Plugin [In reply to] Can't Post

Hello Jason


I work with arduino, but I also work with DIY or recycled hardware like joystick or game consoles.

But I also use CUI ( create usb interfaces) , a DIY low cost sensor interface ( about 15 to 20 $ in DIY) wich has HID usb connection to computer.

13 analog inputs in 10 bits
and
12 digital inputs

we organize regular workshops on cui and we would really like to have an HID object in Isadora ( with CUI possibilities). This would also be usefull to connect joysticks to Izzy.

For now, I use Multicontrol ( http://www.hf.uio.no/imv/forskning/forskningsprosjekter/musicalgestures/resources/multicontrol/index.html) with isadora and CUI, but I would really like to work with a internal HID object.

Thank you

JN ( artsens.org)


c.sinatti
Novice


Jul 11, 2007, 1:38 AM

Post #12 of 24 (3965 views)
Shortcut
Re: [JCipriani] New Serial Input Plugin [In reply to] Can't Post

hi Jason
hope this isnt off topic...

I'm looking for a way of controlling Isadora through DMX.
It looks like Lanbox could be usefull to do this.
Mark has suggested:
"The lanbox has a whole slew of serial commands; with the new Serial In Watcher module, it would seem possible to get the data you need via RS-232, if you're willing to make this an option."

Would I need extra hardware to do this?
What product would you reccomend?

thanks
Claudio
______________________________________
http://www.claudiosinatti.com
http://www.claudiosinatti.com/blog
http://www.myspace.com/claudiosinatti
http://www.youtube.com/claudiosinatti
http://www.symbiosisorchestra.com
http://www.pirandelo.org


JCipriani
Novice

Jul 11, 2007, 6:24 AM

Post #13 of 24 (3960 views)
Shortcut
Re: [c.sinatti] New Serial Input Plugin [In reply to] Can't Post

The Serial In Watcher will let you read data from devices like that with no extra hardware, aside from an appropriate serial cable of course. Connect the Lanbox to your machine via the serial port, set up the port in Isadora in Output -> Serial Port Setup (the serial port stuff is still in the Output menu even though it's used for input as well), and you can use the watcher to read and parse data coming from the device. You can use "Send Serial Data" to send commands to the device as well.

I don't know anything about the Lanbox itself. There is some info here about it and it looks like the complete protocol for talking to the Lanbox over the serial port can be found in the user manual somewhere.

I do know that there are some other people using the Lanbox who were having some issues because the current Serial In Watcher is not really geared towards complex "dialogs" with devices (sending commands then reading specific responses to those commands); we're currently thinking about possible solutions to that.

Hope that helps, sorry I couldn't be more specific,
Jason


(This post was edited by JCipriani on Jul 11, 2007, 6:26 AM)


nic
Novice

Jul 11, 2007, 7:05 AM

Post #14 of 24 (3956 views)
Shortcut
Re: [JCipriani] New Serial Input Plugin [In reply to] Can't Post

Hi Jason,
I've just had a quick look at the Serial In actor in V1.2.8.
I can see you've done a lot of work to make it as versatile as possible however the information on the (on-line) help page is very bewildering!
What I think most people including myself want to use the actor for is to interface an Arduino or similar PIC microcontroller.
In MAXmsp this is not too difficult a task, yet the Isadora actor appears to be very difficult to use. Isadora is in general so much simpler than MAX and I feel the serial command should reflect this.
What would really help would be a few simple examples showing how to receive perhaps 8 bytes of information with a header byte to sync the information up (as in MIDI). Most PICs and Arduinos etc are programmable so we can preset the speed of transmission at the sending end (38.4K is a reasonably fast data rate for most uses).
Perhaps, for example, you could suggest how we can receive data in for the following format:

1 header byte 255 followed by information from 8 sensors in the next 8 bytes of values ranging from 0 to 127
data rate 38.4k, no parity, inverted, 1 stop bit (a standard serial configuration)

thanks,
Nic.


JCipriani
Novice

Jul 11, 2007, 8:36 AM

Post #15 of 24 (3953 views)
Shortcut
Re: [nic] New Serial Input Plugin [In reply to] Can't Post


Quote
1 header byte 255 followed by information from 8 sensors in the next 8 bytes of values ranging from 0 to 127
data rate 38.4k, no parity, inverted, 1 stop bit (a standard serial configuration)


First set up the serial port. Go to "Output -> Serial Port Setup" and set the appropriate port, data rate, parity, etc. Then be sure to enable the serial ports by selecting "Output -> Enable Serial Ports". Now, if the data is always arriving in fixed length 9 byte blocks, you can use the binary serial in watcher. Set the block size ("msg len") to 9 and use a pattern like so:


Code
{{FF}} s0:int=? s1:int=? s2:int=? s3:int=? s4:int=? s5:int=? s6:int=? s7:int=?


That matches a single header byte with value FF hex (255 decimal), matches 8 more bytes and outputs the value of each of them to the s0...s7 integer actor output parameters. Please note, though, the header byte is not being used as a sync byte here, per se. You're always receiving data in 9 byte blocks. This may work for you. However...

The Serial In Watcher will not currently work with variable length binary data blocks, and does not provide a way to define a certain sync header that begins a block of data. This is because of limitations in Isadora that we haven't addressed yet. The code is all there on the inside but the binary actor itself only works with fixed sized blocks. Something definitely does have to be done about that. One quick fix might be for us to add a "block start" byte or something, similar in spirit to the "eom char" in the text actor. But that only defines one byte, and would only apply in very specific situations, such as yours.

As far as the interface goes, one of the major problems keeping it simple is that one of our goals is to keep it as flexible as possible. You want to receive a sync byte of 255 followed by 8 bytes of value. I want to receive 2 sync bytes followed by a byte indicating the length of the data block, followed by that many bytes of data. Some other guy wants to receive data in fixed 4 byte blocks timing out after a certain amount of time. Somebody wants to send a series of 8 different commands to their Lanbox and receive responses with different meanings from each command. Somebody else wants to receive text data with carriage return line endings, but at the same time their buddy in the studio across the street wants to receive text data with linefeed line endings. And there could be 100 other people that might want to use different devices in different ways.

One possible solution we've been tossing around is a more script-like language for dealing with this stuff. Unfortunately, this added flexibility comes at the price of making the syntax more complex and harder to learn, which is not good at all -- you are right, one of Isadora's strengths is its ease of use and anything that makes it overly complex is definitely no good.

Another alternative, which likely won't happen, but we did talk about it, is a slightly more graphical interface where you don't have to learn and type a complicated pattern syntax. This does limit the flexibility of the actors though.

Still other solutions are specific actors for reading from specific devices, leaving the "Serial In Watcher" as sort of a generic way for users to read data from devices that don't have their own serial input actors. Or, similarly, shipping preset patterns for certain devices with Isadora.

The serial input stuff is still beta. There are a lot of possibilities for change. We're going to try to improve it, feedback and questions here are greatly appreciated because it helps us identify the biggest trouble spots. Speaking of trouble spots; what did you find bewildering about the documentation? There is a slightly updated version of the documentation that I had written that may not have made it into the latest Isadora release; I'm not sure. But it was only changes related to the fact that we initially didn't have a "binary" version of the Serial In Watcher. The documentation is missing examples, I can add some at the end. It should help.

- Jason


(This post was edited by JCipriani on Jul 11, 2007, 9:30 AM)


nic
Novice

Jul 11, 2007, 11:24 AM

Post #16 of 24 (3945 views)
Shortcut
Re: [JCipriani] New Serial Input Plugin [In reply to] Can't Post

Thanks for the quick response Jason.
I did, to my surprise, get the thing working though with a slightly different script, but thanks for suggesting a solution.
By "bewildering" I mean that the page presents a huge amount of information in one go. I suppose tutorial approach might be more helpful - based on a simple example showing how it worked followed by a more complex example and variations etc. The current information seems more like an appendix to me.
I'm well aware that serial information and protocol is extensive and I don't envy your task - what you've done so far seems excellent though.
Perhaps a tutorial may help at a later date.
cheers.
Nic.


primald
Novice


Jul 20, 2007, 8:00 AM

Post #17 of 24 (3868 views)
Shortcut
Best LANBOX model? [In reply to] Can't Post

I was planning to buy a Lanbox LCX this morning to start some tests, which connects via USB, ethernet or MIDI, but noticed on their website that they specifically mention Isadora and Max for the LCE model.

Seeking (urgent) advice from those already using Lanbox as to the best choice for Isadora users?

thanks
jamie griffiths
primaldivine.com
ShockedSmile
www.primaldivine.com
It is, I am, We Are
interactive designer and performance artist
Spirituality, Consciousness and Art.


michel
User


Jul 20, 2007, 9:54 AM

Post #18 of 24 (3861 views)
Shortcut
Re: [primald] Best LANBOX model? [In reply to] Can't Post

Hello Jamie

I am using the Lanbox LCX over ethernet, works fine, but I did not try it out extensively.

Michel

----------------------------------------------------------------------------
"It happens every day: information overload! Time for a reboot..."
(traditional haiku poem)

film:projekt ------------------- autodidakten


primald
Novice


Jul 20, 2007, 3:34 PM

Post #19 of 24 (3855 views)
Shortcut
Re: [michel] Best LANBOX model? [In reply to] Can't Post

Thanks Michel. Just bought the LCX. Here's some info from the Lanbox supplier in the US:

FROM THE LANBOX SUPPLIER IN THE US
"Hi Jamie,

Quote
I was just double-checking on the Lanbox website and they specifically mention the LCE for use with Isadora & Max software. I am using Isadora, so wondered if you have any advice for me on whether I should be ordering the LCE model instead of the LCX?

Yes, they both are fine and both have 10baseT ethernet.
The LCX just has all of the extra features as well, and also twice the internal memory. I always prefer the LCX personally.
Thanks,
Jon

Jon Daggett
Castle Studios Productions
www.castlestudios.com

www.primaldivine.com
It is, I am, We Are
interactive designer and performance artist
Spirituality, Consciousness and Art.


hanslas
Novice

Oct 11, 2007, 6:06 AM

Post #20 of 24 (3369 views)
Shortcut
Re: [JCipriani] New Serial Input Plugin [In reply to] Can't Post

Hi Jason,

At the toneelschool Maastricht we use a tng-3b sensor interface. It has the following dataformat:
Seperator Byte AAh (10101010) alternating with 55h (01010101).
Analog Channel 1 (8-bits)
Analog Channel 2
Analog Channel 3
Analog Channel 4
Analog Channel 5
Analog Channel 6
Analog Channel 7
Analog Channel 8
B-Port Digital Data (8 bits)

I've written a program in python to translate the serial data to OSC data. This works fine, but of course it's more convenient to get the data directly from the interface into Isadora.

Regards,

Hans


michel
User


Oct 11, 2007, 8:37 AM

Post #21 of 24 (3364 views)
Shortcut
Serial Input Plugin [In reply to] Can't Post

Hello

Now the Serial Input Plugin is here, I am a little confused how to use it. For example reading the lamp hour of a beamer. The command, when I use it the same like the serial output, looks like this:
"TLTT0001/r"
for lamp one.
Where can I see the input? And is that the right way of calling the command?

Michel

The pic attached shows a screen shot of the manual.

----------------------------------------------------------------------------
"It happens every day: information overload! Time for a reboot..."
(traditional haiku poem)

film:projekt ------------------- autodidakten

(This post was edited by michel on Oct 25, 2007, 2:42 AM)


michel
User


Oct 24, 2007, 1:41 AM

Post #22 of 24 (3219 views)
Shortcut
Re: [michel] Serial Input Plugin [In reply to] Can't Post

To extend my previous post for getting the lamp hours of a beamer.

I use the send serial actor and type this command: "TLTT0001/r"

Now witch serial in watcher do I need? Text or binary? What do I have to type in there? And does the signal come back through the same serial cable, that is connected to the serial in of the beamer?

Is there really no one who can help me?

----------------------------------------------------------------------------
"It happens every day: information overload! Time for a reboot..."
(traditional haiku poem)

film:projekt ------------------- autodidakten


Mark Coniglio
TroikaTronix / Moderator

Oct 24, 2007, 2:26 AM

Post #23 of 24 (3217 views)
Shortcut
Re: [michel] Serial Input Plugin [In reply to] Can't Post

I am not sure that sending the TL1000\r command will request the data from the beamer. This message looks like the _reply_ -- is there a separate "request" command to get this info?

Given the spec you have provided, the correct Serial In Watcher - Data

'TL' hours:integer = 5#

This matches the first letters ('TL') and then says there is an output field called hours that is an integer ('hours:integer') and that value will come from 5 ASCII digits ('= 5#'). The EOM (end of message) character is set to 13 decimal (carriage return) by default, so if the message from the projector ends is a carriage return, then this should be all you have to do.

Best Wishes,
Mark

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Mark Coniglio / TroikaTronix
Creator of Isadora


michel
User


Oct 25, 2007, 2:42 AM

Post #24 of 24 (3185 views)
Shortcut
Re: [Mark Coniglio] Serial Input Plugin [In reply to] Can't Post

I do think it is the request command, but I'm not really sure. I posted a new picture with more infos.

Is it right, that even if I don't type anything into the "serial in" actor, I should see a trigger at the "msg rcv" input. Because I didn't see any input up to now. Any command should return an OK or Err message.

Michel

----------------------------------------------------------------------------
"It happens every day: information overload! Time for a reboot..."
(traditional haiku poem)

film:projekt ------------------- autodidakten
Attachments: Serial_In.png (43.7 KB)

 
 
 


Search for (options) copyright © TroikaTronix 2007