-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSnap!_with_detection.xml
1 lines (1 loc) · 23.7 KB
/
Snap!_with_detection.xml
1
<project name="Snap! with detection" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAAAiVJREFUeF7t0sEJACAAAzHdf+gKLnGfdIHCkbttxxSIClwAo/JufwEAQUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrf+QOC496obByqTwAAAABJRU5ErkJggg==</thumbnail><scenes select="1"><scene name="Snap! with detection"><notes></notes><palette><category name="Jetson" color="4,77,0,1"/></palette><hidden></hidden><headers></headers><code></code><blocks><block-definition s="save costume %'costume'" type="command" category="Jetson"><comment x="0" y="0" w="90" collapsed="false">Saves costume as a PNG

By pumpkinhead</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_costumesMenu</options></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>costume</l></list><l>if (!(costume instanceof Costume)) throw new Error("Not a Costume");

var data = costume.contents.toDataURL("image/png");

var link = document.createElement("a");
link.download = costume.name + ".png";
link.href = data;
link.click();</l></block><list><block s="reportIfElse"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block><block var="costume"/><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block s="reportGetImageAttribute"><l><option>name</option></l><l></l></block><block var="costume"/></block></autolambda><list></list></block><block s="reportGet"><l><option>costumes</option></l></block></block></block></list></block></script></block-definition><block-definition s="connect to Jetson url %'url'" type="reporter" category="Jetson"><header></header><code></code><translations></translations><inputs><input type="%s">ws://192.168.137.53:4040</input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>url</l></list><l>const socket = new WebSocket(url);

socket.addEventListener('open', function (event) {
 //socket.send('Hello Jetson, Snap! here');
});

socket.addEventListener('message', function (event) {
 socket.response = event.data;
 // console.log('Message from server ', event.data);
});
return socket;</l></block><list><block var="url"/></list></block></block></script></block-definition><block-definition s="draw detections" type="command" category="Jetson"><header></header><code></code><translations></translations><inputs></inputs><script><block s="hide"></block><block s="doDeclareVariables"><list><l>index</l><l>object</l></list></block><block s="doSetVar"><l>object</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>index</l><block var="i"/></block><block s="doChangeVar"><l>i</l><l>1</l></block><block s="doSetVar"><l>object</l><block s="reportListItem"><block var="index"/><block var="objects"/></block></block><block s="doDeclareVariables"><list><l>Top</l><l>Bottom</l><l>Left</l><l>Right</l></list></block><block s="doSetVar"><l>Top</l><block s="reportListItem"><l>3</l><block var="object"/></block></block><block s="doSetVar"><l>Bottom</l><block s="reportListItem"><l>4</l><block var="object"/></block></block><block s="doSetVar"><l>Left</l><block s="reportListItem"><l>5</l><block var="object"/></block></block><block s="doSetVar"><l>Right</l><block s="reportListItem"><l>6</l><block var="object"/></block></block><block s="doRun"><block s="reifyScript"><script><block s="setXPosition"><block var="#1"/></block><block s="setYPosition"><block var="#2"/></block><block s="down"></block><block s="setSize"><l>5</l></block><block s="setColor"><color>95,229,0,1</color></block><block s="doFor"><l>i</l><l>1</l><l>2</l><script><block s="forward"><block var="#3"/></block><block s="turn"><l>90</l></block><block s="forward"><block var="#4"/></block><block s="turn"><l>90</l></block></script></block><block s="up"></block><block s="turn"><l>45</l></block><block s="forward"><l>10</l></block><block s="setPenColorDimension"><l><option>transparency</option></l><l>70</l></block><block s="turn"><l>45</l></block><block s="forward"><l>20</l></block><block s="turnLeft"><l>90</l></block><block s="setPenColorDimension"><l><option>transparency</option></l><l>0</l></block><block s="setColor"><color>24,255,6,1</color></block><block s="write"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="object"/></block><l> </l><block s="reportRound"><block s="reportVariadicProduct"><list><l>100</l><block s="reportListItem"><l>2</l><block var="object"/></block></list></block></block><l>%</l></list></block><l>24</l></block><block s="doAddToList"><block s="reportPenTrailsAsCostume"></block><block s="reportGet"><l><option>costumes</option></l></block></block><block s="clear"></block><block s="setScale"><l>100</l></block><block s="doSwitchToCostume"><block s="reportListItem"><l>1</l><block s="reportGet"><l><option>costumes</option></l></block></block></block></script><list><l>#1</l><l>#2</l><l>#3</l><l>#4</l></list></block><list><block s="reportVariadicSum"><list><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><l>-2</l></block><block var="Left"/></list></block><block s="reportDifference"><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><l>2</l></block><block var="Top"/></block><block s="reportDifference"><block var="Right"/><block var="Left"/></block><block s="reportDifference"><block var="Bottom"/><block var="Top"/></block></list></block><block s="show"></block><block s="doWait"><l>0.1</l></block><block s="removeClone"></block></script></block-definition><block-definition s="get costume from base64 %'base64'" type="reporter" category="Jetson"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>costume</l></list></block><block s="doSetVar"><l>costume</l><block s="evaluate"><block s="reportJSFunction"><list><l>frame</l></list><l>var img = new Image(),
 cst = false;
img.onload = () => cst = new Costume(img);
img.src = frame;
return () => cst;</l></block><list><block var="base64"/></list></block></block><block s="doWaitUntil"><block s="evaluate"><block var="costume"/><list></list></block></block><block s="doReport"><block s="evaluate"><block var="costume"/><list></list></block></block></script></block-definition><block-definition s="get base64 from response %'response'" type="reporter" category="Jetson"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>data:image/jpeg;base64,</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="response"/></block></block></list></block></block></script></block-definition><block-definition s="get response from Jetson Camera %'socket'" type="reporter" category="Jetson"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doWait"><l>0.2</l></block><block s="doReport"><block s="reportTextSplit"><block s="evaluate"><block s="reportJSFunction"><list><l>socket</l></list><l>socket.send("frame");
return socket.response;</l></block><list><block var="socket"/></list></block><l><option>json</option></l></block></block></script></block-definition><block-definition s="choose %'objectName' with high confidence from %'objects'" type="reporter" category="Jetson"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>maxConfidence</l><l>choosenObject</l></list></block><block s="doSetVar"><l>maxConfidence</l><l>0</l></block><block s="doForEach"><l>item</l><block var="objects"/><script><block s="doIf"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="item"/></block><block var="objectName"/></block><script><block s="doIf"><block s="reportGreaterThan"><block s="reportListItem"><l>2</l><block var="item"/></block><block var="maxConfidence"/></block><script><block s="doSetVar"><l>maxConfidence</l><block s="reportListItem"><l>7</l><block var="item"/></block></block><block s="doSetVar"><l>choosenObject</l><block var="item"/></block></script></block></script></block></script></block><block s="doReport"><block var="choosenObject"/></block></script></block-definition><block-definition s="get objects from response %'response'" type="reporter" category="Jetson"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="response"/></block></block></block></script></block-definition><block-definition s="find left and right coordinate of object %'object'" type="reporter" category="Jetson"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>coordinate</l></list></block><block s="doSetVar"><l>coordinate</l><block s="reportNewList"><list></list></block></block><block s="doAddToList"><block s="reportVariadicSum"><list><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><l>-2</l></block><block s="reportListItem"><l>5</l><block var="object"/></block></list></block><block var="coordinate"/></block><block s="doAddToList"><block s="reportVariadicSum"><list><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><l>-2</l></block><block s="reportListItem"><l>6</l><block var="object"/></block></list></block><block var="coordinate"/></block><block s="doReport"><block var="coordinate"/></block></script></block-definition><block-definition s="get response from Jetson %'socket' %'costume'" type="reporter" category="Jetson"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>base64</l></list></block><block s="doSetVar"><l>base64</l><block s="evaluate"><block s="reportJSFunction"><list><l>object</l></list><l>return object.contents.toDataURL();</l></block><list><block var="costume"/></list></block></block><block s="doRun"><block s="reportJSFunction"><list><l>base64</l><l>socket</l></list><l>socket.send(String(base64));</l></block><list><block var="base64"/><block var="jetson"/></list></block><block s="doWait"><l>0.15</l></block><block s="doReport"><block s="reportTextSplit"><block s="evaluate"><block s="reportJSFunction"><list><l>socket</l></list><l>return socket.response;</l></block><list><block var="jetson"/></list></block><l><option>json</option></l></block></block></script></block-definition><block-definition s="switch on Jetson image %'socket' %'On'" type="command" category="Jetson"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%b">false</input></inputs><script><block s="doIfElse"><block var="On"/><script><block s="doRun"><block s="reportJSFunction"><list><l>socket</l></list><l>socket.send("sendImage");</l></block><list><block var="socket"/></list></block></script><script><block s="doRun"><block s="reportJSFunction"><list><l>socket</l></list><l>socket.send("notSendImage");</l></block><list><block var="socket"/></list></block></script></block></script></block-definition><block-definition s="response has image %'response'" type="predicate" category="Jetson"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="response"/></block><l><option>list</option></l></block></block></script></block-definition></blocks><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="494"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="495"></list></costumes><sounds><list struct="atomic" id="496"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="23.66400000000002,0,73.94999999999999,1" pen="tip" id="501"><costumes><list struct="atomic" id="502"></list></costumes><sounds><list struct="atomic" id="503"></list></sounds><blocks></blocks><variables></variables><scripts><script x="41" y="16.999999999999968"><block s="receiveGo"><comment w="90" collapsed="false">When green flag cliceked:
-start video capture -set showImage false
-connect websocket
-start data stream</comment></block><block s="doSetGlobalFlag"><l><option>video capture</option></l><l><bool>true</bool></l></block><block s="doSetVideoTransparency"><l>0</l></block><block s="doSwitchToCostume"><block s="reportGet"><l><option>stage</option></l></block></block><block s="hide"></block><block s="doSetVar"><l>showImage</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>jetsonCamera</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>jetson</l><custom-block s="connect to Jetson url %s"><l>ws://192.168.42.97:4040</l><comment w="90" collapsed="false">write down your jetson ip adress</comment></custom-block></block><block s="doWait"><l>1</l></block><block s="doBroadcast"><l>startStream</l><list></list></block></script><script x="23" y="277.00000000000006"><block s="receiveMessage"><l>startStream</l><list></list></block><block s="doUntil"><block s="reportKeyPressed"><l><option>q</option></l></block><script><block s="doIfElse"><block var="jetsonCamera"/><script><block s="doSetVar"><l>response</l><custom-block s="get response from Jetson Camera %s"><block var="jetson"/></custom-block></block></script><script><block s="doSetVar"><l>response</l><custom-block s="get response from Jetson %s %s"><block var="jetson"/><block s="reportVideo"><l><option>snap</option></l><l>Stage</l></block></custom-block></block></script></block><block s="doIfElse"><block s="reportAnd"><block var="showImage"/><custom-block s="response has image %s"><block var="response"/></custom-block></block><script><block s="doSwitchToCostume"><custom-block s="get costume from base64 %s"><custom-block s="get base64 from response %s"><block var="response"/></custom-block></custom-block></block></script><script><block s="doSetVar"><l>objects</l><custom-block s="get objects from response %s"><block var="response"/></custom-block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doForEach"><l>item</l><block var="objects"/><script><block s="createClone"><l><option>myself</option></l></block></script></block></script><comment w="90" collapsed="false">show rendered image form Jetson
else snap draws bounding box </comment></block></script></block></script><script x="414" y="9.999999999999996"><block s="receiveKey"><l><option>up arrow</option></l><list></list><comment w="90" collapsed="false">shows the rendered image from Jetson</comment></block><custom-block s="switch on Jetson image %s %b"><block var="jetson"/><l><bool>true</bool></l></custom-block><block s="doSetVar"><l>jetsonCamera</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>showImage</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="show"></block></script><script x="524" y="115.99999999999997"><block s="receiveKey"><l><option>down arrow</option></l><list></list><comment w="90" collapsed="false">snap creates bounding box</comment></block><custom-block s="switch on Jetson image %s %b"><block var="jetson"/><l><bool>false</bool></l></custom-block><block s="hide"></block><block s="doSwitchToCostume"><block s="reportGet"><l><option>stage</option></l></block></block><block s="doSetVar"><l>showImage</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>jetsonCamera</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script x="518" y="275.99999999999994"><block s="receiveKey"><l><option>j</option></l><list></list><comment w="90" collapsed="false">show image from Jetson camera</comment></block><custom-block s="switch on Jetson image %s %b"><block var="jetson"/><l><bool>true</bool></l></custom-block><block s="doSetVar"><l>showImage</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>jetsonCamera</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="show"></block></script><script x="503" y="563.0000000000005"><block s="receiveOnClone"></block><custom-block s="draw detections"></custom-block></script></scripts></sprite><watcher var="jetson" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="i" style="normal" x="10" y="106.00000399999999" color="243,118,29" hidden="true"/><watcher var="objects" style="normal" x="10" y="127.00000599999998" color="243,118,29" hidden="true"/><watcher var="showImage" style="normal" x="10" y="185.00000799999998" color="243,118,29" hidden="true"/><watcher var="response" style="normal" x="37" y="59.000001999999995" color="243,118,29" hidden="true"/><watcher var="jetsonCamera" style="normal" x="10" y="209.00000999999997" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="jetson"><l>0</l></variable><variable name="response"><list id="668"><item><list id="669"><item><l>detections</l></item><item><list id="670"><item><list struct="atomic" id="671">person,0.87353515625,16,359,0,447</list></item></list></item></list></item></list></variable><variable name="i"><l>2</l></variable><variable name="objects"><ref id="670"></ref></variable><variable name="showImage"><bool>false</bool></variable><variable name="jetsonCamera"><bool>false</bool></variable></variables></scene></scenes></project>