[{"data":1,"prerenderedAt":400},["ShallowReactive",2],{"docs-navigation":3,"docs-\u002Fdocs\u002Fcamera\u002Fconnections\u002Fdemo-and-diagnostics":146,"docs-\u002Fdocs\u002Fcamera\u002Fconnections\u002Fdemo-and-diagnostics-surround":395},[4],{"title":5,"path":6,"stem":7,"children":8},"Docs","\u002Fdocs","docs",[9,12,80,124],{"title":10,"path":6,"stem":11},"Overview","docs\u002Findex",{"title":13,"path":14,"stem":15,"children":16},"Camera app","\u002Fdocs\u002Fcamera","docs\u002F1.camera\u002Findex",[17,18,22,26,48,52,56,60,64,68,72,76],{"title":10,"path":14,"stem":15},{"title":19,"path":20,"stem":21},"Requirements","\u002Fdocs\u002Fcamera\u002Frequirements","docs\u002F1.camera\u002F01.requirements",{"title":23,"path":24,"stem":25},"Install","\u002Fdocs\u002Fcamera\u002Finstall","docs\u002F1.camera\u002F02.install",{"title":27,"path":28,"stem":29,"children":30},"Connections","\u002Fdocs\u002Fcamera\u002Fconnections","docs\u002F1.camera\u002F03.connections\u002Findex",[31,32,36,40,44],{"title":27,"path":28,"stem":29},{"title":33,"path":34,"stem":35},"Allen-Bradley","\u002Fdocs\u002Fcamera\u002Fconnections\u002Fallen-bradley","docs\u002F1.camera\u002F03.connections\u002F1.allen-bradley",{"title":37,"path":38,"stem":39},"ABB robot","\u002Fdocs\u002Fcamera\u002Fconnections\u002Fabb-robot","docs\u002F1.camera\u002F03.connections\u002F2.abb-robot",{"title":41,"path":42,"stem":43},"Camera events","\u002Fdocs\u002Fcamera\u002Fconnections\u002Fcamera-events","docs\u002F1.camera\u002F03.connections\u002F3.camera-events",{"title":45,"path":46,"stem":47},"Demo and diagnostics","\u002Fdocs\u002Fcamera\u002Fconnections\u002Fdemo-and-diagnostics","docs\u002F1.camera\u002F03.connections\u002F4.demo-and-diagnostics",{"title":49,"path":50,"stem":51},"Tags","\u002Fdocs\u002Fcamera\u002Ftags","docs\u002F1.camera\u002F04.tags",{"title":53,"path":54,"stem":55},"Overlay","\u002Fdocs\u002Fcamera\u002Foverlay","docs\u002F1.camera\u002F05.overlay",{"title":57,"path":58,"stem":59},"History and charts","\u002Fdocs\u002Fcamera\u002Fhistory-and-charts","docs\u002F1.camera\u002F06.history-and-charts",{"title":61,"path":62,"stem":63},"DataBorder","\u002Fdocs\u002Fcamera\u002Fdataborder","docs\u002F1.camera\u002F07.databorder",{"title":65,"path":66,"stem":67},"Recording","\u002Fdocs\u002Fcamera\u002Frecording","docs\u002F1.camera\u002F08.recording",{"title":69,"path":70,"stem":71},"Performance","\u002Fdocs\u002Fcamera\u002Fperformance","docs\u002F1.camera\u002F09.performance",{"title":73,"path":74,"stem":75},"Status and troubleshooting","\u002Fdocs\u002Fcamera\u002Fstatus-and-troubleshooting","docs\u002F1.camera\u002F10.status-and-troubleshooting",{"title":77,"path":78,"stem":79},"Export and import","\u002Fdocs\u002Fcamera\u002Fexport-import","docs\u002F1.camera\u002F11.export-import",{"title":81,"path":82,"stem":83,"children":84},"Decoder","\u002Fdocs\u002Fdecoder","docs\u002F2.decoder\u002Findex",[85,86,89,93,96,100,104,108,112,116,120],{"title":10,"path":82,"stem":83},{"title":23,"path":87,"stem":88},"\u002Fdocs\u002Fdecoder\u002Finstall","docs\u002F2.decoder\u002F01.install",{"title":90,"path":91,"stem":92},"Clips","\u002Fdocs\u002Fdecoder\u002Fopen-clips","docs\u002F2.decoder\u002F02.open-clips",{"title":65,"path":94,"stem":95},"\u002Fdocs\u002Fdecoder\u002Frecord","docs\u002F2.decoder\u002F03.record",{"title":97,"path":98,"stem":99},"Live","\u002Fdocs\u002Fdecoder\u002Flive","docs\u002F2.decoder\u002F04.live",{"title":101,"path":102,"stem":103},"Timeline","\u002Fdocs\u002Fdecoder\u002Ftimeline","docs\u002F2.decoder\u002F05.timeline",{"title":105,"path":106,"stem":107},"Decoded data","\u002Fdocs\u002Fdecoder\u002Fdecoded-data","docs\u002F2.decoder\u002F06.decoded-data",{"title":109,"path":110,"stem":111},"Signal view","\u002Fdocs\u002Fdecoder\u002Fsignal-view","docs\u002F2.decoder\u002F07.signal-view",{"title":113,"path":114,"stem":115},"Extracting clips","\u002Fdocs\u002Fdecoder\u002Fclips","docs\u002F2.decoder\u002F08.clips",{"title":117,"path":118,"stem":119},"Verification","\u002Fdocs\u002Fdecoder\u002Fverify","docs\u002F2.decoder\u002F09.verify",{"title":121,"path":122,"stem":123},"Troubleshooting","\u002Fdocs\u002Fdecoder\u002Ftroubleshooting","docs\u002F2.decoder\u002F10.troubleshooting",{"title":125,"path":126,"stem":127,"children":128,"page":145},"Reference","\u002Fdocs\u002Freference","docs\u002F3.reference",[129,133,137,141],{"title":130,"path":131,"stem":132},"Configuration settings","\u002Fdocs\u002Freference\u002Fconfiguration","docs\u002F3.reference\u002F1.configuration",{"title":134,"path":135,"stem":136},"Compatibility","\u002Fdocs\u002Freference\u002Fcompatibility","docs\u002F3.reference\u002F2.compatibility",{"title":138,"path":139,"stem":140},"Release notes","\u002Fdocs\u002Freference\u002Frelease-notes","docs\u002F3.reference\u002F3.release-notes",{"title":142,"path":143,"stem":144},"Glossary","\u002Fdocs\u002Freference\u002Fglossary","docs\u002F3.reference\u002F4.glossary",false,{"id":147,"title":45,"body":148,"description":388,"extension":389,"meta":390,"navigation":391,"path":46,"seo":392,"source":393,"stem":47,"__hash__":394},"docs\u002Fdocs\u002F1.camera\u002F03.connections\u002F4.demo-and-diagnostics.md",{"type":149,"value":150,"toc":381},"minimark",[151,156,165,180,359,362,366],[152,153,155],"h2",{"id":154},"demo-source","Demo source",[157,158,159,160,164],"p",{},"To build a layout before the controller is available, or to show RAVidEn on a bench, add a connection with the source ",[161,162,163],"strong",{},"Demo (simulated signals)",". It needs no network and produces machine-like signals.",[157,166,167,168,171,172,175,176,179],{},"Open ",[161,169,170],{},"Tag library"," and choose ",[161,173,174],{},"Catalog"," next to the connection to add signals, or choose ",[161,177,178],{},"Add tag"," and write the address as a generator name followed by its parameters.",[181,182,183,199],"table",{},[184,185,186],"thead",{},[187,188,189,193,196],"tr",{},[190,191,192],"th",{},"Address",[190,194,195],{},"Type",[190,197,198],{},"Produces",[200,201,202,221,233,245,262,278,290,311,331,347],"tbody",{},[187,203,204,211,214],{},[205,206,207],"td",{},[208,209,210],"code",{},"sine:period=60,min=0,max=100",[205,212,213],{},"real",[205,215,216,217,220],{},"A sine wave. A ",[208,218,219],{},"noise"," parameter adds random jitter of that size.",[187,222,223,228,230],{},[205,224,225],{},[208,226,227],{},"triangle:period=120,min=0,max=100",[205,229,213],{},[205,231,232],{},"A triangle wave.",[187,234,235,240,242],{},[205,236,237],{},[208,238,239],{},"sawtooth:period=90,min=0,max=100",[205,241,213],{},[205,243,244],{},"A ramp that resets at the end of each period.",[187,246,247,252,255],{},[205,248,249],{},[208,250,251],{},"square:period=30,low=0,high=1",[205,253,254],{},"bool",[205,256,257,258,261],{},"A toggling bit. ",[208,259,260],{},"duty"," sets the share of the period spent high, 0.5 by default.",[187,263,264,269,271],{},[205,265,266],{},[208,267,268],{},"walk:min=0,max=100,step=2,start=50",[205,270,213],{},[205,272,273,274,277],{},"A random walk that moves by up to ",[208,275,276],{},"step"," on each poll.",[187,279,280,285,287],{},[205,281,282],{},[208,283,284],{},"random:min=0,max=100",[205,286,213],{},[205,288,289],{},"A uniform random value on each poll.",[187,291,292,297,300],{},[205,293,294],{},[208,295,296],{},"counter:rate=1,start=0,wrap=0",[205,298,299],{},"dint",[205,301,302,303,306,307,310],{},"A counter that rises by ",[208,304,305],{},"rate"," per second. ",[208,308,309],{},"wrap"," restarts it at that value; 0 never wraps.",[187,312,313,318,320],{},[205,314,315],{},[208,316,317],{},"state:states=4,dwell=20",[205,319,299],{},[205,321,322,323,326,327,330],{},"A state machine over the values 0 to ",[208,324,325],{},"states"," minus 1. It changes about every ",[208,328,329],{},"dwell"," seconds and returns to 0 most of the time.",[187,332,333,338,341],{},[205,334,335],{},[208,336,337],{},"text:values=IDLE|RUN|LOAD|FAULT,dwell=15",[205,339,340],{},"string",[205,342,343,344,346],{},"Text that cycles through the list, ",[208,345,329],{}," seconds each.",[187,348,349,354,356],{},[205,350,351],{},[208,352,353],{},"const:value=42",[205,355,299],{},[205,357,358],{},"A constant.",[157,360,361],{},"Demo tags behave like any other tags. They can be charted, they can be state tags with maps, and they ride in the DataBorder. When the real controller arrives, replace the demo connection with the real one and rebind the tags.",[152,363,365],{"id":364},"diagnostics-source","Diagnostics source",[157,367,368,369,372,373,375,376,380],{},"Add a connection with the source ",[161,370,371],{},"Diagnostics (camera \u002F app)"," to read the camera's CPU, memory and temperature, and the application's counters, as tags. Choose ",[161,374,174],{}," next to the connection for the tag list. The tag list and how to read it are on the ",[377,378,69],"a",{"href":379},"\u002Fdocs\u002Fcamera\u002Fperformance#performance-tags"," page.",{"title":382,"searchDepth":383,"depth":383,"links":384},"",3,[385,387],{"id":154,"depth":386,"text":155},2,{"id":364,"depth":386,"text":365},"Building layouts without a controller, and reading the camera's own health.","md",{},true,{"title":45,"description":388},null,"CKsPZ7K60Uou-2i9SSKTwjhr4fa0uQps0tIR0RVRRUE",[396,398],{"title":41,"path":42,"stem":43,"description":397,"children":-1},"Person and motion detection from within the camera.",{"title":49,"path":50,"stem":51,"description":399,"children":-1},"Choosing and configuring tag data.",1788953752383]