Page 1 of 2 12 LastLast
Results 1 to 10 of 12

Thread: 3M MP8745 Projector, serial port control

  1. #1
    Join Date
    Aug 2001
    Location
    Limerick, PA, USA
    Posts
    6

    Default

    Thanks to a Girder user who read my plea over on avsforum.com, I've found this place!

    I've been seeking a software control solution for the 3M projector we use in church. 3M was nice enough to put a serial port on the machine, but not nice enough to write ANY software for it! The IR remote just can't cut through 10 rows of standing people, and the performance of the X10 PowerMid IR->RF->IR units is spotty at best in such an open and packed environment.

    Putting all that aside...

    This software seems to be what I need, including the serial plugin. I'm going to investigate how tough it is to program for this plugin, because I have the control codes from the back on the projector manual (and I must say, at least 3M had that pdf on their site!).

    I'm sure I can find this answer if I look around, but my first question is, can this product work without its window in the foreground? It seems likely, but I'm concerned because we have a single laptop running PowerPoint, the XGA signal leading to the projector. I would like Girder to run on the same machine and relay the commands out the serial port. If we need to use another laptop, we will, but the world would be good and right if I can do both. :smile:

    I'll stop blabbing, and start reading. But if anyone feels like offering up some wonderful suggestions, I'm all ears!

    Thanks!

    -- RL

    \"Television - a medium, so called because it is neither
    rare nor well done.\" -- Ernie Kovacs

  2. #2
    Join Date
    Jan 1998
    Location
    Jupiter, FL
    Posts
    13,541

    Default

    Girder certainly works in the background. You can completely hide it if necessary.

  3. #3
    Join Date
    Aug 2001
    Location
    Limerick, PA, USA
    Posts
    6

    Default

    Wow. This is really easy to program.

    I'm entering just a few codes to test now so that I don't waste time, as 1) I need to get the projector here and 2) I need to make the control cable!

    Wow. I like this.

    -- RL

    \"Television - a medium, so called because it is neither
    rare nor well done.\" -- Ernie Kovacs

  4. #4
    Join Date
    Feb 2001
    Location
    Plano, TX, USA
    Posts
    3,055

    Default

    Wow! Someone thinks this is easy. :wink:

    I looked at the projector manual you mentioned and this should be pretty straight forward. If you have questions or problems, just post them here and someone will try to help.

    By the way, welcome to Girder!

    EDIT: I also wanted to say, if you get this working, please consider sharing your work with the community. We can always use more device support files. Thanks!

    _________________
    Mark F

    <font size=-1>[ This Message was edited by: Mark F on 2001-08-17 21:18 ]</font>

  5. #5
    Join Date
    Aug 2001
    Location
    Limerick, PA, USA
    Posts
    6

    Default

    Well, I guess I should have said, "Wow. Mark F. made this drop-in really easy to work with." :wink: But I haven't tested it, so I didn't want to jump to any specific conclusions... heh.

    There's so many questions I have, but I want to read before asking any that may be, well, stupid, or already answered in the Help files...

    Yeah, I'll definitely submit it upon completion. We only ever use 'switch to video', 'switch to rgb1', 'freeze on' and 'freeze off', but I'll certainly add the remaining commands in and test what I can (within reason)... disclaimers apply, of course! :smile:

    Thanks again. :smile:

    -- RL

    \"Television - a medium, so called because it is neither
    rare nor well done.\" -- Ernie Kovacs

  6. #6
    Join Date
    Aug 2001
    Location
    Limerick, PA, USA
    Posts
    6

    Default

    Greetings!

    The parts are in, and I assembled what I believe to be the needed cable for this project. I've also programed girder and the serial plugin for the few commands we actually use.

    Nothing. And I quadruple-checked everything. And I mean everything!

    My first impulse is the cable isn't right. I say this for two reasons: it's home-made :smile: and the pin-out diagram is just plain confusing. First, it calls for a db-9 female to hd-15 male cable, when in actuality, it needs to be db-9 female to hd-15 female. Nice mistake! But, pin-outs are pin-outs, right? So I disregarded that.

    The second problem with their diagram is they misrepresented the db-15 connector, with the center row shifted right, when in practice it's shifted left. So, do I follow the listed pin outs, or the diagram pin locations? I chose the listed numbers, thinking their graphic artist was just having a Bad Day.

    So, on the great leap of faith that I made a cable that works here, I'm simply assuming that I did something wrong in Girder. You know, I jinxed myself with that "this is easy" comment above! :smile:

    So, I ask for help. I'll post details if someone asks me questions, because I'm not sure what to post, and don't want to bore anyone.

    I played with the comm settings on both the projector and in the plugin settings, and nothing changes.

    Last, I ran gold old HyperTerminal. I establish a connection, I think, but the visible characters don't mean much. I press any key, and get ten repetitions of 'pp' appearing on the screen. If I hand enter a code string from the projector manual, something like 012101, the numbers after the '0' are echoed back. There's a pattern, but I can't nail it down, and I'm not a packet wizard.

    So, I'd like to think it's some setting in the plugin that I'm mis-using, or perhaps I'm not understanding the projector command codes and how to use them.

    The only thing I didn't do was try the hookup on a second PC, using only an old laptop for the experiment. I won't have the projector at my house until at least this Sunday, as it's locked away at the theatre and not in the office this week. My drop there...

    Bah. I have $45 in parts and an anxious group of people hoping this works, and I'm feeling a tad overwhelmed. I'm sure one simple kick will get me going in the right direction!

    Any help is, I reiterate, greatly appreciated!

    -- John

    \"Television - a medium, so called because it is neither
    rare nor well done.\" -- Ernie Kovacs

  7. #7
    Join Date
    Feb 2001
    Location
    Plano, TX, USA
    Posts
    3,055

    Default

    I KNEW that statement was going to come back and bite you! :wink:

    I'm looking at the operator's guide, on-line, as I don't have one of these projectors.

    Hyperterminal only supports ASCII (printable) characters. I can't tell from the document if the projector wants ascii or binary. I'd assume binary, for now, and Hyperterm won't work with that.

    I'm going to ask some basic questions and make some basic suggestions since this could be a basic problem. :smile:

    I read here that you matched the com.speed and com.bits settings in the opt. menu to the device settings in the serial plugin, cool. In the serial plugin, also make sure the handshaking is set to none.

    Looking at the cable drawings in the operator's guide, there are two for a serial port connection. One is for a mouse and the other for a control cable. Are you sure you used the control cable drawing? Notice the td and rd signals cross and three pins on the d-15 are connected to ground.

    In the serial plugin: In the transmit message dialog, use hex->bin (for now). In the receive dialog, use bin->hex (for now), fixed length (20) and timeout (30).

    Create a new command (you can call it "invert vertical" if you like) and assign the serial plugin to the command. Type "311402" (without the "") in the string field and press apply or ok.

    Test this command. Did the image invert vertically?

    If it doesn't work, go back to the transmit and receive dialogs and remove the hex->bin / bin->hex stuff and try again.

    I need to get to a meeting but I'll check back from time to time. I hope this helps.
    Mark F

  8. #8
    Join Date
    Feb 2001
    Location
    Plano, TX, USA
    Posts
    3,055

    Default

    By the way, in reading the manual, I think your 012101 is an invalid command.

    All "ask" commands start with 20, all "defaults" start with 40 and all "set" start with 3x (where x is the number of data bytes after the command code).

    The second byte is the command code from the table.

    For "set" commands, the data bytes follow the command code.

    To set the INPUT to VIDEO send 312111, to set it to RGB1 send 312121. To set the VIDEO TYPE to NTSC send 32220001.

    to ASK what the current INPUT is, send 2021. To set the INPUT to the defult setting, send 4021.

    Does this make sense?
    Mark F

  9. #9
    Join Date
    Feb 2001
    Location
    Plano, TX, USA
    Posts
    3,055

    Default

    A couple of other things I just thought of, the serial plugin supports multiple com ports. Make sure you have the right port in the device settings. Also, make sure you have "named" the device and make sure the correct name appears on the button on the bottom of the command dialog. This decides which device the string gets sent to.

    If you'd like to see all the responses from your projector, install the logger plugin (from the download page). The received data should show up as events.

    I'll be working on a plugin this weekend, along with a whole list of "honey-do"s, so I may be around the board. Have fun and don't get water-logged. :smile:

    How does that go ... I once knew a man from Limerick, whos town's name didn't rhyme with squat? No, that's not it. :smile:
    Mark F

  10. #10
    Join Date
    Feb 2001
    Location
    Plano, TX, USA
    Posts
    3,055

    Default

    You can ignore the responses OR use them to cog through a state machine of commands.

    That is, send command 1 and trigger command 2 on the response from command 1. Trigger command 3 on the response from command 2. etc.

    I have two completely different projectors and both of them can "lose" commands. In the above state machine, I'd put in some retry logic using the alarm timer plugin (alarm.dll) in the software directory. This would require that each command actually be a multi-command. The first command would be the serial command and the second would be the timer setup.

    Choose a TimerID and set the timeout to some arbitrarily high value (2000 = 2 sec) and point the end condition to the curent multi-command. When the timer expires, the same command will be re-tried. The last state of the state machine would be triggered on the response from the final command and would kill the timer.

    VERY IMPORTANT - Make sure each state uses the same TimerID value!

    Let me know if this isn't clear. I know I speak programmer-ease. :smile:
    Mark F

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •