LifeSize Room VTC Remote Control Protocols
i am trying to use the command protocols for the remote control buttons. i know that my communication is working fine but the way i am inputting my command protocols are still unsure of if i am doing it correctly. if anybody has some kind of experience with LifeSize Room VTC please chime in.
examples of what i been trying:
examples of what i been trying:
BUTTON_EVENT[dvTP,166]
{
PUSH:
{
SEND_STRING dvVTC,"'control remote -p call'" //CALL
}
RELEASE:
{
SEND_STRING dvVTC,"'control remote -r call'"
}
}
BUTTON_EVENT[dvTP,45]
{
PUSH:
{
SEND_STRING dvVTC,"'control remote -p back'" //BACK
}
HOLD[2,REPEAT]:
{
SEND_STRING dvVTC,"'control remote -p back'"
}
RELEASE:
{
SEND_STRING dvVTC,"'control remote -r back'"
}
}
BUTTON_EVENT[dvTP,130]
{
PUSH:
{
SEND_STRING dvVTC,"'control remote -p 0'" //0
}
HOLD[2,REPEAT]:
{
SEND_STRING dvVTC,"'control remote -p 0'"
}
RELEASE:
{
SEND_STRING dvVTC,"'control remote -r 0'"
}
}
BUTTON_EVENT[dvTP,131]
{
PUSH:
{
SEND_STRING dvVTC,"'control remote -p 1'" //1
}
HOLD[2,REPEAT]:
{
SEND_STRING dvVTC,"'control remote -p 1'"
}
RELEASE:
{
SEND_STRING dvVTC,"'control remote -r 1'"
}
}
BUTTON_EVENT[dvTP,132]
{
PUSH:
{
SEND_STRING dvVTC,"'control remote -p 2'" //2
}
HOLD[2,REPEAT]:
{
SEND_STRING dvVTC,"'control remote -p 2'"
}
RELEASE:
{
SEND_STRING dvVTC,"'control remote -r 2'"
}
}
BUTTON_EVENT[dvTP,133]
{
PUSH:
{
SEND_STRING dvVTC,"'control remote -p 3'" //3
}
HOLD[2,REPEAT]:
{
SEND_STRING dvVTC,"'control remote -p 3'"
}
RELEASE:
{
SEND_STRING dvVTC,"'control remote -r 3'"
}
}
BUTTON_EVENT[dvTP,134]
{
PUSH:
{
SEND_STRING dvVTC,"'control remote -p 4'" //4
}
HOLD[2,REPEAT]:
{
SEND_STRING dvVTC,"'control remote -p 4'"
}
RELEASE:
{
SEND_STRING dvVTC,"'control remote -r 4'"
}
}
BUTTON_EVENT[dvTP,135]
{
PUSH:
{
SEND_STRING dvVTC,"'control remote -p 5'" //5
}
HOLD[2,REPEAT]:
{
SEND_STRING dvVTC,"'control remote -p 5'"
}
RELEASE:
{
SEND_STRING dvVTC,"'control remote -r 5'"
}
}
BUTTON_EVENT[dvTP,136]
{
PUSH:
{
SEND_STRING dvVTC,"'control remote -p 6'" //6
}
HOLD[2,REPEAT]:
{
SEND_STRING dvVTC,"'control remote -p 6'"
}
RELEASE:
{
SEND_STRING dvVTC,"'control remote -r 6'"
}
}
BUTTON_EVENT[dvTP,137]
{
PUSH:
{
SEND_STRING dvVTC,"'control remote -p 7'" //7
}
HOLD[2,REPEAT]:
{
SEND_STRING dvVTC,"'control remote -p 7'"
}
RELEASE:
{
SEND_STRING dvVTC,"'control remote -r 7'"
}
}
BUTTON_EVENT[dvTP,138]
{
PUSH:
{
SEND_STRING dvVTC,"'control remote -p 8'" //8
}
HOLD[2,REPEAT]:
{
SEND_STRING dvVTC,"'control remote -p 8'"
}
RELEASE:
{
SEND_STRING dvVTC,"'control remote -r 8'"
}
}
BUTTON_EVENT[dvTP,139]
{
PUSH:
{
SEND_STRING dvVTC,"'control remote -p 9'" //9
}
HOLD[2,REPEAT]:
{
SEND_STRING dvVTC,"'control remote -p 9'"
}
RELEASE:
{
SEND_STRING dvVTC,"'control remote -r 9'"
}
}
BUTTON_EVENT[dvTP,140]
{
PUSH:
{
SEND_STRING dvVTC,"'control remote -p *'" //*
}
HOLD[2,REPEAT]:
{
SEND_STRING dvVTC,"'control remote -p *'"
}
RELEASE:
{
SEND_STRING dvVTC,"'control remote -r *'"
}
}
BUTTON_EVENT[dvTP,141]
{
PUSH:
{
SEND_STRING dvVTC,"'control remote -p #'" //#
}
HOLD[2,REPEAT]:
{
SEND_STRING dvVTC,"'control remote -p #'"
}
RELEASE:
{
SEND_STRING dvVTC,"'control remote -r #'"
}
}
BUTTON_EVENT[dvTP,213]
{
PUSH:
{
SEND_STRING dvVTC,"'control remote -p near'" //NEAR CAMERA
}
RELEASE:
{
SEND_STRING dvVTC,"'control remote -r near'"
}
}
BUTTON_EVENT[dvTP,214]
{
PUSH:
{
SEND_STRING dvVTC,"'control remote -p far'" //FAR CAMERA
}
RELEASE:
{
SEND_STRING dvVTC,"'control remote -r far'"
}
}
BUTTON_EVENT[dvTP,174]
{
PUSH:
{
SEND_STRING dvVTC,"'control remote -p zin'" //ZOOM IN
}
HOLD[2,REPEAT]:
{
SEND_STRING dvVTC,"'control remote -p zin'"
}
RELEASE:
{
SEND_STRING dvVTC,"'control remote -r zin'"
}
}
BUTTON_EVENT[dvTP,175]
{
PUSH:
{
SEND_STRING dvVTC,"'control remote -p zout'" //ZOOM OUT
}
HOLD[2,REPEAT]:
{
SEND_STRING dvVTC,"'control remote -p zout'"
}
RELEASE:
{
SEND_STRING dvVTC,"'control remote -r zout'"
}
}
0
Comments
If I remember correctly, the -p and -r flags refer to push and release. if you don't care about holding down the button, you don't need to do that.
so you could do something like this.
button_event[dvTP,nVTCButtons] { push: { SWITCH (button.input.channel) { case VTC_KEY_1: case VTC_KEY_2: case VTC_KEY_3: case VTC_KEY_4: case VTC_KEY_5: case VTC_KEY_6: case VTC_KEY_7: case VTC_KEY_8: case VTC_KEY_9: send_string dvVTC,"'control remote ',ITOA(button.input.channel-10),$0A" case VTC_KEY_0: send_string dvVTC,"'control remote 0',$0A" case VTC_KEY_STAR: send_string dvVTC,"'control remote *',$0A" case VTC_KEY_POUND: send_string dvVTC,"'control remote #',$0A" case VTC_CANCEL: send_string dvVTC,"'control remote back',$0A" case VTC_ARROW: send_string dvVTC,"'control remote tri',$0A" case vtc_circle: send_string dvVTC,"'control remote cir',$0A" case vtc_delete: send_string dvVTC,"'control remote squ',$0A" case vtc_square: send_string dvVTC,"'control remote squ',$0A" case VTC_CONNECT: send_string dvVTC,"'control remote call',$0A" case VTC_DISCONNECT: send_string dvVTC,"'control call hangup -a',$0A" case VTC_SELFVIEW: send_string dvVTC,"'control remote home near tri',$0A" case VTC_ADDRESSBOOK: send_string dvVTC,"'control remote dir',$0A" case VTC_MENU: send_string dvVTC,"'control remote home',$0A" case VTC_UP: send_string dvVTC,"'control remote up',$0A" case VTC_DOWN: send_string dvVTC,"'control remote down',$0A" case VTC_LEFT: send_string dvVTC,"'control remote left',$0A" case VTC_RIGHT: send_string dvVTC,"'control remote right',$0A" case VTC_OK: send_string dvVTC,"'control remote ok',$0A" case VTC_VOLUP: send_string dvVTC,"'control remote vup',$0A" case VTC_VOLDN: send_string dvVTC,"'control remote vdn',$0A" case VTC_MUTE: send_string dvVTC,"'control remote mute',$0A" case VTC_ZOOM_IN: send_string dvVTC,"'set camera position -n',$0A" case VTC_ZOOM_OUT: send_string dvVTC,"'set camera position -f',$0A" case VTC_CAM_UP: send_string dvVTC,"'set camera position -u',$0A" case VTC_CAM_DOWN: send_string dvVTC,"'set camera position -d',$0A" case VTC_CAM_LEFT: send_string dvVTC,"'set camera position -l',$0A" case VTC_CAM_RIGHT: send_string dvVTC,"'set camera position -r',$0A" } } }In this example, nVTCButtons is an array of buttons, and all the case statements are constants defined elsewhere.
There's nothing wrong with how you're doing it that I can see, but for a lot of the buttons, do you really care that it keeps sending for as long as you push it down? Just send the command once and you're done.
J
on NLS2 "Control a Device" i tried these strings for example:
i tried the <> brackets because in their PDF manual it showed that they were using those parameters for example:
<verb> <object> <target> [optional]
were those strings you used for an example working from a previous project you had?
The LifeSize Room has some really goofy ways it handles the setup of the RS232 baud rate. Are you sure you're using the correct baud rate and the correct serial port?
The first string you had listed is correct
And yes, those strings I had were lifted directly from a functioning project.
J
DATA_EVENT[dvVTC] { ONLINE: { SEND_COMMAND data.device,"'SET BAUD 9600,N,8,1 485 disable'" //WAIT 30 SEND_STRING dvVTC,"'set timer sleep 20',$0A" } }What exactly are you getting back when the Rx led lights up?
J
i personally think they should have reversed the ports, have port 1 active by default.