<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="!i-2,%EEFm#4DA;@Y6N1">CPR</variable>
<variable id="=h[PV+?@q+02+uQbT:Z;">diameter</variable>
<variable id="Jr?#kY#G1/.0zw2iIx[t">circumference</variable>
<variable id="5KSqhm6%$gt?0[Mc!I]F">position</variable>
<variable id="*o_X%gv)uTDG9kc^``Y,">revolutions</variable>
<variable id=")4Fe^RcWINgSuZdMWOM}">angle</variable>
<variable id="JjI]ctX;Y5/S,f]w`DxW">angleNormalized</variable>
<variable id="Bs_c7)2N+N.-Nu{:/fpQ">distance</variable>
</variables>
<block type="procedures_defnoreturn" id="WtpyD@tEu+EoY=P9iY,D" deletable="false" x="50" y="50">
<field name="NAME">runOpMode</field>
<comment pinned="false" h="45" w="532">This function is executed when this Op Mode is selected from the Driver Station.</comment>
<statement name="STACK">
<block type="linearOpMode_waitForStart" id=":`$wN_ci`O;o6P0~.(+g">
<next>
<block type="controls_if" id="}Q?5mbxSO8Di;i!__6[y">
<value name="IF0">
<block type="linearOpMode_opModeIsActive" id=")o%YFX/#9kvv^sgXr4~5"/>
</value>
<statement name="DO0">
<block type="dcMotor_setProperty_RunMode" id="1|iH*VXes7@mQ=J|7fMZ">
<field name="IDENTIFIER">ArmMotorAsDcMotor</field>
<field name="PROP">Mode</field>
<data>{"IDENTIFIER":"Arm Motor"}</data>
<value name="VALUE">
<shadow type="dcMotor_typedEnum_runMode" id="8{oUZ{wAS#l;au[!?t^8">
<field name="RUN_MODE">STOP_AND_RESET_ENCODER</field>
</shadow>
</value>
<next>
<block type="dcMotor_setProperty_RunMode" id="*x:L|f|LXRU~$*{!QRr~">
<field name="IDENTIFIER">ArmMotorAsDcMotor</field>
<field name="PROP">Mode</field>
<data>{"IDENTIFIER":"Arm Motor"}</data>
<value name="VALUE">
<shadow type="dcMotor_typedEnum_runMode" id="HBv]ej;xbop5~K;jg+Qi">
<field name="RUN_MODE">RUN_WITHOUT_ENCODER</field>
</shadow>
</value>
<next>
<block type="controls_whileUntil" id="^0Kagy/e+Ea{rbZPv2G6">
<field name="MODE">WHILE</field>
<value name="BOOL">
<block type="linearOpMode_opModeIsActive" id="e)cr{!2VIET83s,JWC.="/>
</value>
<statement name="DO">
<block type="comment" id="[AUvhg;y]7)?wzHZxVeG">
<field name="COMMENT">Your Counts Per Revolution Here</field>
<next>
<block type="variables_set" id="_TKW_.91;=FxHz{Z8+]2">
<field name="VAR" id="!i-2,%EEFm#4DA;@Y6N1">CPR</field>
<value name="VALUE">
<block type="math_number" id="Ur)_0ncZIxuDhG{_IWXo">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="comment" id="jljo:y=]|+Hxsk=cGyqT">
<field name="COMMENT">Replace with your wheel/spool's diameter</field>
<next>
<block type="variables_set" id="VA#zM)mbiWELptc7@:)+">
<field name="VAR" id="=h[PV+?@q+02+uQbT:Z;">diameter</field>
<value name="VALUE">
<block type="math_number" id="Pu7Lg~?aJD_lcA)Hg)Uo">
<field name="NUM">1</field>
</block>
</value>
<next>
<block type="variables_set" id="4^!#)`Z]~5Y76EwboAjz">
<field name="VAR" id="Jr?#kY#G1/.0zw2iIx[t">circumference</field>
<value name="VALUE">
<block type="math_arithmetic" id="1)p=NU8E.T*iuU.P:u4e">
<field name="OP">MULTIPLY</field>
<value name="A">
<shadow type="math_number" id="%mJdZv~^z-XkD2j60QrI">
<field name="NUM">1</field>
</shadow>
<block type="math_constant" id="xM/666`]LUj1srA%0R(I">
<field name="CONSTANT">PI</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="%4+m?BxcCTJo-_WD8do^">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id="8xqZD3.)uuw6d`}XjNnA">
<field name="VAR" id="=h[PV+?@q+02+uQbT:Z;">diameter</field>
</block>
</value>
</block>
</value>
<next>
<block type="comment" id="Yld/@9xO%z}mVNK4$$5;">
<field name="COMMENT">Get the current position of the motor</field>
<next>
<block type="variables_set" id=":Rbc)wW;VF%B~0z:y=2R">
<field name="VAR" id="5KSqhm6%$gt?0[Mc!I]F">position</field>
<value name="VALUE">
<block type="dcMotor_getProperty_Number" id="xjS[:0x.u~-Z6w:L4+_6">
<field name="IDENTIFIER">ArmMotorAsDcMotor</field>
<field name="PROP">CurrentPosition</field>
<data>{"IDENTIFIER":"Arm Motor"}</data>
</block>
</value>
<next>
<block type="variables_set" id="z(=hS^1/./3Ty|mKr$79">
<field name="VAR" id="*o_X%gv)uTDG9kc^``Y,">revolutions</field>
<value name="VALUE">
<block type="math_arithmetic" id="CMr{UV,*Q=@))A4szEe?">
<field name="OP">DIVIDE</field>
<value name="A">
<shadow type="math_number" id="MgL$M+v9~0#~CRWVv+9Z">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id="Mjn1m/m*}c5NFKfqV+]h">
<field name="VAR" id="5KSqhm6%$gt?0[Mc!I]F">position</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="DSZ^AJ`9Gg98TdSuRd|A">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id="{n2gZ:+++;:Dxks2pa:@">
<field name="VAR" id="!i-2,%EEFm#4DA;@Y6N1">CPR</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="9J.mop+3oRy;IIB?F~R;">
<field name="VAR" id=")4Fe^RcWINgSuZdMWOM}">angle</field>
<value name="VALUE">
<block type="math_arithmetic" id="[uOZ.5n/R]6erskg4A~J">
<field name="OP">MULTIPLY</field>
<value name="A">
<shadow type="math_number" id="PZA+[QV#@$3gj;85Oi,1">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id="S7^3~+-(I^TkWP:0I79Q">
<field name="VAR" id="*o_X%gv)uTDG9kc^``Y,">revolutions</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="-KomVo//.JU^i2.e~$}d">
<field name="NUM">360</field>
</shadow>
</value>
</block>
</value>
<next>
<block type="variables_set" id="u:ME$7K-?}dN#.CL96q+">
<field name="VAR" id="JjI]ctX;Y5/S,f]w`DxW">angleNormalized</field>
<value name="VALUE">
<block type="math_modulo" id="7H[n{}Z3LnOs%=7S=w.k">
<value name="DIVIDEND">
<shadow type="math_number" id="-0p9.2+WYj:*R$oD/e}p">
<field name="NUM">64</field>
</shadow>
<block type="variables_get" id="2IH?HLDpzur.F5U4+LXQ">
<field name="VAR" id=")4Fe^RcWINgSuZdMWOM}">angle</field>
</block>
</value>
<value name="DIVISOR">
<shadow type="math_number" id="1+yUP:368EAoxDTpj,vc">
<field name="NUM">360</field>
</shadow>
</value>
</block>
</value>
<next>
<block type="variables_set" id="5J1JaDPglBMh/{X8SqQS">
<field name="VAR" id="Bs_c7)2N+N.-Nu{:/fpQ">distance</field>
<value name="VALUE">
<block type="math_arithmetic" id="F!tXbDJLE)8vj00RUJiL">
<field name="OP">MULTIPLY</field>
<value name="A">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id=";TiV05Yfr.5Kz|PIn.1{">
<field name="VAR" id="Jr?#kY#G1/.0zw2iIx[t">circumference</field>
</block>
</value>
<value name="B">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="variables_get" id="|t/8@T}6VP29gqcoyI`(">
<field name="VAR" id="*o_X%gv)uTDG9kc^``Y,">revolutions</field>
</block>
</value>
</block>
</value>
<next>
<block type="comment" id="a2WH.2S@L.5;OB0x2:c8">
<field name="COMMENT"> Show the position of the motor on telemetry</field>
<next>
<block type="telemetry_addNumericData_Number" id="e2=Q13-z%Hh]G#HN42]^">
<value name="KEY">
<shadow type="text" id="Q/sG6{:KL#k1^=,G@h=b">
<field name="TEXT">Encoder Position</field>
</shadow>
</value>
<value name="NUMBER">
<shadow type="math_number" id="{@a/i~T)f-/e+%.XO)V9">
<field name="NUM">123</field>
</shadow>
<block type="variables_get" id="Yr%:_$%kQQW/B23Cc3_U">
<field name="VAR" id="5KSqhm6%$gt?0[Mc!I]F">position</field>
</block>
</value>
<next>
<block type="telemetry_addNumericData_Number" id="7mLt0BC/L3~JjxcjK-+]">
<value name="KEY">
<shadow type="text" id="C.~I.2x?^sGr.Oi-W;88">
<field name="TEXT">Encoder Revolutions</field>
</shadow>
</value>
<value name="NUMBER">
<shadow type="math_number">
<field name="NUM">123</field>
</shadow>
<block type="variables_get" id="X)9f#C(9j?mK^PZh%ZF}">
<field name="VAR" id="*o_X%gv)uTDG9kc^``Y,">revolutions</field>
</block>
</value>
<next>
<block type="telemetry_addNumericData_Number" id="(%%mdlYq^i)#d%vKV=K*">
<value name="KEY">
<shadow type="text" id="fTblJXT@%s?_^v$_%H!7">
<field name="TEXT">Encoder Angle (Degrees)</field>
</shadow>
</value>
<value name="NUMBER">
<shadow type="math_number">
<field name="NUM">123</field>
</shadow>
<block type="variables_get" id="|PG|{-,#t#;)nHcDD{RV">
<field name="VAR" id=")4Fe^RcWINgSuZdMWOM}">angle</field>
</block>
</value>
<next>
<block type="telemetry_addNumericData_Number" id=")p6nH$#54sS=mnovE8@`">
<value name="KEY">
<shadow type="text" id="?!wDIXMI+E,9[mFkC7gq">
<field name="TEXT">Encoder Angle - Normalized (Degrees)</field>
</shadow>
</value>
<value name="NUMBER">
<shadow type="math_number">
<field name="NUM">123</field>
</shadow>
<block type="variables_get" id="c4byVFQeb]kjEtHy|F:4">
<field name="VAR" id="JjI]ctX;Y5/S,f]w`DxW">angleNormalized</field>
</block>
</value>
<next>
<block type="telemetry_addNumericData_Number" id="l;k$qWs5m}[8t#zNit}j">
<value name="KEY">
<shadow type="text" id=",=@=k]dABQM-YO6LWbRG">
<field name="TEXT">Linear Distance</field>
</shadow>
</value>
<value name="NUMBER">
<shadow type="math_number">
<field name="NUM">123</field>
</shadow>
<block type="variables_get" id="2c1|s^7Ya!*}iezd47Mt">
<field name="VAR" id="Bs_c7)2N+N.-Nu{:/fpQ">distance</field>
</block>
</value>
<next>
<block type="telemetry_update" id="2a^47r!mg,u8;OG~9Yfn"/>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</statement>
</block>
</xml>
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<Extra>
<OpModeMeta flavor="TELEOP" group="" autoTransition="" />
<Enabled value="true" />
</Extra>
