123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- var inquiry = ['CAM_ZoomPosInq', 'CAM_FocusModeInq', 'CAM_FocusPosInq'];
- function printArray(name, array){
- var printHeader = ' '+name+' : ';
- if (array.length){for(var i=0; i<array.length; i++){printHeader+=array[i] + ' ';}}
- script.log(printHeader);
- }
- function setZoom(ID, position){
- var header = [1, 4, 71];
- var posCommand = [];
- var pos = Math.round(Math.floor(16384 * position));
-
- posCommand[3]=pos%16;
- pos = Math.round(Math.floor(pos/16));
- posCommand[2]=pos%16;
- pos=Math.round(Math.floor(pos/16));
- posCommand[1]=pos%16;
- posCommand[0]=Math.round(Math.floor(pos/16));
-
-
- sendCommand(1, header, posCommand);
- }
- function sendCommand(id, header, command){
- var idHex = (parseInt("0x80") + ID);
- printArray('header', header);
- printArray('command', command);
- local.sendBytes(idHex, header, command, 255);
- }
- function init() {
-
- script.log("VISCA module loaded");
- }
- var buffer=[];
- var bufferIndex = 0 ;
- function dataReceived(data)
- {
-
-
-
-
-
-
-
-
-
- for (var i = 0 ; i<data.length ; i++){
- if (data[i]!=255){
- buffer[bufferIndex]=data[i];
- bufferIndex += 1;
- }
- else{
- if(buffer[0]==144){
- if (buffer[1]==65){script.log("received command");}
- if (buffer[1]==81){script.log("complete command");}
- if (buffer[1]==97){
- var msg = "error :";
- if(buffer[2]==1){msg=msg+"message length";}
- if(buffer[2]==2){msg=msg+"syntax";}
- if(buffer[2]==3){msg=msg+"command buffer full";}
- if(buffer[2]==4){msg=msg+"command cancelled";}
- if(buffer[2]==5){msg=msg+"no socket";}
- if(buffer[2]==65){msg=msg+"command not executable";}
- else{
- msg=msg+"unknow error";
- for(var j=2; j < buffer.length; j++)
- {
- script.log(" > " +data[i]);
- }
- }
- script.log(msg);
- }
-
-
-
-
-
-
- }
- bufferIndex = 0;
- buffer=[];
- }
- }
-
- }
|