{"mode":"Blocks","workspace":"<xml xmlns=\"http://www.w3.org/1999/xhtml\"><variables><variable type=\"\" id=\"_2.^beQjx|FGt38A,8(E\" islocal=\"false\" iscloud=\"false\" arraylength=\"0\" arraywidth=\"0\">myVariable</variable><variable type=\"boolean\" id=\"lEPI}-w|2FDbDRA^/5O$\" islocal=\"false\" iscloud=\"false\" arraylength=\"0\" arraywidth=\"0\">buttonPressed</variable></variables><block type=\"iq_events_when_controller_button\" id=\"aQ#S/[yV.b9.Iqu+dW(F\" x=\"370\" y=\"50\"><field name=\"BUTTON\">ButtonFUp</field><field name=\"EVENTTYPE\">pressed</field><next><block type=\"iq_control_if_then_else\" id=\".O(Q?T!hZ0H:O_mR=:6R\"><value name=\"CONDITION\"><block type=\"iq_variables_boolean_variable\" id=\"BS`]Zo=H}A=Qc8ksWKL9\"><field name=\"VARIABLE\" id=\"lEPI}-w|2FDbDRA^/5O$\" variabletype=\"boolean\">buttonPressed</field></block></value><statement name=\"SUBSTACK\"><block type=\"iq_motion_stop_driving\" id=\"tsEDrXj_cI5e7upjAr]j\"><next><block type=\"iq_variables_set_boolean_variable\" id=\"SOMAi+;$9HxdUr)f^ysE\"><field name=\"VARIABLE\" id=\"lEPI}-w|2FDbDRA^/5O$\" variabletype=\"boolean\">buttonPressed</field><value name=\"VALUE\"><shadow type=\"bool_input\" id=\"S^X|W:v9XXNM(oI4t}T/\"><field name=\"VALUE\">false</field></shadow></value></block></next></block></statement><statement name=\"SUBSTACK2\"><block type=\"iq_drivetrain_drive\" id=\"+6P(R#+T-`u|=ZUx=4$D\"><field name=\"DIRECTION\">fwd</field><next><block type=\"iq_variables_set_boolean_variable\" id=\".T{1-mF~mjcjR)iR:ps!\"><field name=\"VARIABLE\" id=\"lEPI}-w|2FDbDRA^/5O$\" variabletype=\"boolean\">buttonPressed</field><value name=\"VALUE\"><shadow type=\"bool_input\" id=\"H^HlKA,m!jeFq$6(wER@\"><field name=\"VALUE\">true</field></shadow></value></block></next></block></statement></block></next></block><block type=\"iq_events_when_started\" id=\".NsXwU_L.OuU1l7Sho$F\" x=\"-10\" y=\"71\"><next><block type=\"iq_variables_set_boolean_variable\" id=\"=6_w)}SAwb$UAwDxn~oD\"><field name=\"VARIABLE\" id=\"lEPI}-w|2FDbDRA^/5O$\" variabletype=\"boolean\">buttonPressed</field><value name=\"VALUE\"><shadow type=\"bool_input\" id=\"dmU{GkWkcB!|M[:ssy$F\"><field name=\"VALUE\">false</field></shadow></value><next><block type=\"iq_motion_stop_driving\" id=\"floC;RYG:-#IH1!KfX^2\"></block></next></block></next></block></xml>","rconfig":[{"port":[1,6],"name":"Drivetrain","customName":false,"deviceType":"Drivetrain","deviceClass":"smartdrive","setting":{"type":"2-motor","wheelSize":"200mm","gearRatio":"1:1","direction":"fwd","gyroType":"integrated","width":"173","unit":"mm","wheelbase":"76","wheelbaseUnit":"mm","xOffset":"0","yOffset":"0","thetaOffset":"0"},"triportSourcePort":22},{"port":[10],"name":"Bumper10","customName":false,"deviceType":"Bumper","deviceClass":"bumper","setting":{},"triportSourcePort":22},{"port":[8],"name":"TouchLED8","customName":false,"deviceType":"TouchLED","deviceClass":"touchled","setting":{},"triportSourcePort":22},{"port":[],"name":"Controller","customName":false,"deviceType":"Controller","deviceClass":"controller","setting":{"left":"","leftDir":"false","right":"","rightDir":"false","e":"","eDir":"false","f":"","fDir":"false","l3r3":"","l3r3Dir":"false","drive":"none"},"triportSourcePort":22}],"slot":2,"platform":"IQ","sdkVersion":"20220726.10.00.00","appVersion":"2.4.5","minVersion":"2.4.0","fileFormat":"1.2.0","icon":"","targetBrainGen":"Second","cppStatus":"true","cpp":"// Make sure all required headers are included.\n#include <stdio.h>\n#include <stdlib.h>\n#include <stdbool.h>\n#include <math.h>\n#include <string.h>\n\n\n#include \"vex.h\"\n\nusing namespace vex;\n\n// Brain should be defined by default\nbrain Brain;\n\n\n// START IQ MACROS\n#define waitUntil(condition)                                                   \\\n  do {                                                                         \\\n    wait(5, msec);                                                             \\\n  } while (!(condition))\n\n#define repeat(iterations)                                                     \\\n  for (int iterator = 0; iterator < iterations; iterator++)\n// END IQ MACROS\n\n\n// Robot configuration code.\ninertial BrainInertial = inertial();\nmotor LeftDriveSmart = motor(PORT1, 1, false);\nmotor RightDriveSmart = motor(PORT6, 1, true);\n\nsmartdrive Drivetrain = smartdrive(LeftDriveSmart, RightDriveSmart, BrainInertial, 200);\n\nbumper Bumper10 = bumper(PORT10);\ntouchled TouchLED8 = touchled(PORT8);\ncontroller Controller = controller();\n\nvoid calibrateDrivetrain() {\n  wait(200, msec);\n  Brain.Screen.print(\"Calibrating\");\n  Brain.Screen.newLine();\n  Brain.Screen.print(\"Inertial\");\n  BrainInertial.calibrate();\n  while (BrainInertial.isCalibrating()) {\n    wait(25, msec);\n  }\n\n  // Clears the screen and returns the cursor to row 1, column 1.\n  Brain.Screen.clearScreen();\n  Brain.Screen.setCursor(1, 1);\n}\n\n// Generated code.\n\n\n\n// define variable for remote controller enable/disable\nbool RemoteControlCodeEnabled = true;\n\n\n\n// Include the IQ Library\n#include \"vex.h\"\n  \n// Allows for easier use of the VEX Library\nusing namespace vex;\n\nfloat myVariable;\n\nbool buttonPressed;\n\n// \"when Controller ButtonFUp pressed\" hat block\nvoid onevent_ControllerButtonFUp_pressed_0() {\n  if (buttonPressed) {\n    Drivetrain.stop();\n    buttonPressed = false;\n  }\n  else {\n    Drivetrain.drive(forward);\n    buttonPressed = true;\n  }\n}\n\n// \"when started\" hat block\nint whenStarted1() {\n  buttonPressed = false;\n  Drivetrain.stop();\n  return 0;\n}\n\n\nint main() {\n  // Calibrate the Drivetrain Gyro\n  calibrateDrivetrain();\n\n  // register event handlers\n  Controller.ButtonFUp.pressed(onevent_ControllerButtonFUp_pressed_0);\n\n  wait(15, msec);\n  whenStarted1();\n}","target":"Physical"}