Home AMX User Forum NetLinx Studio

sony camera

I have job that requires I set up a Sony EVI-D70 camera to auto pan. First, I don't think the little motors in that guy are really built for 24x7 auto panning, but that is another story. As a quick and easy setup, I created a timeline that repeats. At 0 seconds, the camera is told to pan right. At 4 seconds, it is told to pan left. Simple and effective. Without using any feedback from the camera, I can play with the times until I get the exact times in there to cover the entire area. The problem is, the user wants to have the option to control the speed of the auto panning. If I set it up to pan x seconds one way and then x seconds back the other way, obviously if the user speeds up or slows down the panning speed, the area covered is going to get screwed up. I was thinking of using the direct position command instead. That way, the camera would get a command to go to a direct position on the left, then go bakc to a direct position on the right. By changing the pan speed in the command to the camera, I can make it go back and forth faster or slower depending on how the user sets it up. Basically, I need to go to the left, stop, then go back to the right. Without using a repeating timeline, what would be a better way to hande this situation?

Comments

  • sorry. I am typing on my iPhone, so it is hard to read everything I have written.

    I forgot to say, the camera reponds with an ACK when it starts a command and an ACK when it finishes the command. I am thinking I can use this to my favor. I was thinking I could create string handler in the data event that reacts accordingly. Something like "pan the camera to a direct position on the right, wait until the command is completed and then pan the camera to a direct position on the left. Wait until that command is complete then go back to the right." This would repeat over and over.
  • You can limit the movement of the cam via command, or you can just input the exact position of both end points with a command. Then just when ACK, return!

    See page 42 of attached manual, which I am told is iPhone friendly :)
  • thanks for the reply. I have my camera going to an exact position on the left, waiting for the ACK stating the command is complete, and then moving to a direct position on the right. What I am curious about is the best method for actually running a command over and over. Currently I have a timeline set up to run once and is 0 seconds long. Starting the panning creates the timeline. At index 1, the program clears the camera buffer, moves to the right, waits for the ACK, clears the buffer again, moves to the left, waits for the ACK, and recreates the timeline. It works, but it seems kind of amatuerish to me.
  • Well, if it works, why change it? ;)

    Just because I don?t like timelines, I would use a variable to determine if the camera is going left or right. Then use STRING in data event to check data.text for the command finished ACK.
    STRING:
        {
    	SELECT
    	{
    	ACTIVE(FIND_STRING(DATA.TEXT,'ACK',1)):
    	{
                if(value = right)
                {
    	          // send string to go left
                      // value = left
    	    }
                
                else if(value = left)
                {
    	          // send string to go right
                      // value = right
    	    }
    	}
        }
    

    Then do something in startup to get things going and try to make something happen if i don?t get an ACK for some time ( if the connection is broken ). But I am sure the guys here can show you some better coding samples.
    Good luck.
Sign In or Register to comment.