-- SLA4000 -- 3.6.1 (144)(72469)[513] -- Application bits 3FFF7FFF -- License File 00008f9f39363702.license function ipAddress(addr) local num = ffi.new('s32', 0) addr:gsub("%d+", function(s) num = num * 256 + tonumber(s) end) return num end function Lstr(s) return {s:len(), s} end C = ffi.C Out = ffi.new('SVPOut_t') Out.out = ffi.new('SLAUnion') Ctx = nil function Init(c) Ctx = c f = ffi.new('SLASetNetworkParameters_t', {mode=0, ipAddr=ipAddress("192.168.2.207"), subnet=ipAddress("255.255.252.0"), gateway=ipAddress("192.168.2.1"), c2replyPort=14002, reserved0=14002, reserved1=4, reserved2=0, listenPort=14001, listenPort2=14003, hostName=Lstr("")}) C.SLASetNetworkParameters(c, f, Out, 11) end function Camera(c) f = ffi.new('SLASetAcquisitionParameters_t', {cameraIndex=0, cameraType=141, high=1080, wide=1920, bitDepth=8, vertFrontPorch=0, horzFrontPorch=0, flags=1, frameStep=0, reserved=0, validRow=0, validCol=0, validHigh=0, validWide=0, optArgs=Lstr(""), bigHigh=0, bigWide=0, bigVertFrontPorch=0, bigHorzFrontPorch=0, camSwitchIndex=0}) C.SLASetAcquisitionParameters(c, f, Out, 20) f = ffi.new('SLASetAcquisitionParameters_t', {cameraIndex=1, cameraType=0, high=480, wide=640, bitDepth=8, vertFrontPorch=0, horzFrontPorch=0, flags=1, frameStep=0, reserved=0, validRow=0, validCol=0, validHigh=0, validWide=0, optArgs=Lstr(""), bigHigh=0, bigWide=0, bigVertFrontPorch=0, bigHorzFrontPorch=0, camSwitchIndex=0}) C.SLASetAcquisitionParameters(c, f, Out, 20) f = ffi.new('SLASetAcquisitionParameters_t', {cameraIndex=2, cameraType=0, high=480, wide=640, bitDepth=8, vertFrontPorch=0, horzFrontPorch=0, flags=1, frameStep=0, reserved=0, validRow=0, validCol=0, validHigh=0, validWide=0, optArgs=Lstr(""), bigHigh=0, bigWide=0, bigVertFrontPorch=0, bigHorzFrontPorch=0, camSwitchIndex=0}) C.SLASetAcquisitionParameters(c, f, Out, 20) f = ffi.new('SLASetAcquisitionParameters_t', {cameraIndex=3, cameraType=0, high=480, wide=640, bitDepth=8, vertFrontPorch=0, horzFrontPorch=0, flags=1, frameStep=0, reserved=0, validRow=0, validCol=0, validHigh=0, validWide=0, optArgs=Lstr(""), bigHigh=0, bigWide=0, bigVertFrontPorch=0, bigHorzFrontPorch=0, camSwitchIndex=0}) C.SLASetAcquisitionParameters(c, f, Out, 20) end function Nuc(c) f = ffi.new('SLANucParameters_t', {cameraIndex=0, nucShow=0, nucRunMode=255, numFrames=0, minDeadGain=75, maxDeadGain=125, minDeadVal=0, maxDeadVal=65535, minDeadOff=-15000, maxDeadOff=15000, maxStdDevDead=65535, maxNumDead=10000, deadReplace=0, numReplace=5, deadFilter=0, deadFilterThresh=64}) C.SLANucParameters(c, f, Out, 16) f = ffi.new('SLANucParameters_t', {cameraIndex=1, nucShow=0, nucRunMode=255, numFrames=0, minDeadGain=75, maxDeadGain=125, minDeadVal=0, maxDeadVal=65535, minDeadOff=-15000, maxDeadOff=15000, maxStdDevDead=65535, maxNumDead=10000, deadReplace=0, numReplace=5, deadFilter=0, deadFilterThresh=64}) C.SLANucParameters(c, f, Out, 16) f = ffi.new('SLANucParameters_t', {cameraIndex=2, nucShow=0, nucRunMode=255, numFrames=0, minDeadGain=75, maxDeadGain=125, minDeadVal=0, maxDeadVal=65535, minDeadOff=-15000, maxDeadOff=15000, maxStdDevDead=65535, maxNumDead=10000, deadReplace=0, numReplace=5, deadFilter=0, deadFilterThresh=64}) C.SLANucParameters(c, f, Out, 16) end function Display(c) -- Net Disp #0 f = ffi.new('SLASetEthernetDisplayParameters_t', {protocol=1, ipAddr=ipAddress("192.168.1.177"), port=15004, displayId=2, maxPacket=1472}) C.SLASetEthernetDisplayParameters(c, f, Out, 5) f = ffi.new('SLASetEthernetVideoParameters_t', {quality=80, foveal=0, frameStep=1, frameSize=1, displayId=2, customWide=0, customHigh=0}) C.SLASetEthernetVideoParameters(c, f, Out, 7) f = ffi.new('SLASetH264Parameters_t', {targetBitRate=3000000, intraFrameInterval=30, lfDisableIdc=0, airMbPeriod=0, sliceRefreshRowNumber=0, flags=18, displayId=2}) C.SLASetH264Parameters(c, f, Out, 7) -- Net Disp #1 f = ffi.new('SLASetEthernetDisplayParameters_t', {protocol=1, ipAddr=ipAddress("0.0.0.0"), port=15006, displayId=128, maxPacket=1472}) C.SLASetEthernetDisplayParameters(c, f, Out, 5) f = ffi.new('SLASetEthernetVideoParameters_t', {quality=80, foveal=0, frameStep=1, frameSize=1, displayId=128, customWide=0, customHigh=0}) C.SLASetEthernetVideoParameters(c, f, Out, 7) f = ffi.new('SLASetH264Parameters_t', {targetBitRate=3000000, intraFrameInterval=30, lfDisableIdc=0, airMbPeriod=0, sliceRefreshRowNumber=0, flags=18, displayId=128}) C.SLASetH264Parameters(c, f, Out, 7) -- General f = ffi.new('SLAVideoDisplay_t', {streamIdx=0, source=0, destination=2, resolution=7, flags=0}) C.SLAVideoDisplay(c, f, Out, 5) f = ffi.new('SLAVideoDisplay_t', {streamIdx=1, source=255, destination=0, resolution=7, flags=0}) C.SLAVideoDisplay(c, f, Out, 5) f = ffi.new('SLAMultiDisplay_t', {displayMode=0, cameraIndex0=0, cameraIndex1=0, reserved1=0, pipLabel=0, pipColor=27, pipScale=2, pipQuadrant=0, multiPipZoom=0}) C.SLAMultiDisplay(c, f, Out, 9) end function Ports(c) f = ffi.new('SLASetPortConfiguration_t', {port=0, baud=3, dataBits=8, stopBits=1, parity=0, maxPacket=127, maxDelay=100, protocol=0, inputPort=0, udpDestinationAddr=ipAddress("0.0.0.0"), udpDestinationPort=0, udpAttNavPort=0}) C.SLASetPortConfiguration(c, f, Out, 12) f = ffi.new('SLASetPortConfiguration_t', {port=1, baud=3, dataBits=8, stopBits=1, parity=0, maxPacket=127, maxDelay=100, protocol=4, inputPort=0, udpDestinationAddr=ipAddress("0.0.0.0"), udpDestinationPort=0, udpAttNavPort=0}) C.SLASetPortConfiguration(c, f, Out, 12) f = ffi.new('SLASetPortConfiguration_t', {port=4, baud=3, dataBits=8, stopBits=1, parity=0, maxPacket=127, maxDelay=100, protocol=4, inputPort=0, udpDestinationAddr=ipAddress("0.0.0.0"), udpDestinationPort=0, udpAttNavPort=0}) C.SLASetPortConfiguration(c, f, Out, 12) f = ffi.new('SLASetPortConfiguration_t', {port=6, baud=3, dataBits=8, stopBits=1, parity=0, maxPacket=127, maxDelay=100, protocol=4, inputPort=0, udpDestinationAddr=ipAddress("0.0.0.0"), udpDestinationPort=0, udpAttNavPort=0}) C.SLASetPortConfiguration(c, f, Out, 12) f = ffi.new('SLASetPortConfiguration_t', {port=7, baud=3, dataBits=8, stopBits=1, parity=0, maxPacket=127, maxDelay=100, protocol=4, inputPort=0, udpDestinationAddr=ipAddress("0.0.0.0"), udpDestinationPort=0, udpAttNavPort=0}) C.SLASetPortConfiguration(c, f, Out, 12) f = ffi.new('SLASetPortConfiguration_t', {port=9, baud=3, dataBits=8, stopBits=1, parity=0, maxPacket=127, maxDelay=100, protocol=4, inputPort=0, udpDestinationAddr=ipAddress("0.0.0.0"), udpDestinationPort=0, udpAttNavPort=0}) C.SLASetPortConfiguration(c, f, Out, 12) f = ffi.new('SLASetPortConfiguration_t', {port=10, baud=3, dataBits=8, stopBits=1, parity=0, maxPacket=127, maxDelay=100, protocol=4, inputPort=0, udpDestinationAddr=ipAddress("0.0.0.0"), udpDestinationPort=0, udpAttNavPort=0}) C.SLASetPortConfiguration(c, f, Out, 12) f = ffi.new('SLASetPortConfiguration_t', {port=11, baud=3, dataBits=8, stopBits=1, parity=0, maxPacket=127, maxDelay=100, protocol=4, inputPort=0, udpDestinationAddr=ipAddress("0.0.0.0"), udpDestinationPort=0, udpAttNavPort=0}) C.SLASetPortConfiguration(c, f, Out, 12) f = ffi.new('SLASetPortConfiguration_t', {port=19, baud=3, dataBits=8, stopBits=1, parity=0, maxPacket=127, maxDelay=100, protocol=4, inputPort=0, udpDestinationAddr=ipAddress("0.0.0.0"), udpDestinationPort=0, udpAttNavPort=0}) C.SLASetPortConfiguration(c, f, Out, 12) f = ffi.new('SLASetPortConfiguration_t', {port=20, baud=3, dataBits=8, stopBits=1, parity=0, maxPacket=127, maxDelay=100, protocol=4, inputPort=0, udpDestinationAddr=ipAddress("0.0.0.0"), udpDestinationPort=0, udpAttNavPort=0}) C.SLASetPortConfiguration(c, f, Out, 12) end function SystemValue(c) f = ffi.new('SLASetSystemValue_t', {systemValue=24, setMode=1, value0=0, value1=0, value2=0, value3=0}) C.SLASetSystemValue(c, f, Out, 6) end function ExternalProgram(c) f = ffi.new('SLAExternalProgram_t', {programType=0, filename0=Lstr(""), filename1=Lstr(""), filename2=Lstr("")}) C.SLAExternalProgram(c, f, Out, 4) f = ffi.new('SLAExternalProgram_t', {programType=1, filename0=Lstr(""), filename1=Lstr(""), filename2=Lstr("")}) C.SLAExternalProgram(c, f, Out, 4) f = ffi.new('SLAExternalProgram_t', {programType=2, filename0=Lstr(""), filename1=Lstr(""), filename2=Lstr("")}) C.SLAExternalProgram(c, f, Out, 4) f = ffi.new('SLAExternalProgram_t', {programType=3, filename0=Lstr(""), filename1=Lstr(""), filename2=Lstr("")}) C.SLAExternalProgram(c, f, Out, 4) f = ffi.new('SLAExternalProgram_t', {programType=4, filename0=Lstr(""), filename1=Lstr(""), filename2=Lstr("")}) C.SLAExternalProgram(c, f, Out, 4) f = ffi.new('SLAExternalProgram_t', {programType=5, filename0=Lstr(""), filename1=Lstr(""), filename2=Lstr("")}) C.SLAExternalProgram(c, f, Out, 4) f = ffi.new('SLAExternalProgram_t', {programType=6, filename0=Lstr(""), filename1=Lstr(""), filename2=Lstr("")}) C.SLAExternalProgram(c, f, Out, 4) end function UserPalette(c) -- Using the default UserPalette end function VideoTrackCamNeutral(c) -- Camera neutral f = ffi.new('SLAUserFont_t', {userFontIndex=0, fontFileName=Lstr("RobotoMono-Regular.ttf")}) C.SLAUserFont(c, f, Out, 2) f = ffi.new('SLAUserFont_t', {userFontIndex=1, fontFileName=Lstr("RobotoMono-Bold.ttf")}) C.SLAUserFont(c, f, Out, 2) f = ffi.new('SLAUserFont_t', {userFontIndex=2, fontFileName=Lstr("RobotoMono-Italic.ttf")}) C.SLAUserFont(c, f, Out, 2) f = ffi.new('SLAUserFont_t', {userFontIndex=3, fontFileName=Lstr("RobotoMono-BoldItalic.ttf")}) C.SLAUserFont(c, f, Out, 2) f = ffi.new('SLAUserFont_t', {userFontIndex=4, fontFileName=Lstr("Caladea-Regular.ttf")}) C.SLAUserFont(c, f, Out, 2) f = ffi.new('SLAUserFont_t', {userFontIndex=5, fontFileName=Lstr("Caladea-Bold.ttf")}) C.SLAUserFont(c, f, Out, 2) f = ffi.new('SLAUserFont_t', {userFontIndex=6, fontFileName=Lstr("Caladea-Italic.ttf")}) C.SLAUserFont(c, f, Out, 2) f = ffi.new('SLAUserFont_t', {userFontIndex=7, fontFileName=Lstr("Caladea-BoldItalic.ttf")}) C.SLAUserFont(c, f, Out, 2) f = ffi.new('SLAUserFont_t', {userFontIndex=8, fontFileName=Lstr("NotoSansJP-Regular.otf")}) C.SLAUserFont(c, f, Out, 2) f = ffi.new('SLAUserFont_t', {userFontIndex=9, fontFileName=Lstr("NotoEmoji-Regular.ttf")}) C.SLAUserFont(c, f, Out, 2) end function VideoTrackPerCam_0(c) -- Camera index 0 f = ffi.new('SLACommandCamera_t', {cameraIndex=0}) C.SLACommandCamera(c, f, Out, 1) f = ffi.new('SLASetVideoEnhancementParameters_t', {sharpenEnhance=1, alphaBlend=255, enhanceParam=20, denoiseRate=0, cameraIndex=0, flags=0, histAveRate8=0, histMaxPctBin=0, roiRow=0, roiCol=0, roiHigh=0, roiWide=0, deconvSigma=0, gaussianBlur=0, lapMinDiff=0, colorEnhance=0, brightness=128, contrast=128}) C.SLASetVideoEnhancementParameters(c, f, Out, 18) f = ffi.new('SLASetVideoParameters_t', {autoChop=0, chopTop=0, chopBottom=0, chopLeft=0, chopRight=0, deinterlace=0, autoReset=0, cameraIndex=0}) C.SLASetVideoParameters(c, f, Out, 8) f = ffi.new('SLASetADCParameters_t', {brightness=128, contrast=128, saturation=128, hue=0, luma1=0, luma2=0, luma3=0, chroma1=0, chroma2=0, mode=0, cameraIndex=0, exposure=0, exposureFrac=0, setMask=0}) C.SLASetADCParameters(c, f, Out, 14) f = ffi.new('SLASetDigitalCameraParameters_t', {cameraIndex=0, mode=2, agHoldmax=0, agHoldmin=0, rowROIPct=0, colROIPct=0, highROIPct=255, wideROIPct=255, minAGRange=10, agRate8=32, minExp=0, maxExp=255, rejectDarkTail=0, rejectBrightTail=0}) C.SLASetDigitalCameraParameters(c, f, Out, 14) f = ffi.new('SLASetStabilizationParameters_t', {mode=13, rate=50, translationLimit=0, angleLimit=0, cameraIndex=0, maxStabOff=0, edgeY=128, edgeU=128, edgeV=128}) C.SLASetStabilizationParameters(c, f, Out, 9) f = ffi.new('SLASetTrackingParameters_t', {objectSize=40, mode=2, mode2=0, maxMisses=45, nearVal=65, objectHeight=40, cameraIndex=0}) C.SLASetTrackingParameters(c, f, Out, 7) f = ffi.new('SLASetOverlayMode_t', {primaryReticle=5, secondaryReticle=7, graphics=12288, mtiColor=11, mtiSelectableColor=11, cameraIndex=0, selectedReticle=7, personReticle=11, cursorReticle=1, lineThickness=1, fontScale=32, fontID=0}) C.SLASetOverlayMode(c, f, Out, 12) f = ffi.new('SLASetDisplayParameters_t', {rotationDegrees=0, rotationLimit=0, decayRate=0, falseColorZTT=1, zoom=64, panCol=0, tiltRow=0, cameraIndex=0, extendedZoom10=1024, zoomRate=0, flipMode=0}) C.SLASetDisplayParameters(c, f, Out, 11) f = ffi.new('SLASetDetectionParameters_t', {mode=1, debugCode=0, threshold=6, manualThreshold=0, manualWatchFrames=0, suspScore=0, reserved=0, modeUpperByte=0, minTemperature=0, maxTemperature=0, cameraIndex=0, classSensitivity=7}) C.SLASetDetectionParameters(c, f, Out, 12) f = ffi.new('SLASetDetectionRegionOfInterestParameters_t', {flags=0, searchRowUl=0, searchColUl=0, searchHeight=0, searchWidth=0, detectRowUl=0, detectColUl=0, detectHeight=0, detectWidth=0, cameraIndex=0, maskBlockHigh=0, maskBlockWide=0, mask0=0x000000000, mask1=0x000000000, mask2=0x000000000, mask3=0x000000000}) C.SLASetDetectionRegionOfInterestParameters(c, f, Out, 16) f = ffi.new('SLASetAdvancedDetectionParameters_t', {minVel8=-1, maxVel8=-1, reserved1=-1, minWide=-1, maxWide=-1, minHigh=-1, maxHigh=-1, hideOverlapTrks=1, nFramesBack=15, mergeRadius=0, mergeDirTol=45, useRegistration=1, detUpdateRate=32, surroundSize=25, reserved3=0, bgTimeConst=600, bgEdgePenalty6=64, bgResetConf=40, bgResetOff=100, bgResetAng=1, bgResetFrames=0, bgWarpConf=85, bgWarpOff=32, bgWarpAng=1, bgWarpFrames=0, maxTrackFrames=0, debugFiltering=0, downsample=128, maxTelemTrks=10, maxKlvTrks=10, cameraIndex=0, blocksHigh=1, blocksWide=1, maxDisplayTrks=100, ellipsePadding=5, closeFilter=0, detDirection=3, detBitDepth=0}) C.SLASetAdvancedDetectionParameters(c, f, Out, 38) f = ffi.new('SLALandingAid_t', {mode=0, camHFovDeg8=7680, blackTargetSize16=8831, whiteTargetSize16=442, matchThresh=50, reserved0=0, reserved1=0, keepOutMode=0, reserved2=0, keepOutRadius16=22938, ctrlParam0=0, ctrlParam1=0, ctrlParam2=0, ctrlParam3=0, cameraIndex=0}) C.SLALandingAid(c, f, Out, 15) f = ffi.new('SLACoordinateReportingMode_t', {framePeriod=1, flags=7, cameraIndex=0}) C.SLACoordinateReportingMode(c, f, Out, 3) f = ffi.new('SLASetSnapShot_t', {mode=1, format=0, source=1, quality=80, downsample=1, ipAddr=ipAddress("192.168.1.10"), port=21, userName=Lstr("snapshot"), password=Lstr("snapshot")}) C.SLASetSnapShot(c, f, Out, 9) f = ffi.new('SLALensParameters_t', {cameraIndex=0, zoomTrackFocus=0, reserved1=0, zoomSpeed=0, focusSpeed=0, reserved2=0, port=0, filename=Lstr("")}) C.SLALensParameters(c, f, Out, 8) f = ffi.new('SLAFocusParameters_t', {cameraIndex=0, focusMetric=5, focusDivider=0, varianceDivider=0, colRoiFrac=64, rowRoiFrac=64, wideRoiFrac=128, highRoiFrac=128}) C.SLAFocusParameters(c, f, Out, 8) f = ffi.new('SLACustomAutoFocusParameters_t', {cameraIdx=0, method=0, calibStart=0, calibEnd=0, frameOffsetMult8=8, calibFlags=12, reserved1=0, rateAdjust=100, changePercent10ths=40, reserved2=0, nInitialSteps=4, FineSpeed=10, MidSpeed=150, CoarseSpeed=220, CoarseThresh=64, FineThresh=51, CdownMax=5, reserved3=0, fileName=Lstr(""), data={len=0, buf=string.char()}}) C.SLACustomAutoFocusParameters(c, f, Out, 20) end function VideoTrackPerCam_1(c) -- Camera index 1 f = ffi.new('SLACommandCamera_t', {cameraIndex=1}) C.SLACommandCamera(c, f, Out, 1) f = ffi.new('SLASetVideoEnhancementParameters_t', {sharpenEnhance=0, alphaBlend=255, enhanceParam=20, denoiseRate=0, cameraIndex=1, flags=0, histAveRate8=0, histMaxPctBin=0, roiRow=0, roiCol=0, roiHigh=0, roiWide=0, deconvSigma=0, gaussianBlur=0, lapMinDiff=0, colorEnhance=0, brightness=128, contrast=128}) C.SLASetVideoEnhancementParameters(c, f, Out, 18) f = ffi.new('SLASetVideoParameters_t', {autoChop=0, chopTop=0, chopBottom=0, chopLeft=0, chopRight=0, deinterlace=0, autoReset=0, cameraIndex=1}) C.SLASetVideoParameters(c, f, Out, 8) f = ffi.new('SLASetADCParameters_t', {brightness=0, contrast=0, saturation=0, hue=0, luma1=0, luma2=0, luma3=0, chroma1=0, chroma2=0, mode=0, cameraIndex=1, exposure=0, exposureFrac=0, setMask=0}) C.SLASetADCParameters(c, f, Out, 14) f = ffi.new('SLASetDigitalCameraParameters_t', {cameraIndex=1, mode=0, agHoldmax=0, agHoldmin=0, rowROIPct=0, colROIPct=0, highROIPct=255, wideROIPct=255, minAGRange=10, agRate8=32, minExp=0, maxExp=255, rejectDarkTail=0, rejectBrightTail=0}) C.SLASetDigitalCameraParameters(c, f, Out, 14) f = ffi.new('SLASetStabilizationParameters_t', {mode=13, rate=50, translationLimit=0, angleLimit=0, cameraIndex=1, maxStabOff=0, edgeY=128, edgeU=128, edgeV=128}) C.SLASetStabilizationParameters(c, f, Out, 9) f = ffi.new('SLASetTrackingParameters_t', {objectSize=40, mode=2, mode2=0, maxMisses=45, nearVal=65, objectHeight=40, cameraIndex=1}) C.SLASetTrackingParameters(c, f, Out, 7) f = ffi.new('SLASetOverlayMode_t', {primaryReticle=5, secondaryReticle=7, graphics=12288, mtiColor=11, mtiSelectableColor=11, cameraIndex=1, selectedReticle=7, personReticle=11, cursorReticle=1, lineThickness=1, fontScale=32, fontID=0}) C.SLASetOverlayMode(c, f, Out, 12) f = ffi.new('SLASetDisplayParameters_t', {rotationDegrees=0, rotationLimit=0, decayRate=0, falseColorZTT=1, zoom=64, panCol=0, tiltRow=0, cameraIndex=1, extendedZoom10=1024, zoomRate=0, flipMode=0}) C.SLASetDisplayParameters(c, f, Out, 11) f = ffi.new('SLASetDetectionParameters_t', {mode=1, debugCode=0, threshold=6, manualThreshold=0, manualWatchFrames=0, suspScore=0, reserved=0, modeUpperByte=0, minTemperature=0, maxTemperature=0, cameraIndex=1, classSensitivity=7}) C.SLASetDetectionParameters(c, f, Out, 12) f = ffi.new('SLASetDetectionRegionOfInterestParameters_t', {flags=0, searchRowUl=0, searchColUl=0, searchHeight=0, searchWidth=0, detectRowUl=0, detectColUl=0, detectHeight=0, detectWidth=0, cameraIndex=1, maskBlockHigh=0, maskBlockWide=0, mask0=0x000000000, mask1=0x000000000, mask2=0x000000000, mask3=0x000000000}) C.SLASetDetectionRegionOfInterestParameters(c, f, Out, 16) f = ffi.new('SLASetAdvancedDetectionParameters_t', {minVel8=-1, maxVel8=-1, reserved1=-1, minWide=-1, maxWide=-1, minHigh=-1, maxHigh=-1, hideOverlapTrks=1, nFramesBack=15, mergeRadius=0, mergeDirTol=45, useRegistration=1, detUpdateRate=32, surroundSize=25, reserved3=0, bgTimeConst=600, bgEdgePenalty6=64, bgResetConf=40, bgResetOff=100, bgResetAng=1, bgResetFrames=0, bgWarpConf=85, bgWarpOff=32, bgWarpAng=1, bgWarpFrames=0, maxTrackFrames=0, debugFiltering=0, downsample=128, maxTelemTrks=10, maxKlvTrks=10, cameraIndex=1, blocksHigh=1, blocksWide=1, maxDisplayTrks=100, ellipsePadding=5, closeFilter=0, detDirection=3, detBitDepth=0}) C.SLASetAdvancedDetectionParameters(c, f, Out, 38) f = ffi.new('SLALandingAid_t', {mode=0, camHFovDeg8=7680, blackTargetSize16=8831, whiteTargetSize16=442, matchThresh=50, reserved0=0, reserved1=0, keepOutMode=0, reserved2=0, keepOutRadius16=22938, ctrlParam0=0, ctrlParam1=0, ctrlParam2=0, ctrlParam3=0, cameraIndex=1}) C.SLALandingAid(c, f, Out, 15) f = ffi.new('SLACoordinateReportingMode_t', {framePeriod=1, flags=7, cameraIndex=1}) C.SLACoordinateReportingMode(c, f, Out, 3) f = ffi.new('SLASetSnapShot_t', {mode=1, format=0, source=1, quality=80, downsample=1, ipAddr=ipAddress("192.168.1.10"), port=21, userName=Lstr("snapshot"), password=Lstr("snapshot")}) C.SLASetSnapShot(c, f, Out, 9) f = ffi.new('SLALensParameters_t', {cameraIndex=1, zoomTrackFocus=0, reserved1=0, zoomSpeed=0, focusSpeed=0, reserved2=0, port=0, filename=Lstr("")}) C.SLALensParameters(c, f, Out, 8) f = ffi.new('SLAFocusParameters_t', {cameraIndex=1, focusMetric=5, focusDivider=0, varianceDivider=0, colRoiFrac=64, rowRoiFrac=64, wideRoiFrac=128, highRoiFrac=128}) C.SLAFocusParameters(c, f, Out, 8) f = ffi.new('SLACustomAutoFocusParameters_t', {cameraIdx=1, method=5, calibStart=0, calibEnd=0, frameOffsetMult8=0, calibFlags=0, reserved1=0, rateAdjust=16448, changePercent10ths=128, reserved2=0, nInitialSteps=0, FineSpeed=0, MidSpeed=0, CoarseSpeed=0, CoarseThresh=0, FineThresh=0, CdownMax=0, reserved3=0, fileName=Lstr(""), data={len=0, buf=string.char()}}) C.SLACustomAutoFocusParameters(c, f, Out, 20) end function VideoTrackPerCam_2(c) -- Camera index 2 f = ffi.new('SLACommandCamera_t', {cameraIndex=2}) C.SLACommandCamera(c, f, Out, 1) f = ffi.new('SLASetVideoEnhancementParameters_t', {sharpenEnhance=0, alphaBlend=255, enhanceParam=20, denoiseRate=0, cameraIndex=2, flags=0, histAveRate8=0, histMaxPctBin=0, roiRow=0, roiCol=0, roiHigh=0, roiWide=0, deconvSigma=0, gaussianBlur=0, lapMinDiff=0, colorEnhance=0, brightness=128, contrast=128}) C.SLASetVideoEnhancementParameters(c, f, Out, 18) f = ffi.new('SLASetVideoParameters_t', {autoChop=0, chopTop=0, chopBottom=0, chopLeft=0, chopRight=0, deinterlace=0, autoReset=0, cameraIndex=2}) C.SLASetVideoParameters(c, f, Out, 8) f = ffi.new('SLASetADCParameters_t', {brightness=0, contrast=0, saturation=0, hue=0, luma1=0, luma2=0, luma3=0, chroma1=0, chroma2=0, mode=0, cameraIndex=2, exposure=0, exposureFrac=0, setMask=0}) C.SLASetADCParameters(c, f, Out, 14) f = ffi.new('SLASetDigitalCameraParameters_t', {cameraIndex=2, mode=0, agHoldmax=0, agHoldmin=0, rowROIPct=0, colROIPct=0, highROIPct=255, wideROIPct=255, minAGRange=10, agRate8=32, minExp=0, maxExp=255, rejectDarkTail=0, rejectBrightTail=0}) C.SLASetDigitalCameraParameters(c, f, Out, 14) f = ffi.new('SLASetStabilizationParameters_t', {mode=13, rate=50, translationLimit=0, angleLimit=0, cameraIndex=2, maxStabOff=0, edgeY=128, edgeU=128, edgeV=128}) C.SLASetStabilizationParameters(c, f, Out, 9) f = ffi.new('SLASetTrackingParameters_t', {objectSize=40, mode=2, mode2=0, maxMisses=45, nearVal=65, objectHeight=40, cameraIndex=2}) C.SLASetTrackingParameters(c, f, Out, 7) f = ffi.new('SLASetOverlayMode_t', {primaryReticle=5, secondaryReticle=7, graphics=12288, mtiColor=11, mtiSelectableColor=11, cameraIndex=2, selectedReticle=7, personReticle=11, cursorReticle=1, lineThickness=1, fontScale=32, fontID=0}) C.SLASetOverlayMode(c, f, Out, 12) f = ffi.new('SLASetDisplayParameters_t', {rotationDegrees=0, rotationLimit=0, decayRate=0, falseColorZTT=1, zoom=64, panCol=0, tiltRow=0, cameraIndex=2, extendedZoom10=1024, zoomRate=0, flipMode=0}) C.SLASetDisplayParameters(c, f, Out, 11) f = ffi.new('SLASetDetectionParameters_t', {mode=1, debugCode=0, threshold=6, manualThreshold=0, manualWatchFrames=0, suspScore=0, reserved=0, modeUpperByte=0, minTemperature=0, maxTemperature=0, cameraIndex=2, classSensitivity=7}) C.SLASetDetectionParameters(c, f, Out, 12) f = ffi.new('SLASetDetectionRegionOfInterestParameters_t', {flags=0, searchRowUl=0, searchColUl=0, searchHeight=0, searchWidth=0, detectRowUl=0, detectColUl=0, detectHeight=0, detectWidth=0, cameraIndex=2, maskBlockHigh=0, maskBlockWide=0, mask0=0x000000000, mask1=0x000000000, mask2=0x000000000, mask3=0x000000000}) C.SLASetDetectionRegionOfInterestParameters(c, f, Out, 16) f = ffi.new('SLASetAdvancedDetectionParameters_t', {minVel8=-1, maxVel8=-1, reserved1=-1, minWide=-1, maxWide=-1, minHigh=-1, maxHigh=-1, hideOverlapTrks=1, nFramesBack=15, mergeRadius=0, mergeDirTol=45, useRegistration=1, detUpdateRate=32, surroundSize=25, reserved3=0, bgTimeConst=600, bgEdgePenalty6=64, bgResetConf=40, bgResetOff=100, bgResetAng=1, bgResetFrames=0, bgWarpConf=85, bgWarpOff=32, bgWarpAng=1, bgWarpFrames=0, maxTrackFrames=0, debugFiltering=0, downsample=128, maxTelemTrks=10, maxKlvTrks=10, cameraIndex=2, blocksHigh=1, blocksWide=1, maxDisplayTrks=100, ellipsePadding=5, closeFilter=0, detDirection=3, detBitDepth=0}) C.SLASetAdvancedDetectionParameters(c, f, Out, 38) f = ffi.new('SLALandingAid_t', {mode=0, camHFovDeg8=7680, blackTargetSize16=8831, whiteTargetSize16=442, matchThresh=50, reserved0=0, reserved1=0, keepOutMode=0, reserved2=0, keepOutRadius16=22938, ctrlParam0=0, ctrlParam1=0, ctrlParam2=0, ctrlParam3=0, cameraIndex=2}) C.SLALandingAid(c, f, Out, 15) f = ffi.new('SLACoordinateReportingMode_t', {framePeriod=1, flags=7, cameraIndex=2}) C.SLACoordinateReportingMode(c, f, Out, 3) f = ffi.new('SLASetSnapShot_t', {mode=1, format=0, source=1, quality=80, downsample=1, ipAddr=ipAddress("192.168.1.10"), port=21, userName=Lstr("snapshot"), password=Lstr("snapshot")}) C.SLASetSnapShot(c, f, Out, 9) f = ffi.new('SLALensParameters_t', {cameraIndex=2, zoomTrackFocus=0, reserved1=0, zoomSpeed=0, focusSpeed=0, reserved2=0, port=0, filename=Lstr("")}) C.SLALensParameters(c, f, Out, 8) f = ffi.new('SLAFocusParameters_t', {cameraIndex=2, focusMetric=5, focusDivider=0, varianceDivider=0, colRoiFrac=64, rowRoiFrac=64, wideRoiFrac=128, highRoiFrac=128}) C.SLAFocusParameters(c, f, Out, 8) f = ffi.new('SLACustomAutoFocusParameters_t', {cameraIdx=2, method=5, calibStart=0, calibEnd=0, frameOffsetMult8=0, calibFlags=0, reserved1=0, rateAdjust=16448, changePercent10ths=128, reserved2=0, nInitialSteps=0, FineSpeed=0, MidSpeed=0, CoarseSpeed=0, CoarseThresh=0, FineThresh=0, CdownMax=0, reserved3=0, fileName=Lstr(""), data={len=0, buf=string.char()}}) C.SLACustomAutoFocusParameters(c, f, Out, 20) end function VideoTrackPerCam_3(c) -- Camera index 3 f = ffi.new('SLACommandCamera_t', {cameraIndex=3}) C.SLACommandCamera(c, f, Out, 1) f = ffi.new('SLASetVideoEnhancementParameters_t', {sharpenEnhance=0, alphaBlend=255, enhanceParam=20, denoiseRate=0, cameraIndex=3, flags=0, histAveRate8=0, histMaxPctBin=0, roiRow=0, roiCol=0, roiHigh=0, roiWide=0, deconvSigma=0, gaussianBlur=0, lapMinDiff=0, colorEnhance=0, brightness=128, contrast=128}) C.SLASetVideoEnhancementParameters(c, f, Out, 18) f = ffi.new('SLASetVideoParameters_t', {autoChop=0, chopTop=0, chopBottom=0, chopLeft=0, chopRight=0, deinterlace=0, autoReset=0, cameraIndex=3}) C.SLASetVideoParameters(c, f, Out, 8) f = ffi.new('SLASetADCParameters_t', {brightness=0, contrast=0, saturation=0, hue=0, luma1=0, luma2=0, luma3=0, chroma1=0, chroma2=0, mode=0, cameraIndex=3, exposure=0, exposureFrac=0, setMask=0}) C.SLASetADCParameters(c, f, Out, 14) f = ffi.new('SLASetDigitalCameraParameters_t', {cameraIndex=3, mode=0, agHoldmax=0, agHoldmin=0, rowROIPct=0, colROIPct=0, highROIPct=255, wideROIPct=255, minAGRange=10, agRate8=32, minExp=0, maxExp=255, rejectDarkTail=0, rejectBrightTail=0}) C.SLASetDigitalCameraParameters(c, f, Out, 14) f = ffi.new('SLASetStabilizationParameters_t', {mode=13, rate=50, translationLimit=0, angleLimit=0, cameraIndex=3, maxStabOff=0, edgeY=128, edgeU=128, edgeV=128}) C.SLASetStabilizationParameters(c, f, Out, 9) f = ffi.new('SLASetTrackingParameters_t', {objectSize=40, mode=2, mode2=0, maxMisses=45, nearVal=65, objectHeight=40, cameraIndex=3}) C.SLASetTrackingParameters(c, f, Out, 7) f = ffi.new('SLASetOverlayMode_t', {primaryReticle=5, secondaryReticle=7, graphics=12288, mtiColor=11, mtiSelectableColor=11, cameraIndex=3, selectedReticle=7, personReticle=11, cursorReticle=1, lineThickness=1, fontScale=32, fontID=0}) C.SLASetOverlayMode(c, f, Out, 12) f = ffi.new('SLASetDisplayParameters_t', {rotationDegrees=0, rotationLimit=0, decayRate=0, falseColorZTT=1, zoom=64, panCol=0, tiltRow=0, cameraIndex=3, extendedZoom10=1024, zoomRate=0, flipMode=0}) C.SLASetDisplayParameters(c, f, Out, 11) f = ffi.new('SLASetDetectionParameters_t', {mode=1, debugCode=0, threshold=6, manualThreshold=0, manualWatchFrames=0, suspScore=0, reserved=0, modeUpperByte=0, minTemperature=0, maxTemperature=0, cameraIndex=3, classSensitivity=7}) C.SLASetDetectionParameters(c, f, Out, 12) f = ffi.new('SLASetDetectionRegionOfInterestParameters_t', {flags=0, searchRowUl=0, searchColUl=0, searchHeight=0, searchWidth=0, detectRowUl=0, detectColUl=0, detectHeight=0, detectWidth=0, cameraIndex=3, maskBlockHigh=0, maskBlockWide=0, mask0=0x000000000, mask1=0x000000000, mask2=0x000000000, mask3=0x000000000}) C.SLASetDetectionRegionOfInterestParameters(c, f, Out, 16) f = ffi.new('SLASetAdvancedDetectionParameters_t', {minVel8=-1, maxVel8=-1, reserved1=-1, minWide=-1, maxWide=-1, minHigh=-1, maxHigh=-1, hideOverlapTrks=1, nFramesBack=15, mergeRadius=0, mergeDirTol=45, useRegistration=1, detUpdateRate=32, surroundSize=25, reserved3=0, bgTimeConst=600, bgEdgePenalty6=64, bgResetConf=40, bgResetOff=100, bgResetAng=1, bgResetFrames=0, bgWarpConf=85, bgWarpOff=32, bgWarpAng=1, bgWarpFrames=0, maxTrackFrames=0, debugFiltering=0, downsample=128, maxTelemTrks=10, maxKlvTrks=10, cameraIndex=3, blocksHigh=1, blocksWide=1, maxDisplayTrks=100, ellipsePadding=5, closeFilter=0, detDirection=3, detBitDepth=0}) C.SLASetAdvancedDetectionParameters(c, f, Out, 38) f = ffi.new('SLALandingAid_t', {mode=0, camHFovDeg8=7680, blackTargetSize16=8831, whiteTargetSize16=442, matchThresh=50, reserved0=0, reserved1=0, keepOutMode=0, reserved2=0, keepOutRadius16=22938, ctrlParam0=0, ctrlParam1=0, ctrlParam2=0, ctrlParam3=0, cameraIndex=3}) C.SLALandingAid(c, f, Out, 15) f = ffi.new('SLACoordinateReportingMode_t', {framePeriod=1, flags=7, cameraIndex=3}) C.SLACoordinateReportingMode(c, f, Out, 3) f = ffi.new('SLASetSnapShot_t', {mode=1, format=0, source=1, quality=80, downsample=1, ipAddr=ipAddress("192.168.1.10"), port=21, userName=Lstr("snapshot"), password=Lstr("snapshot")}) C.SLASetSnapShot(c, f, Out, 9) f = ffi.new('SLALensParameters_t', {cameraIndex=3, zoomTrackFocus=0, reserved1=0, zoomSpeed=0, focusSpeed=0, reserved2=0, port=0, filename=Lstr("")}) C.SLALensParameters(c, f, Out, 8) f = ffi.new('SLAFocusParameters_t', {cameraIndex=3, focusMetric=5, focusDivider=0, varianceDivider=0, colRoiFrac=64, rowRoiFrac=64, wideRoiFrac=128, highRoiFrac=128}) C.SLAFocusParameters(c, f, Out, 8) f = ffi.new('SLACustomAutoFocusParameters_t', {cameraIdx=3, method=5, calibStart=0, calibEnd=0, frameOffsetMult8=0, calibFlags=0, reserved1=0, rateAdjust=16448, changePercent10ths=128, reserved2=0, nInitialSteps=0, FineSpeed=0, MidSpeed=0, CoarseSpeed=0, CoarseThresh=0, FineThresh=0, CdownMax=0, reserved3=0, fileName=Lstr(""), data={len=0, buf=string.char()}}) C.SLACustomAutoFocusParameters(c, f, Out, 20) end function VideoTrackCmdCam(c) -- CommandCamera 0 f = ffi.new('SLACommandCamera_t', {cameraIndex=0}) C.SLACommandCamera(c, f, Out, 1) f = ffi.new('SLASetBlendParameters_t', {absOffZoom=0, vertical=0, horizontal=0, rotation=128, zoom=128, mode=1, amt=128, hue=0, flags=0, reset=0, reserved=10, warpIndex=1, fixedIndex=0, usePresetAlign=0, presetAlignIndex=0, hzoom=128, hotStart=108, coldEnd=0}) C.SLASetBlendParameters(c, f, Out, 18) f = ffi.new('SLASetMultipleAlignment_t', {nAlignments=5, alignment={{vertical=0, horizontal=0, rotate=128, zoom=128, hzoom=128}, {vertical=0, horizontal=0, rotate=128, zoom=128, hzoom=128}, {vertical=0, horizontal=0, rotate=128, zoom=128, hzoom=128}, {vertical=0, horizontal=0, rotate=128, zoom=128, hzoom=128}, {vertical=0, horizontal=0, rotate=128, zoom=128, hzoom=128}}}) C.SLASetMultipleAlignment(c, f, Out, 8) f = ffi.new('SLAFourAlignPoints_t', {index=0, LeftCameraPointACol=0, LeftCameraPointARow=0, RightCameraPointACol=0, RightCameraPointARow=0, LeftCameraPointBCol=0, LeftCameraPointBRow=0, RightCameraPointBCol=0, RightCameraPointBRow=0, LeftCameraPointCCol=0, LeftCameraPointCRow=0, RightCameraPointCCol=0, RightCameraPointCRow=0, LeftCameraPointDCol=0, LeftCameraPointDRow=0, RightCameraPointDCol=0, RightCameraPointDRow=0}) C.SLAFourAlignPoints(c, f, Out, 17) f = ffi.new('SLAFourAlignPoints_t', {index=1, LeftCameraPointACol=0, LeftCameraPointARow=0, RightCameraPointACol=0, RightCameraPointARow=0, LeftCameraPointBCol=0, LeftCameraPointBRow=0, RightCameraPointBCol=0, RightCameraPointBRow=0, LeftCameraPointCCol=0, LeftCameraPointCRow=0, RightCameraPointCCol=0, RightCameraPointCRow=0, LeftCameraPointDCol=0, LeftCameraPointDRow=0, RightCameraPointDCol=0, RightCameraPointDRow=0}) C.SLAFourAlignPoints(c, f, Out, 17) f = ffi.new('SLAFourAlignPoints_t', {index=2, LeftCameraPointACol=0, LeftCameraPointARow=0, RightCameraPointACol=0, RightCameraPointARow=0, LeftCameraPointBCol=0, LeftCameraPointBRow=0, RightCameraPointBCol=0, RightCameraPointBRow=0, LeftCameraPointCCol=0, LeftCameraPointCRow=0, RightCameraPointCCol=0, RightCameraPointCRow=0, LeftCameraPointDCol=0, LeftCameraPointDRow=0, RightCameraPointDCol=0, RightCameraPointDRow=0}) C.SLAFourAlignPoints(c, f, Out, 17) f = ffi.new('SLAFourAlignPoints_t', {index=3, LeftCameraPointACol=0, LeftCameraPointARow=0, RightCameraPointACol=0, RightCameraPointARow=0, LeftCameraPointBCol=0, LeftCameraPointBRow=0, RightCameraPointBCol=0, RightCameraPointBRow=0, LeftCameraPointCCol=0, LeftCameraPointCRow=0, RightCameraPointCCol=0, RightCameraPointCRow=0, LeftCameraPointDCol=0, LeftCameraPointDRow=0, RightCameraPointDCol=0, RightCameraPointDRow=0}) C.SLAFourAlignPoints(c, f, Out, 17) f = ffi.new('SLAFourAlignPoints_t', {index=4, LeftCameraPointACol=0, LeftCameraPointARow=0, RightCameraPointACol=0, RightCameraPointARow=0, LeftCameraPointBCol=0, LeftCameraPointBRow=0, RightCameraPointBCol=0, RightCameraPointBRow=0, LeftCameraPointCCol=0, LeftCameraPointCRow=0, RightCameraPointCCol=0, RightCameraPointCRow=0, LeftCameraPointDCol=0, LeftCameraPointDRow=0, RightCameraPointDCol=0, RightCameraPointDRow=0}) C.SLAFourAlignPoints(c, f, Out, 17) f = ffi.new('SLASetSystemType_t', {systemType=0}) C.SLASetSystemType(c, f, Out, 1) f = ffi.new('SLAStreamingControl_t', {streamingControlMask=15}) C.SLAStreamingControl(c, f, Out, 1) f = ffi.new('SLADecoderParameters_t', {ipAddr=ipAddress("0.0.0.0"), port=15004, customStr=Lstr(""), cameraIndex=0}) C.SLADecoderParameters(c, f, Out, 4) f = ffi.new('SLADecoderParameters_t', {ipAddr=ipAddress("0.0.0.0"), port=15006, customStr=Lstr(""), cameraIndex=1}) C.SLADecoderParameters(c, f, Out, 4) f = ffi.new('SLADecoderParameters_t', {ipAddr=ipAddress("0.0.0.0"), port=15008, customStr=Lstr(""), cameraIndex=2}) C.SLADecoderParameters(c, f, Out, 4) f = ffi.new('SLADecoderParameters_t', {ipAddr=ipAddress("0.0.0.0"), port=15010, customStr=Lstr(""), cameraIndex=3}) C.SLADecoderParameters(c, f, Out, 4) f = ffi.new('SLALogoParameters_t', {cameraIndex=0, logoOpacity=127, OffsetX=0, OffsetY=0}) C.SLALogoParameters(c, f, Out, 4) f = ffi.new('SLALogoParameters_t', {cameraIndex=1, logoOpacity=127, OffsetX=0, OffsetY=0}) C.SLALogoParameters(c, f, Out, 4) f = ffi.new('SLALogoParameters_t', {cameraIndex=2, logoOpacity=127, OffsetX=0, OffsetY=0}) C.SLALogoParameters(c, f, Out, 4) f = ffi.new('SLALogoParameters_t', {cameraIndex=3, logoOpacity=127, OffsetX=0, OffsetY=0}) C.SLALogoParameters(c, f, Out, 4) f = ffi.new('SLARegistrationParameters_t', {cameraIndex=0, maxTranslation=0, maxRotation=5, zoomRange=0, left=0, right=0, top=0, bottom=0, updateRate=10, flags=0}) C.SLARegistrationParameters(c, f, Out, 10) f = ffi.new('SLAStabilizationBias_t', {cameraIndex=0, biasCol=0, biasRow=0, autoBias=1, updateRate=50}) C.SLAStabilizationBias(c, f, Out, 5) f = ffi.new('SLARegistrationParameters_t', {cameraIndex=1, maxTranslation=0, maxRotation=5, zoomRange=0, left=0, right=0, top=0, bottom=0, updateRate=10, flags=0}) C.SLARegistrationParameters(c, f, Out, 10) f = ffi.new('SLAStabilizationBias_t', {cameraIndex=1, biasCol=0, biasRow=0, autoBias=1, updateRate=50}) C.SLAStabilizationBias(c, f, Out, 5) f = ffi.new('SLARegistrationParameters_t', {cameraIndex=2, maxTranslation=0, maxRotation=5, zoomRange=0, left=0, right=0, top=0, bottom=0, updateRate=10, flags=0}) C.SLARegistrationParameters(c, f, Out, 10) f = ffi.new('SLAStabilizationBias_t', {cameraIndex=2, biasCol=0, biasRow=0, autoBias=1, updateRate=50}) C.SLAStabilizationBias(c, f, Out, 5) f = ffi.new('SLARegistrationParameters_t', {cameraIndex=3, maxTranslation=0, maxRotation=5, zoomRange=0, left=0, right=0, top=0, bottom=0, updateRate=10, flags=0}) C.SLARegistrationParameters(c, f, Out, 10) f = ffi.new('SLAStabilizationBias_t', {cameraIndex=3, biasCol=0, biasRow=0, autoBias=1, updateRate=50}) C.SLAStabilizationBias(c, f, Out, 5) f = ffi.new('SLATrackTrails_t', {cameraIndex=0, flags=0, tracksLen=15, detectionLen=15}) C.SLATrackTrails(c, f, Out, 4) f = ffi.new('SLATrackTrails_t', {cameraIndex=1, flags=0, tracksLen=15, detectionLen=15}) C.SLATrackTrails(c, f, Out, 4) f = ffi.new('SLATrackTrails_t', {cameraIndex=2, flags=0, tracksLen=15, detectionLen=15}) C.SLATrackTrails(c, f, Out, 4) f = ffi.new('SLATrackTrails_t', {cameraIndex=3, flags=0, tracksLen=15, detectionLen=15}) C.SLATrackTrails(c, f, Out, 4) f = ffi.new('SLACustomClassifier_t', {cameraIndex=0, fileName=Lstr("sla_drone.cls")}) C.SLACustomClassifier(c, f, Out, 2) f = ffi.new('SLACustomClassifier_t', {cameraIndex=1, fileName=Lstr("sla_drone.cls")}) C.SLACustomClassifier(c, f, Out, 2) f = ffi.new('SLACustomClassifier_t', {cameraIndex=2, fileName=Lstr("sla_drone.cls")}) C.SLACustomClassifier(c, f, Out, 2) f = ffi.new('SLACustomClassifier_t', {cameraIndex=3, fileName=Lstr("sla_drone.cls")}) C.SLACustomClassifier(c, f, Out, 2) f = ffi.new('SLAClassifierParameters_t', {cameraIndex=0, trackFlags=0, detectionFlags=0, maxClassPerFrame=1, slaFilters=0x000000000, customFilters=0x000000000}) C.SLAClassifierParameters(c, f, Out, 6) f = ffi.new('SLAClassifierParameters_t', {cameraIndex=1, trackFlags=0, detectionFlags=0, maxClassPerFrame=1, slaFilters=0x000000000, customFilters=0x000000000}) C.SLAClassifierParameters(c, f, Out, 6) f = ffi.new('SLAClassifierParameters_t', {cameraIndex=2, trackFlags=0, detectionFlags=0, maxClassPerFrame=1, slaFilters=0x000000000, customFilters=0x000000000}) C.SLAClassifierParameters(c, f, Out, 6) f = ffi.new('SLAClassifierParameters_t', {cameraIndex=3, trackFlags=0, detectionFlags=0, maxClassPerFrame=1, slaFilters=0x000000000, customFilters=0x000000000}) C.SLAClassifierParameters(c, f, Out, 6) end function VideoTrack(c) local fl = { VideoTrackCamNeutral, VideoTrackPerCam_0, VideoTrackPerCam_1, VideoTrackPerCam_2, VideoTrackPerCam_3, VideoTrackCmdCam} SLFuncList(fl, c) f = ffi.new('SLAUserWarningLevel_t', {warnLevel=13}) C.SLAUserWarningLevel(c, f, Out, 1) end function CameraSwitch(c) -- Camera Switch Table Entries f = ffi.new('SLASetAcquisitionParameters_t', {cameraIndex=255, cameraType=0, high=0, wide=0, bitDepth=0, vertFrontPorch=0, horzFrontPorch=0, flags=0, frameStep=0, reserved=0, validRow=0, validCol=0, validHigh=0, validWide=0, optArgs=Lstr(""), bigHigh=0, bigWide=0, bigVertFrontPorch=0, bigHorzFrontPorch=0, camSwitchIndex=129}) C.SLASetAcquisitionParameters(c, f, Out, 20) f = ffi.new('SLASetAcquisitionParameters_t', {cameraIndex=255, cameraType=0, high=0, wide=0, bitDepth=0, vertFrontPorch=0, horzFrontPorch=0, flags=0, frameStep=0, reserved=0, validRow=0, validCol=0, validHigh=0, validWide=0, optArgs=Lstr(""), bigHigh=0, bigWide=0, bigVertFrontPorch=0, bigHorzFrontPorch=0, camSwitchIndex=130}) C.SLASetAcquisitionParameters(c, f, Out, 20) f = ffi.new('SLASetAcquisitionParameters_t', {cameraIndex=255, cameraType=0, high=0, wide=0, bitDepth=0, vertFrontPorch=0, horzFrontPorch=0, flags=0, frameStep=0, reserved=0, validRow=0, validCol=0, validHigh=0, validWide=0, optArgs=Lstr(""), bigHigh=0, bigWide=0, bigVertFrontPorch=0, bigHorzFrontPorch=0, camSwitchIndex=131}) C.SLASetAcquisitionParameters(c, f, Out, 20) f = ffi.new('SLASetAcquisitionParameters_t', {cameraIndex=255, cameraType=0, high=0, wide=0, bitDepth=0, vertFrontPorch=0, horzFrontPorch=0, flags=0, frameStep=0, reserved=0, validRow=0, validCol=0, validHigh=0, validWide=0, optArgs=Lstr(""), bigHigh=0, bigWide=0, bigVertFrontPorch=0, bigHorzFrontPorch=0, camSwitchIndex=132}) C.SLASetAcquisitionParameters(c, f, Out, 20) f = ffi.new('SLASetAcquisitionParameters_t', {cameraIndex=255, cameraType=0, high=0, wide=0, bitDepth=0, vertFrontPorch=0, horzFrontPorch=0, flags=0, frameStep=0, reserved=0, validRow=0, validCol=0, validHigh=0, validWide=0, optArgs=Lstr(""), bigHigh=0, bigWide=0, bigVertFrontPorch=0, bigHorzFrontPorch=0, camSwitchIndex=133}) C.SLASetAcquisitionParameters(c, f, Out, 20) f = ffi.new('SLASetAcquisitionParameters_t', {cameraIndex=255, cameraType=0, high=0, wide=0, bitDepth=0, vertFrontPorch=0, horzFrontPorch=0, flags=0, frameStep=0, reserved=0, validRow=0, validCol=0, validHigh=0, validWide=0, optArgs=Lstr(""), bigHigh=0, bigWide=0, bigVertFrontPorch=0, bigHorzFrontPorch=0, camSwitchIndex=134}) C.SLASetAcquisitionParameters(c, f, Out, 20) f = ffi.new('SLASetAcquisitionParameters_t', {cameraIndex=255, cameraType=0, high=0, wide=0, bitDepth=0, vertFrontPorch=0, horzFrontPorch=0, flags=0, frameStep=0, reserved=0, validRow=0, validCol=0, validHigh=0, validWide=0, optArgs=Lstr(""), bigHigh=0, bigWide=0, bigVertFrontPorch=0, bigHorzFrontPorch=0, camSwitchIndex=135}) C.SLASetAcquisitionParameters(c, f, Out, 20) end function KlvTag(c) -- Net Display #0 f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=2, tagId2=0, frameStep=1, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=3, tagId2=0, frameStep=300, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=4, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=5, tagId2=0, frameStep=1, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=6, tagId2=0, frameStep=1, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=7, tagId2=0, frameStep=1, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=8, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=9, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=10, tagId2=0, frameStep=300, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=11, tagId2=0, frameStep=300, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=12, tagId2=0, frameStep=300, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=13, tagId2=0, frameStep=1, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=14, tagId2=0, frameStep=1, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=15, tagId2=0, frameStep=1, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=16, tagId2=0, frameStep=1, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=17, tagId2=0, frameStep=1, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=18, tagId2=0, frameStep=1, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=19, tagId2=0, frameStep=1, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=20, tagId2=0, frameStep=1, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=21, tagId2=0, frameStep=1, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=22, tagId2=0, frameStep=1, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=23, tagId2=0, frameStep=1, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=24, tagId2=0, frameStep=1, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=25, tagId2=0, frameStep=1, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=26, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=27, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=28, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=29, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=30, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=31, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=32, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=33, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=34, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=35, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=36, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=37, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=38, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=39, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=40, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=41, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=42, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=43, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=44, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=45, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=46, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=47, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=48, tagId2=0, frameStep=300, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=49, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=50, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=51, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=52, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=53, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=54, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=55, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=56, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=57, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=58, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=59, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=60, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=61, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=62, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=63, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=64, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=65, tagId2=0, frameStep=1, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=66, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=67, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=68, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=69, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=70, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=71, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=72, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=73, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=74, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=75, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=76, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=77, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=78, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=79, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=80, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=81, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=82, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=83, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=84, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=85, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=86, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=87, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=88, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=89, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=90, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=91, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=92, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=93, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=94, tagId2=0, frameStep=300, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=95, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=96, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=97, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=98, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=99, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=100, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=101, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=102, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=103, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=104, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=105, tagId2=0, frameStep=0, displayId=2}) C.SLATagDataRate(c, f, Out, 7) -- Net Display #1 f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=2, tagId2=0, frameStep=1, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=3, tagId2=0, frameStep=300, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=4, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=5, tagId2=0, frameStep=1, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=6, tagId2=0, frameStep=1, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=7, tagId2=0, frameStep=1, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=8, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=9, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=10, tagId2=0, frameStep=300, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=11, tagId2=0, frameStep=300, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=12, tagId2=0, frameStep=300, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=13, tagId2=0, frameStep=1, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=14, tagId2=0, frameStep=1, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=15, tagId2=0, frameStep=1, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=16, tagId2=0, frameStep=1, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=17, tagId2=0, frameStep=1, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=18, tagId2=0, frameStep=1, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=19, tagId2=0, frameStep=1, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=20, tagId2=0, frameStep=1, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=21, tagId2=0, frameStep=1, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=22, tagId2=0, frameStep=1, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=23, tagId2=0, frameStep=1, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=24, tagId2=0, frameStep=1, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=25, tagId2=0, frameStep=1, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=26, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=27, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=28, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=29, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=30, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=31, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=32, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=33, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=34, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=35, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=36, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=37, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=38, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=39, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=40, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=41, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=42, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=43, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=44, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=45, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=46, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=47, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=48, tagId2=0, frameStep=300, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=49, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=50, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=51, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=52, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=53, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=54, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=55, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=56, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=57, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=58, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=59, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=60, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=61, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=62, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=63, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=64, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=65, tagId2=0, frameStep=1, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=66, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=67, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=68, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=69, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=70, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=71, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=72, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=73, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=74, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=75, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=76, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=77, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=78, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=79, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=80, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=81, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=82, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=83, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=84, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=85, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=86, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=87, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=88, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=89, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=90, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=91, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=92, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=93, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=94, tagId2=0, frameStep=300, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=95, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=96, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=97, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=98, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=99, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=100, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=101, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=102, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=103, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=104, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) f = ffi.new('SLATagDataRate_t', {reserved1=0, reserved2=0, mode=0, tagId1=105, tagId2=0, frameStep=0, displayId=128}) C.SLATagDataRate(c, f, Out, 7) -- Net Display #0 f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=2, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=3, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=4, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=5, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=6, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=7, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=8, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=9, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=10, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=11, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=12, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=13, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=14, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=15, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=16, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=17, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=18, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=19, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=20, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=21, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=22, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=23, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=24, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=25, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=26, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=27, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=28, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=29, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=30, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=31, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=32, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=33, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=34, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=35, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=36, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=37, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=38, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=39, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=40, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=41, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=42, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=43, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=44, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=45, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=46, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=47, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=48, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=49, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=50, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=51, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=52, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=53, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=54, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=55, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=56, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=57, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=58, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=59, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=60, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=61, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=62, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=63, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=64, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=65, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=66, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=67, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=68, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=69, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=70, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=71, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=72, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=73, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=74, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=75, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=76, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=77, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=78, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=79, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=80, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=81, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=82, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=83, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=84, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=85, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=86, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=87, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=88, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=89, tagId2=0, selector=4, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=90, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=91, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=92, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=93, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=94, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=95, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=96, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=97, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=98, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=99, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=100, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=101, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=102, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=103, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=104, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=105, tagId2=0, selector=1, displayId=2}) C.SLATagSourceSelector(c, f, Out, 7) -- Net Display #1 f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=2, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=3, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=4, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=5, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=6, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=7, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=8, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=9, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=10, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=11, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=12, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=13, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=14, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=15, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=16, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=17, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=18, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=19, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=20, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=21, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=22, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=23, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=24, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=25, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=26, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=27, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=28, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=29, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=30, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=31, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=32, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=33, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=34, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=35, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=36, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=37, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=38, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=39, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=40, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=41, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=42, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=43, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=44, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=45, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=46, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=47, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=48, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=49, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=50, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=51, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=52, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=53, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=54, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=55, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=56, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=57, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=58, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=59, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=60, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=61, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=62, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=63, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=64, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=65, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=66, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=67, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=68, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=69, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=70, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=71, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=72, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=73, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=74, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=75, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=76, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=77, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=78, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=79, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=80, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=81, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=82, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=83, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=84, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=85, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=86, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=87, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=88, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=89, tagId2=0, selector=4, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=90, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=91, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=92, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=93, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=94, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=95, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=96, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=97, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=98, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=99, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=100, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=101, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=102, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=103, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=104, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) f = ffi.new('SLATagSourceSelector_t', {reserved1=0, reserved2=0, mode=0, tagId1=105, tagId2=0, selector=1, displayId=128}) C.SLATagSourceSelector(c, f, Out, 7) -- Net Display #0 f = ffi.new('SLAVMTIChips_t', {mode=0, format=0, sizeType=0, sizeHint=32, maxPerFrame=1, minFramesBetween=1, reserved0=0, displayId=2}) C.SLAVMTIChips(c, f, Out, 8) -- Net Display #1 f = ffi.new('SLAVMTIChips_t', {mode=0, format=0, sizeType=0, sizeHint=32, maxPerFrame=1, minFramesBetween=1, reserved0=0, displayId=128}) C.SLAVMTIChips(c, f, Out, 8) end function myErrorHandler(err) print("WRN:", err) local s = ffi.new("SVPEndString_t") s.str = err f = ffi.new("SLAUserWarningMessage_t") f.warnLevel = 3 f.str = s if Ctx then C.SLAUserWarningMessage(Ctx, f, Out, 2) end end function SLFuncList(fl, c) for k,f in ipairs(fl) do xpcall(f, myErrorHandler, c) end end function SLLoadConfig(c) local fl = {SystemValue, Camera, Display, Ports, Nuc, ExternalProgram} SLFuncList(fl, c) end function SLLoadSystem(c) Init(c) SLLoadConfig(c) end function SLLoadVT(c) local fl = {VideoTrack, UserPalette, CameraSwitch, KlvTag} SLFuncList(fl, c) end function SLLoadJob(c) SLLoadConfig(c) SLLoadVT(c) end function SLLoad(c) SLLoadSystem(c) SLLoadVT(c) end