diff --git a/dev/Resources/Applications/git.html b/dev/Resources/Applications/git.html index be2e830..0efcc30 100644 --- a/dev/Resources/Applications/git.html +++ b/dev/Resources/Applications/git.html @@ -364,11 +364,23 @@

Switching branches

+ +

Checkout to

+

Merging

diff --git a/dev/_images/vsc_checkout.png b/dev/_images/vsc_checkout.png new file mode 100644 index 0000000..8a7c302 Binary files /dev/null and b/dev/_images/vsc_checkout.png differ diff --git a/dev/_sources/Resources/Applications/git.md.txt b/dev/_sources/Resources/Applications/git.md.txt index 7d48731..41b83ac 100644 --- a/dev/_sources/Resources/Applications/git.md.txt +++ b/dev/_sources/Resources/Applications/git.md.txt @@ -21,16 +21,16 @@ This is a short cheatsheet on VSCode source control usage. Feel free to use Git * Cloning is downloading a repository * First, click on green Code button and copy the HTTPS link -![Copying HTTPS link](./git_clone.png "Copying HTTPS link") +![Copying HTTPS link](./images/git_clone.png "Copying HTTPS link") * Second, go to VSCode source control tab and click clone -![Cloning](./vsc_clone.png "Cloning") +![Cloning](./images/vsc_clone.png "Cloning") * Paste your link and press enter * Select a folder to save the project in -![Pasting](./vsc_paste.png "Pasting") +![Pasting](./images/vsc_paste.png "Pasting") * Open the same folder next time to open the project * Please don't clone the repo every time you want to work on it! @@ -49,14 +49,25 @@ This is a short cheatsheet on VSCode source control usage. Feel free to use Git * You can click VSCode's blue "sync" button, which will push and pull at the same time * Otherwise, you can click on additional actions and click push or pull -![Push/pull actions](./vsc_push_pull.png "Push/pull actions") +![Push/pull actions](./images/vsc_push_pull.png "Push/pull actions") ## Switching branches -* To check which branch you are on, view the message input bar +* To check which branch you are on, view the message input bar -![Checking branch](./vsc_branch.png "Checking branch") +![Checking branch](./images/vsc_branch.png "Checking branch") + +* Click on addional actions and click "checkout to" + +![Checkout to](./images/vsc_checkout.png "Checkout to") + +* Select or create your branch +* Any branches starting with `origin/` will automatically pull from Github ## Merging -* \ No newline at end of file +* Go to the same additional actions menu and select Branch > Merge +* Select which branches to merge from and to +* Always remember to notify other programming members before merging to avoid conflicts +* If a merge is a particularly big change, use [pull requests](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) instead +* Try to avoid merge conflicts by only working on specific files in one branch \ No newline at end of file diff --git a/dev/searchindex.js b/dev/searchindex.js index 7b2a7b3..8d3b70f 100644 --- a/dev/searchindex.js +++ b/dev/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["PreseasonTraining/2024CodeOverview/Setup", "PreseasonTraining/2024CodeOverview/index", "PreseasonTraining/2_OpenCV_ColorSegmentation/Tutorial", "PreseasonTraining/2_OpenCV_ColorSegmentation/index", "PreseasonTraining/3_JavaBasics/index", "PreseasonTraining/4_TankDriveSimulation/Tutorial", "PreseasonTraining/4_TankDriveSimulation/index", "PreseasonTraining/5_AutonomousSimulation/Tutorial", "PreseasonTraining/5_AutonomousSimulation/index", "PreseasonTraining/6_ArmSimulation/Tutorial", "PreseasonTraining/6_ArmSimulation/index", "PreseasonTraining/7_Mock/index", "PreseasonTraining/8_2024CodeOverview/index", "PreseasonTraining/LEDProgramming/index", "PreseasonTraining/OpenCV_ColorSegmentation/index", "PreseasonTraining/Overview/index", "PreseasonTraining/index", "Resources/Applications/git", "Resources/Applications/index", "Resources/Coprocessors/index", "Resources/CppProgramming/index", "Resources/JavaProgramming/index", "Resources/JavaProgramming/installation", "Resources/Linux/index", "Resources/RobotDesign/index", "Resources/StyleGuide", "Resources/index", "TeamHistory/index", "TitanAlgorithms/index", "TitanDashboard/index", "TitanProcessing/AprilTags/index", "TitanProcessing/Calibration/index", "TitanProcessing/Installation/index", "TitanProcessing/Localization/index", "TitanProcessing/Networking/index", "TitanProcessing/index", "index"], "filenames": ["PreseasonTraining/2024CodeOverview/Setup.md", "PreseasonTraining/2024CodeOverview/index.md", "PreseasonTraining/2_OpenCV_ColorSegmentation/Tutorial.md", "PreseasonTraining/2_OpenCV_ColorSegmentation/index.md", "PreseasonTraining/3_JavaBasics/index.md", "PreseasonTraining/4_TankDriveSimulation/Tutorial.md", "PreseasonTraining/4_TankDriveSimulation/index.md", "PreseasonTraining/5_AutonomousSimulation/Tutorial.md", "PreseasonTraining/5_AutonomousSimulation/index.md", "PreseasonTraining/6_ArmSimulation/Tutorial.md", "PreseasonTraining/6_ArmSimulation/index.md", "PreseasonTraining/7_Mock/index.md", "PreseasonTraining/8_2024CodeOverview/index.md", "PreseasonTraining/LEDProgramming/index.md", "PreseasonTraining/OpenCV_ColorSegmentation/index.md", "PreseasonTraining/Overview/index.md", "PreseasonTraining/index.md", "Resources/Applications/git.md", "Resources/Applications/index.md", "Resources/Coprocessors/index.md", "Resources/CppProgramming/index.md", "Resources/JavaProgramming/index.md", "Resources/JavaProgramming/installation.md", "Resources/Linux/index.md", "Resources/RobotDesign/index.md", "Resources/StyleGuide.md", "Resources/index.md", "TeamHistory/index.md", "TitanAlgorithms/index.md", "TitanDashboard/index.md", "TitanProcessing/AprilTags/index.md", "TitanProcessing/Calibration/index.md", "TitanProcessing/Installation/index.md", "TitanProcessing/Localization/index.md", "TitanProcessing/Networking/index.md", "TitanProcessing/index.md", "index.md"], "titles": ["Setting up your environment", "Lesson 8: 2024 Code overview", "Color-based segmentation in OpenCV Python: Tutorial", "Color-based segmentation in OpenCV Python", "Lesson 2: Java Basics", "Tank Drive Simulation: Tutorial", "Lesson 3: Tank Drive Simulation", "Arm Simulation: Tutorial", "Lesson 4: Autonomous Simulation", "Arm Simulation: Tutorial", "Lesson 5: Arm Simulation", "Lesson 6: Mock Season Part 1\u2014Subsystems/Commands", "Lesson 8: 2024 Code overview", "LED Programming", "Color-based segmentation in OpenCV Python", "Programming Subteam Overview", "Preseason Training", "Git", "Applications", "3 - Coprocessors", "2 - C++ Programming", "Java / roboRIO Programming", "Installation", "4 - Linux", "<no title>", "Style guide", "Resources", "Team #2022 History", "Titan Algorithms", "<no title>", "AprilTag Detection", "Calibration", "Installation", "Localization", "Networking", "Titan Processing", "Titan Robotics #2022 Documentation"], "terms": {"set": [1, 13, 21], "up": [1, 4, 13], "your": [1, 13, 17, 22, 32, 34, 35], "environ": 1, "last": [1, 12], "year": [1, 12], "everi": [1, 4, 12, 13, 17], "command": [1, 4, 12, 16, 21, 25, 32, 36], "subsystem": [1, 12, 16, 25, 36], "vision": [1, 12, 15, 35], "qna": [1, 12], "watch": [1, 12], "old": [1, 12], "match": [1, 12, 31, 32], "strategi": [1, 12, 36], "inspir": [1, 12], "todo": [2, 5, 7, 9], "figur": 2, "out": [2, 4, 22, 34], "where": 2, "we": [2, 4, 13, 15], "put": 2, "tutori": [3, 6, 8, 10, 16, 36], "what": [4, 15], "i": [4, 13, 15, 17, 22, 25, 32, 34, 35], "A": [4, 17], "jit": 4, "compil": [4, 35], "just": [4, 13], "In": [4, 13], "time": [4, 13, 15, 17, 26, 34], "languag": [4, 13], "bytecod": 4, "Then": [4, 34], "translat": 4, "machin": 4, "code": [4, 13, 15, 16, 17, 22, 25, 32, 35, 36], "target": [4, 35], "platform": [4, 17, 32], "make": [4, 13, 15, 17, 22, 31, 32, 34], "more": [4, 6, 22, 26, 34], "cross": [4, 32], "than": 4, "c": [4, 26, 32, 36], "which": [4, 13, 17, 34], "directli": 4, "static": [4, 13], "type": [4, 22, 32, 34], "variabl": [4, 13, 25], "ha": [4, 13, 15, 17, 21, 34], "e": [4, 11, 22, 25], "g": [4, 11, 22, 25], "int": [4, 13, 34], "integ": [4, 13], "number": [4, 13], "doubl": [4, 34], "decim": [4, 13], "string": 4, "text": 4, "etc": [4, 11], "lower": 4, "case": [4, 13, 25], "primit": 4, "includ": [4, 17, 22, 25, 32, 34, 35], "upper": 4, "class": [4, 25, 34], "complex": 4, "see": [4, 13, 34], "next": [4, 17, 22], "object": [4, 34], "orient": 4, "program": [4, 11, 16, 22, 26, 36], "everyth": [4, 32], "an": [4, 13, 17, 22, 35], "certain": 4, "each": [4, 13, 17, 31, 34], "can": [4, 13, 15, 17, 22, 34, 35, 36], "have": [4, 15, 17, 21, 22, 34], "function": [4, 13, 34], "There": [4, 22, 32, 36], "": [4, 13, 15, 17, 25, 32], "also": [4, 13, 31, 36], "constructor": 4, "ar": [4, 13, 17, 22, 26, 31, 32, 34, 36], "method": [4, 13, 25, 34], "run": [4, 13, 22, 32], "when": [4, 13, 22, 32], "you": [4, 13, 17, 21, 22, 34, 35, 36], "creat": [4, 13, 17, 22, 34, 35], "modifi": 4, "public": [4, 25], "privat": [4, 25], "readonli": 4, "thing": [4, 13, 17], "onli": [4, 13, 15, 32, 34], "access": [4, 13, 15, 25], "insid": [4, 17, 32], "same": [4, 17, 34], "all": [4, 13, 15, 17, 22, 31, 32, 34, 36], "instanc": [4, 13], "cant": 4, "after": [4, 13, 15, 17, 26], "creation": 4, "btw": 4, "member": [4, 22, 25], "attribut": 4, "python": [4, 13, 16, 31, 32, 36], "exampl": [4, 32, 34], "car": 4, "engin": 4, "new": [4, 13, 34], "float": [4, 13], "fuel": 4, "0": [4, 13, 31, 34], "unit": 4, "gallon": 4, "mileag": 4, "mile": 4, "The": [4, 13, 21, 22, 25, 31, 34, 35], "thi": [4, 13, 15, 17, 22, 25, 31, 34, 35], "drive": [4, 15, 16, 25, 36], "x": [4, 13, 15, 31, 32], "void": [4, 13], "drivecar": 4, "33": 4, "per": [4, 32], "add": [4, 6, 10, 22], "addfuel": 4, "main": [4, 17, 32, 35], "hondaciv": 4, "brand": 4, "zero": 4, "10": [4, 32, 34], "fill": 4, "30": 4, "drove": 4, "imsa": 4, "librari": [4, 13, 32, 34, 35], "other": [4, 31, 36], "import": [4, 5, 7, 9, 15, 25, 34], "typic": [4, 17], "written": [4, 35], "peopl": 4, "consist": [4, 25], "standard": [4, 13, 34], "wpilib": [4, 15, 21, 22, 25, 34], "us": [4, 13, 15, 17, 22, 26, 31, 32, 34, 35], "frc": [4, 15, 21, 26, 34, 36], "It": [4, 22, 31, 35], "stuff": 4, "like": [4, 15, 32], "motor": [4, 11, 15, 22], "sensor": [4, 11], "our": [4, 13, 22, 25, 32, 36], "gyroscop": 4, "manufactur": 4, "And": 4, "own": [4, 22, 32, 35], "reusabl": 4, "titan": [4, 32, 34], "algorithm": [4, 35, 36], "walkthrough": 4, "practic": 4, "inventori": 4, "manag": [4, 15, 22], "item": 4, "name": [4, 32], "quantiti": 4, "arraylist": 4, "additem": 4, "search": 4, "queri": 4, "result": [4, 13], "size": [4, 31, 32], "If": [4, 13, 22], "get": [4, 34], "contain": [4, 17, 21], "ye": 4, "n": [4, 32], "r": 4, "window": [4, 22, 32], "special": 4, "charact": 4, "line": 4, "util": [4, 11, 13, 25, 31, 34], "scanner": 4, "print": [4, 31, 32], "done": 4, "automat": [4, 17], "vscode": [4, 15, 17, 22], "inventorymanag": 4, "arg": 4, "system": [4, 32, 34], "println": [4, 34], "welcom": [4, 36], "No": 4, "space": [4, 15, 32], "find": [4, 36], "exit": 4, "leav": [4, 34], "record": 4, "user": 4, "input": [4, 17], "inputscann": 4, "while": [4, 13, 15, 31], "loop": [4, 13], "condit": [4, 13], "true": [4, 34], "boolean": 4, "isrun": 4, "userinput": 4, "nextlin": 4, "splittedcommand": 4, "split": [4, 11], "arrai": [4, 13, 34], "word": 4, "startswith": 4, "fals": [4, 13, 34], "els": [4, 13, 25, 32], "count": 4, "convert": [4, 13, 34], "newitem": 4, "1": [4, 13, 16, 32, 36], "parseint": 4, "ad": 4, "unknown": 4, "http": [5, 7, 9, 17, 22, 32], "titanrobotics2022": [5, 7, 9], "notion": [5, 7, 9], "site": [5, 7, 9], "2": [5, 11, 13, 16, 26, 32, 36], "1291dde0e33245d3aa9b26da1b6b99b4": 5, "friction": 6, "physic": 6, "talk": [6, 10], "about": [6, 10, 13, 26], "pidf": [6, 10], "usag": [6, 10, 17, 32], "3": [7, 11, 16, 26, 36], "autonom": [7, 15, 16, 36], "1717871dea664a40b1e3d33cb9062274": 7, "arm": [8, 16, 25, 36], "5": [9, 16, 34, 36], "4": [9, 16, 26, 32, 36], "91d67fab859a40968919a2f86e20ffcf": 9, "torqu": 10, "graviti": 10, "provid": [11, 13, 31], "swerv": 11, "local": [11, 17, 25, 35, 36], "measur": 11, "id": [11, 13, 32, 34], "resourc": [11, 36], "link": [11, 15, 17, 32], "group": [11, 25], "intak": 11, "index": 11, "led": [11, 16, 36], "elev": 11, "shooter": 11, "give": 11, "hint": 11, "implement": 11, "detail": 11, "some": [11, 13, 21, 36], "posit": [11, 32, 34], "math": [11, 13], "lesson": [13, 16, 36], "strip": 13, "microcontrol": 13, "arduino": 13, "uno": 13, "wokwi": 13, "onlin": [13, 17, 22], "emul": 13, "substitut": [13, 15], "real": 13, "board": [13, 32], "defin": 13, "two": [13, 15, 34], "first": [13, 17, 21, 31, 34], "onc": [13, 17], "turn": 13, "second": [13, 15, 17, 34], "repeat": 13, "infinit": 13, "For": [13, 32], "purpos": 13, "enough": [13, 34], "here": [13, 15, 17, 32, 36], "necessari": [13, 22, 31, 32, 35], "100": 13, "light": [13, 15], "displai": [13, 31], "open": [13, 17, 22], "tab": [13, 17], "fastl": 13, "control": [13, 15, 17], "sever": 13, "clear": 13, "pixel": [13, 31], "empti": 13, "state": 13, "send": [13, 22], "signal": [13, 34], "do": [13, 15, 17, 21, 22], "so": [13, 22, 25, 32, 35], "through": [13, 15, 21, 35], "show": [13, 34], "earlier": 13, "call": [13, 17, 34], "bracket": 13, "oper": [13, 35], "them": [13, 17], "chsv": 13, "hue": 13, "satur": 13, "valu": [13, 31, 32, 34], "crgb": 13, "red": 13, "green": [13, 15, 17], "blue": [13, 17], "want": [13, 17], "color": [13, 16, 31, 36], "rgb": 13, "both": [13, 22, 32], "from": [13, 17, 26, 32, 34], "255": 13, "8": [13, 16, 22, 32, 36], "one": [13, 22, 25, 34], "byte": 13, "blank": [13, 34], "updat": [13, 17, 26, 34], "anoth": [13, 34], "instead": 13, "num_l": 13, "th": 13, "But": 13, "interest": 13, "iter": 13, "calcul": 13, "sinc": [13, 25, 34, 35], "most": [13, 15, 21, 22, 35], "divis": 13, "equat": 13, "divid": 13, "progress": 13, "multipli": 13, "rang": 13, "being": 13, "go": [13, 17], "now": 13, "To": [13, 17, 32, 35], "delai": [13, 34], "millisecond": 13, "similar": [13, 22], "sleep": 13, "without": [13, 17, 32], "fast": 13, "list": [13, 17], "notabl": 13, "featur": [13, 17], "until": 13, "forev": 13, "statement": [13, 34], "thing1": 13, "thing2": 13, "funciton": 13, "1000": 13, "wait": 13, "modulo": 13, "number0": 13, "return": [13, 22, 34], "remaind": 13, "specif": [13, 22, 35], "sin": 13, "co": 13, "tan": 13, "pow": 13, "y": [13, 22, 31], "sqrt": 13, "log": [13, 22], "natur": 13, "log10": 13, "hsv": 13, "actual": 13, "support": [13, 21, 22, 34], "download": [13, 15, 17], "desktop": 13, "version": [13, 35], "project": [13, 15, 17, 22, 32, 34, 36], "connect": 13, "select": [13, 17, 22, 32], "usb": [13, 15], "port": [13, 32, 34], "under": 13, "tool": [13, 31], "click": [13, 17], "upload": [13, 17], "doe": [15, 34], "best": [15, 32], "smoothest": 15, "experi": [15, 17], "driver": 15, "reduc": 15, "amount": [15, 21], "think": 15, "wast": 15, "dure": 15, "game": [15, 34], "optim": 15, "autom": 15, "task": 15, "score": 15, "much": [15, 25], "point": 15, "15": 15, "period": 15, "good": [15, 34], "bad": 15, "robot": [15, 22, 34, 35], "perform": [15, 34], "structur": [15, 34], "file": [15, 17, 25, 31, 32, 34], "store": [15, 22], "github": [15, 17, 32], "softwar": [15, 22, 36], "bild": 15, "coprocessor": [15, 26, 34, 35, 36], "roborio": [15, 26, 34, 36], "part": [15, 16, 36], "should": [15, 22, 31, 32], "alwai": [15, 26], "plug": 15, "comput": [15, 22], "ethernet": 15, "wifi": 15, "station": 15, "press": [15, 17, 22], "enter": [15, 17, 22], "disabl": 15, "emerg": 15, "stop": 15, "restart": 15, "enabl": 15, "again": 15, "work": [15, 17, 22], "phoenix": [15, 21], "tuner": 15, "monitor": 15, "how": 15, "need": [15, 17, 22], "non": 15, "programm": [15, 21], "know": 15, "rememb": 15, "t": [15, 17, 22], "fly": 15, "hardwar": 15, "hard": 15, "di": 15, "custom": 15, "team": [15, 25, 26, 36], "pleas": [15, 17, 22, 25], "ask": 15, "u": 15, "design": [15, 36], "cheatsheet": [15, 17], "rev": 15, "client": 15, "git": [15, 18, 26, 35, 36], "linux": [15, 26, 32, 36], "homework": 15, "java": [15, 16, 26, 32, 36], "sign": 15, "subteam": [16, 36], "overview": [16, 36], "base": [16, 21, 36], "segment": [16, 36], "opencv": [16, 32, 36], "basic": [16, 21, 31, 36], "tank": [16, 36], "simul": [16, 36], "6": [16, 21, 36], "mock": [16, 36], "season": [16, 35, 36], "2024": [16, 34, 35, 36], "short": [17, 26], "sourc": [17, 26], "feel": [17, 22, 32], "free": [17, 22, 32], "cli": 17, "alreadi": [17, 22], "learn": [17, 26], "full": [17, 25, 32], "guid": [17, 26, 32, 36], "found": [17, 22, 32], "repositori": [17, 22], "host": 17, "repo": [17, 32], "master": [17, 32], "product": [17, 32, 35], "chang": [17, 31], "messag": [17, 35], "fetch": 17, "option": 17, "dublic": 17, "separ": 17, "back": [17, 22, 34], "togeth": 17, "allow": [17, 32, 34], "everyon": 17, "differ": 17, "independ": 17, "break": 17, "button": 17, "copi": [17, 22, 34], "past": [17, 22], "folder": [17, 25, 34], "save": [17, 31], "don": 17, "write": 17, "descript": 17, "step": 17, "requir": [17, 32, 35], "remov": 17, "readi": 17, "sync": 17, "otherwis": 17, "addit": 17, "action": 17, "check": [17, 26, 31], "view": 17, "bar": 17, "instal": [21, 26, 35, 36], "offici": [21, 22, 32, 34, 35, 36], "document": [21, 25, 31, 34], "regard": [21, 22], "read": 21, "entir": 21, "wiki": 21, "ahead": 21, "major": 21, "compon": 21, "extern": 21, "navx2": 21, "kinemat": 21, "odometri": 21, "ctre": [21, 22], "pathplann": [21, 25], "edu": 21, "wpi": 21, "com": [21, 22, 32], "phoenix6": 21, "pathplannerlib": 21, "lib": 21, "revlib": 21, "revrobot": 21, "troubl": 22, "ani": [22, 34], "follow": [22, 25, 26, 32, 34], "reach": 22, "veteran": 22, "discord": 22, "choic": 22, "its": [22, 34], "websit": 22, "32": 22, "bit": 22, "wa": [22, 34], "made": 22, "befor": [22, 34], "2003": 22, "default": [22, 34], "fine": 22, "spam": 22, "account": [22, 34], "usernam": 22, "doesn": 22, "matter": 22, "exist": 22, "thread": [22, 32], "organ": 22, "afterward": 22, "laptop": 22, "mani": 22, "wai": [22, 32, 34], "my": 22, "recommend": [22, 26], "termin": 22, "prefer": 22, "powershel": 22, "gh": 22, "auth": 22, "web": 22, "browser": 22, "letter": [22, 31], "page": [22, 34, 36], "jdk": 22, "develop": 22, "kit": 22, "avail": [22, 34, 36], "temurin": 22, "great": 22, "choos": 22, "openjdk": 22, "16": 22, "lt": 22, "hotspot": 22, "jvm": 22, "suit": 22, "instruct": 22, "doc": 22, "might": [22, 26], "sai": 22, "limit": 22, "trial": 22, "realiti": 22, "never": 22, "winrar": 22, "standalon": 22, "shouldn": 22, "interfer": 22, "diagnost": 22, "devic": 22, "falcon": 22, "500": 22, "microsoft": 22, "spark": 22, "max": 22, "experienc": 22, "wish": 22, "contribut": 22, "titanalgorithm": 22, "sure": [22, 31], "path": [22, 31, 32], "unoffici": 22, "mai": [22, 31], "correctli": 22, "risk": 22, "ethan": 22, "charoenpitak": 22, "info": 22, "deploy": 22, "aim": 25, "keep": 25, "possibl": [25, 35], "especi": 25, "lot": 25, "refer": [25, 34, 35], "someon": 25, "wrote": 25, "pascalcas": 25, "top": [25, 34], "level": [25, 34], "constant": [25, 34], "macro_cas": 25, "m_camelcas": 25, "camelcas": 25, "enum": 25, "test": [25, 34], "pascalcasetest": 25, "pascalcasesubsystem": 25, "abstract": 25, "pascalcasecommand": 25, "cpp": 25, "hpp": 25, "test_camelcas": 25, "cmake": [25, 32], "modul": [25, 32, 35], "outlin": 25, "projecct": 25, "subfold": 25, "relat": [25, 26, 36], "auto": 25, "routin": 25, "reus": 25, "topic": 26, "These": 26, "simpli": 26, "writ": 26, "irrelev": 26, "even": 26, "style": [26, 36], "applic": [26, 36], "pattern": 31, "paper": 31, "diment": 31, "squar": 31, "marker": 31, "script": [31, 32], "cm": 31, "start": 31, "type_calibr": 31, "py": [31, 32, 34], "TO": [31, 32], "process": [31, 32, 34, 36], "cfg": 31, "hold": 31, "flat": 31, "surfac": 31, "front": 31, "camera": [31, 32], "recogn": 31, "overlai": 31, "specifi": [31, 34], "config": [31, 32], "logic": 31, "determin": [31, 35], "focal": 31, "resolut": 31, "close": 31, "optic": 31, "center": 31, "distort": [31, 32], "coeffici": [31, 32], "four": 31, "accur": 31, "apriltag": [31, 32, 35, 36], "pose": [31, 34, 35], "estim": 31, "left": 31, "current": [32, 34], "plan": 32, "maco": 32, "try": [32, 35], "packag": 32, "issu": 32, "visual": 32, "studio": 32, "solut": [32, 34], "msvc": 32, "consid": 32, "mingw": 32, "clang": 32, "abov": 32, "aruco": 32, "contrib": 32, "calibr": [32, 35, 36], "intel": 32, "realsens": 32, "sdk": 32, "json": 32, "modern": 32, "vcpkg": 32, "scratch": 32, "debian": 32, "binari": 32, "execut": 32, "curl": 32, "ol": 32, "ethanc8": 32, "titanian": 32, "raw": 32, "pool": 32, "v": 32, "vcpkg_2023": 32, "12": 32, "titan2022_amd64": 32, "deb": 32, "sudo": 32, "apt": 32, "nlohmann": 32, "makefil": 32, "ninja": 32, "toolchain": 32, "altern": 32, "manual": [32, 34], "mkdir": 32, "cd": 32, "b": 32, "dcmake_toolchain_fil": 32, "buildsystem": 32, "dbuild_exampl": 32, "debug": 32, "forc": 32, "clangd": 32, "dcmake_export_compile_command": 32, "dcmake_build_typ": 32, "relwithdebinfo": 32, "gninja": 32, "j": 32, "directori": [32, 34], "dno_realsens": 32, "compat": 32, "edit": 32, "ip": [32, 34], "udp": [32, 34], "server": 32, "stream": [32, 34], "quaddecim": 32, "quadsigma": 32, "decodesharpen": 32, "keyword": 32, "width": 32, "height": 32, "fp": 32, "exposur": 32, "paramet": 32, "camset": 32, "help": 32, "gener": 32, "field": 32, "meter": 32, "rotat": [32, 34], "degre": 32, "quick": 32, "matrix": 32, "charuco": 32, "take": 32, "pictur": 32, "multipl": 32, "angl": 32, "20": [32, 34], "photo": 32, "network": [32, 35, 36], "impliment": [32, 34], "offer": 34, "tabl": 34, "commun": 34, "between": 34, "tri": 34, "mitig": 34, "reconnect": 34, "problem": 34, "socket": 34, "lowest": 34, "protocol": 34, "achiev": 34, "lost": 34, "packet": 34, "less": 34, "reliabl": 34, "data": 34, "video": 34, "futur": 34, "idea": 34, "tcp": 34, "solv": 34, "h": 34, "header": 34, "temporari": 34, "networkingcli": 34, "22": 34, "9": 34, "5800": 34, "label": 34, "vector": 34, "vector3d": 34, "vec": 34, "send_vector": 34, "vector_nam": 34, "pose_nam": 34, "tag": 34, "position2": 34, "rotation2": 34, "send_tag": 34, "tag_nam": 34, "argument": 34, "thei": 34, "due": 34, "reutil": 34, "outsid": 34, "3d": 34, "bind": 34, "replac": 34, "intend": 34, "trbnetworkingclientref": 34, "trbnetworkingclientcr": 34, "trbvector3d": 34, "trbvector3dmak": 34, "returnvec": 34, "trbnetworkingclientsendvector": 34, "trbnetworkingclientsendpos": 34, "trbnetworkingclientsendtag": 34, "trbnetwork": 34, "initi": [34, 35], "sendvector": 34, "sendtag": 34, "note": 34, "although": 34, "explicitli": 34, "numer": 34, "midwest": 34, "branch": [34, 35], "networkingserv": 34, "5801": 34, "observ": 34, "subscrib": 34, "pass": 34, "lambda": 34, "translation3d": 34, "null": 34, "respond": 34, "networkingcal": 34, "tostr": 34, "networkingpos": 34, "networkingtag": 34, "2023": 35, "reason": 35, "capabl": 35, "detect": [35, 36], "filter": 35, "extend": 35, "kalman": 35, "unlik": 35, "roll": 35, "releas": 35, "model": 35, "mean": 35, "explicit": 35, "becaus": 35, "frequent": 35, "bug": 35, "fix": 35, "modif": 35, "rebuild": 35, "often": 35, "respect": 35, "commit": 35, "fork": 35, "merg": 35, "pull": 35, "request": 35, "preseason": 36, "train": 36, "histori": 36}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"set": 0, "up": 0, "your": 0, "environ": 0, "lesson": [1, 4, 6, 8, 10, 11, 12], "8": [1, 12], "2024": [1, 12], "code": [1, 12], "overview": [1, 12, 15], "content": [1, 3, 6, 8, 10, 16, 18, 21, 26, 35, 36], "agenda": [1, 4, 11, 12, 15], "color": [2, 3, 14], "base": [2, 3, 14], "segment": [2, 3, 14], "opencv": [2, 3, 14], "python": [2, 3, 14, 34], "tutori": [2, 5, 7, 9], "2": [4, 20], "java": [4, 21, 22, 25, 34], "basic": 4, "tank": [5, 6], "drive": [5, 6], "simul": [5, 6, 7, 8, 9, 10], "3": [6, 19], "todo": [6, 10], "arm": [7, 9, 10], "4": [8, 23], "autonom": 8, "5": 10, "6": 11, "mock": 11, "season": [11, 22], "part": 11, "1": 11, "subsystem": 11, "command": 11, "led": 13, "program": [13, 15, 20, 21], "setup": [13, 34], "more": 13, "exampl": 13, "anim": 13, "rainbow": 13, "sine": 13, "wave": 13, "deploi": 13, "subteam": 15, "preseason": 16, "train": 16, "git": [17, 22], "structur": [17, 25], "clone": 17, "commit": 17, "push": 17, "pull": 17, "switch": 17, "branch": 17, "merg": 17, "applic": 18, "coprocessor": 19, "c": [20, 25, 34], "roborio": 21, "introduct": [21, 35], "librari": 21, "guid": [21, 25], "api": 21, "refer": 21, "instal": [22, 32], "github": 22, "cli": 22, "login": 22, "onli": 22, "pre": 22, "frc": 22, "game": 22, "tool": [22, 32], "phoenix": 22, "tuner": 22, "x": 22, "rev": 22, "hardwar": 22, "client": [22, 34], "option": [22, 32], "apach": 22, "maven": 22, "linux": [22, 23], "style": 25, "name": 25, "resourc": 26, "document": [26, 36], "other": [26, 32], "websit": 26, "team": 27, "2022": [27, 36], "histori": 27, "titan": [28, 35, 36], "algorithm": 28, "apriltag": 30, "detect": 30, "read": 30, "configur": [30, 32], "multithread": 30, "calibr": 31, "how": 31, "run": 31, "what": 31, "doe": 31, "o": 32, "support": 32, "build": 32, "instruct": 32, "local": 33, "network": 34, "why": 34, "limit": 34, "send": 34, "inform": 34, "With": 34, "repli": 34, "server": 34, "receiv": 34, "process": 35, "contribut": 35, "robot": 36}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 58}, "alltitles": {"Setting up your environment": [[0, "setting-up-your-environment"]], "Lesson 8: 2024 Code overview": [[1, "lesson-8-2024-code-overview"], [12, "lesson-8-2024-code-overview"]], "Contents": [[1, null], [3, null], [6, null], [8, null], [10, null], [16, null], [18, null], [21, null], [26, null], [35, null], [36, null]], "Agenda": [[1, "agenda"], [4, "agenda"], [11, "agenda"], [12, "agenda"], [15, "agenda"]], "Color-based segmentation in OpenCV Python: Tutorial": [[2, "color-based-segmentation-in-opencv-python-tutorial"]], "Color-based segmentation in OpenCV Python": [[3, "color-based-segmentation-in-opencv-python"], [14, "color-based-segmentation-in-opencv-python"]], "Lesson 2: Java Basics": [[4, "lesson-2-java-basics"]], "Tank Drive Simulation: Tutorial": [[5, "tank-drive-simulation-tutorial"]], "Lesson 3: Tank Drive Simulation": [[6, "lesson-3-tank-drive-simulation"]], "TODO": [[6, "todo"], [10, "todo"]], "Arm Simulation: Tutorial": [[7, "arm-simulation-tutorial"], [9, "arm-simulation-tutorial"]], "Lesson 4: Autonomous Simulation": [[8, "lesson-4-autonomous-simulation"]], "Lesson 5: Arm Simulation": [[10, "lesson-5-arm-simulation"]], "Lesson 6: Mock Season Part 1\u2014Subsystems/Commands": [[11, "lesson-6-mock-season-part-1subsystems-commands"]], "LED Programming": [[13, "led-programming"]], "Setup": [[13, "setup"], [34, "setup"], [34, "id2"], [34, "id5"]], "More examples": [[13, "more-examples"]], "Animated Rainbow": [[13, "animated-rainbow"]], "Sine Wave": [[13, "sine-wave"]], "Deploying": [[13, "deploying"]], "Programming Subteam Overview": [[15, "programming-subteam-overview"]], "Preseason Training": [[16, "preseason-training"]], "Git": [[17, "git"], [22, "git"]], "Structure": [[17, "structure"], [25, "structure"]], "Cloning": [[17, "cloning"]], "Committing": [[17, "committing"]], "Pushing & Pulling": [[17, "pushing-pulling"]], "Switching branches": [[17, "switching-branches"]], "Merging": [[17, "merging"]], "Applications": [[18, "applications"]], "3 - Coprocessors": [[19, "coprocessors"]], "2 - C++ Programming": [[20, "c-programming"]], "Java / roboRIO Programming": [[21, "java-roborio-programming"]], "Introduction": [[21, "introduction"], [35, "introduction"]], "Library guides": [[21, "library-guides"]], "API references": [[21, "api-references"]], "Installation": [[22, "installation"], [32, "installation"]], "GitHub CLI": [[22, "github-cli"]], "Git login": [[22, "git-login"]], "(Only for pre-season) Java": [[22, "only-for-pre-season-java"]], "FRC Game Tools": [[22, "frc-game-tools"]], "Phoenix Tuner X": [[22, "phoenix-tuner-x"]], "REV Hardware Client": [[22, "rev-hardware-client"]], "(Optional) Apache Maven": [[22, "optional-apache-maven"]], "Linux": [[22, "linux"]], "4 - Linux": [[23, "linux"]], "Style guide": [[25, "style-guide"]], "Naming": [[25, "naming"]], "Java": [[25, "java"]], "C++": [[25, "c"]], "Resources": [[26, "resources"]], "Documentation and other websites": [[26, "documentation-and-other-websites"]], "Team #2022 History": [[27, "team-2022-history"]], "Titan Algorithms": [[28, "titan-algorithms"]], "AprilTag Detection": [[30, "apriltag-detection"]], "Reading Configuration": [[30, "reading-configuration"]], "Detection": [[30, "detection"]], "Multithreading": [[30, "multithreading"]], "Calibration": [[31, "calibration"]], "How to run": [[31, "how-to-run"]], "What it does": [[31, "what-it-does"]], "OS Support": [[32, "os-support"]], "Building": [[32, "building"]], "Instructions": [[32, "instructions"]], "Build Options": [[32, "build-options"]], "Configuration": [[32, "configuration"]], "Other Tools": [[32, "other-tools"]], "Localization": [[33, "localization"]], "Networking": [[34, "networking"]], "Why?": [[34, "why"]], "Limitations": [[34, "limitations"]], "C++ Client": [[34, "c-client"]], "Sending Information": [[34, "sending-information"], [34, "id3"]], "Sending Information (With Reply)": [[34, "sending-information-with-reply"], [34, "id4"]], "C Client": [[34, "id1"]], "Python Client": [[34, "python-client"]], "Java Server": [[34, "java-server"]], "Receiving Information": [[34, "receiving-information"]], "Titan Processing": [[35, "titan-processing"]], "Contributing": [[35, "contributing"]], "Titan Robotics #2022 Documentation": [[36, "titan-robotics-2022-documentation"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["PreseasonTraining/2024CodeOverview/Setup", "PreseasonTraining/2024CodeOverview/index", "PreseasonTraining/2_OpenCV_ColorSegmentation/Tutorial", "PreseasonTraining/2_OpenCV_ColorSegmentation/index", "PreseasonTraining/3_JavaBasics/index", "PreseasonTraining/4_TankDriveSimulation/Tutorial", "PreseasonTraining/4_TankDriveSimulation/index", "PreseasonTraining/5_AutonomousSimulation/Tutorial", "PreseasonTraining/5_AutonomousSimulation/index", "PreseasonTraining/6_ArmSimulation/Tutorial", "PreseasonTraining/6_ArmSimulation/index", "PreseasonTraining/7_Mock/index", "PreseasonTraining/8_2024CodeOverview/index", "PreseasonTraining/LEDProgramming/index", "PreseasonTraining/OpenCV_ColorSegmentation/index", "PreseasonTraining/Overview/index", "PreseasonTraining/index", "Resources/Applications/git", "Resources/Applications/index", "Resources/Coprocessors/index", "Resources/CppProgramming/index", "Resources/JavaProgramming/index", "Resources/JavaProgramming/installation", "Resources/Linux/index", "Resources/RobotDesign/index", "Resources/StyleGuide", "Resources/index", "TeamHistory/index", "TitanAlgorithms/index", "TitanDashboard/index", "TitanProcessing/AprilTags/index", "TitanProcessing/Calibration/index", "TitanProcessing/Installation/index", "TitanProcessing/Localization/index", "TitanProcessing/Networking/index", "TitanProcessing/index", "index"], "filenames": ["PreseasonTraining/2024CodeOverview/Setup.md", "PreseasonTraining/2024CodeOverview/index.md", "PreseasonTraining/2_OpenCV_ColorSegmentation/Tutorial.md", "PreseasonTraining/2_OpenCV_ColorSegmentation/index.md", "PreseasonTraining/3_JavaBasics/index.md", "PreseasonTraining/4_TankDriveSimulation/Tutorial.md", "PreseasonTraining/4_TankDriveSimulation/index.md", "PreseasonTraining/5_AutonomousSimulation/Tutorial.md", "PreseasonTraining/5_AutonomousSimulation/index.md", "PreseasonTraining/6_ArmSimulation/Tutorial.md", "PreseasonTraining/6_ArmSimulation/index.md", "PreseasonTraining/7_Mock/index.md", "PreseasonTraining/8_2024CodeOverview/index.md", "PreseasonTraining/LEDProgramming/index.md", "PreseasonTraining/OpenCV_ColorSegmentation/index.md", "PreseasonTraining/Overview/index.md", "PreseasonTraining/index.md", "Resources/Applications/git.md", "Resources/Applications/index.md", "Resources/Coprocessors/index.md", "Resources/CppProgramming/index.md", "Resources/JavaProgramming/index.md", "Resources/JavaProgramming/installation.md", "Resources/Linux/index.md", "Resources/RobotDesign/index.md", "Resources/StyleGuide.md", "Resources/index.md", "TeamHistory/index.md", "TitanAlgorithms/index.md", "TitanDashboard/index.md", "TitanProcessing/AprilTags/index.md", "TitanProcessing/Calibration/index.md", "TitanProcessing/Installation/index.md", "TitanProcessing/Localization/index.md", "TitanProcessing/Networking/index.md", "TitanProcessing/index.md", "index.md"], "titles": ["Setting up your environment", "Lesson 8: 2024 Code overview", "Color-based segmentation in OpenCV Python: Tutorial", "Color-based segmentation in OpenCV Python", "Lesson 2: Java Basics", "Tank Drive Simulation: Tutorial", "Lesson 3: Tank Drive Simulation", "Arm Simulation: Tutorial", "Lesson 4: Autonomous Simulation", "Arm Simulation: Tutorial", "Lesson 5: Arm Simulation", "Lesson 6: Mock Season Part 1\u2014Subsystems/Commands", "Lesson 8: 2024 Code overview", "LED Programming", "Color-based segmentation in OpenCV Python", "Programming Subteam Overview", "Preseason Training", "Git", "Applications", "3 - Coprocessors", "2 - C++ Programming", "Java / roboRIO Programming", "Installation", "4 - Linux", "<no title>", "Style guide", "Resources", "Team #2022 History", "Titan Algorithms", "<no title>", "AprilTag Detection", "Calibration", "Installation", "Localization", "Networking", "Titan Processing", "Titan Robotics #2022 Documentation"], "terms": {"set": [1, 13, 21], "up": [1, 4, 13], "your": [1, 13, 17, 22, 32, 34, 35], "environ": 1, "last": [1, 12], "year": [1, 12], "everi": [1, 4, 12, 13, 17], "command": [1, 4, 12, 16, 21, 25, 32, 36], "subsystem": [1, 12, 16, 25, 36], "vision": [1, 12, 15, 35], "qna": [1, 12], "watch": [1, 12], "old": [1, 12], "match": [1, 12, 31, 32], "strategi": [1, 12, 36], "inspir": [1, 12], "todo": [2, 5, 7, 9], "figur": 2, "out": [2, 4, 22, 34], "where": 2, "we": [2, 4, 13, 15], "put": 2, "tutori": [3, 6, 8, 10, 16, 36], "what": [4, 15], "i": [4, 13, 15, 17, 22, 25, 32, 34, 35], "A": [4, 17], "jit": 4, "compil": [4, 35], "just": [4, 13], "In": [4, 13], "time": [4, 13, 15, 17, 26, 34], "languag": [4, 13], "bytecod": 4, "Then": [4, 34], "translat": 4, "machin": 4, "code": [4, 13, 15, 16, 17, 22, 25, 32, 35, 36], "target": [4, 35], "platform": [4, 17, 32], "make": [4, 13, 15, 17, 22, 31, 32, 34], "more": [4, 6, 22, 26, 34], "cross": [4, 32], "than": 4, "c": [4, 26, 32, 36], "which": [4, 13, 17, 34], "directli": 4, "static": [4, 13], "type": [4, 22, 32, 34], "variabl": [4, 13, 25], "ha": [4, 13, 15, 17, 21, 34], "e": [4, 11, 22, 25], "g": [4, 11, 22, 25], "int": [4, 13, 34], "integ": [4, 13], "number": [4, 13], "doubl": [4, 34], "decim": [4, 13], "string": 4, "text": 4, "etc": [4, 11], "lower": 4, "case": [4, 13, 25], "primit": 4, "includ": [4, 17, 22, 25, 32, 34, 35], "upper": 4, "class": [4, 25, 34], "complex": 4, "see": [4, 13, 34], "next": [4, 17, 22], "object": [4, 34], "orient": 4, "program": [4, 11, 16, 17, 22, 26, 36], "everyth": [4, 32], "an": [4, 13, 17, 22, 35], "certain": 4, "each": [4, 13, 17, 31, 34], "can": [4, 13, 15, 17, 22, 34, 35, 36], "have": [4, 15, 17, 21, 22, 34], "function": [4, 13, 34], "There": [4, 22, 32, 36], "": [4, 13, 15, 17, 25, 32], "also": [4, 13, 31, 36], "constructor": 4, "ar": [4, 13, 17, 22, 26, 31, 32, 34, 36], "method": [4, 13, 25, 34], "run": [4, 13, 22, 32], "when": [4, 13, 22, 32], "you": [4, 13, 17, 21, 22, 34, 35, 36], "creat": [4, 13, 17, 22, 34, 35], "modifi": 4, "public": [4, 25], "privat": [4, 25], "readonli": 4, "thing": [4, 13, 17], "onli": [4, 13, 15, 17, 32, 34], "access": [4, 13, 15, 25], "insid": [4, 17, 32], "same": [4, 17, 34], "all": [4, 13, 15, 17, 22, 31, 32, 34, 36], "instanc": [4, 13], "cant": 4, "after": [4, 13, 15, 17, 26], "creation": 4, "btw": 4, "member": [4, 17, 22, 25], "attribut": 4, "python": [4, 13, 16, 31, 32, 36], "exampl": [4, 32, 34], "car": 4, "engin": 4, "new": [4, 13, 34], "float": [4, 13], "fuel": 4, "0": [4, 13, 31, 34], "unit": 4, "gallon": 4, "mileag": 4, "mile": 4, "The": [4, 13, 21, 22, 25, 31, 34, 35], "thi": [4, 13, 15, 17, 22, 25, 31, 34, 35], "drive": [4, 15, 16, 25, 36], "x": [4, 13, 15, 31, 32], "void": [4, 13], "drivecar": 4, "33": 4, "per": [4, 32], "add": [4, 6, 10, 22], "addfuel": 4, "main": [4, 17, 32, 35], "hondaciv": 4, "brand": 4, "zero": 4, "10": [4, 32, 34], "fill": 4, "30": 4, "drove": 4, "imsa": 4, "librari": [4, 13, 32, 34, 35], "other": [4, 17, 31, 36], "import": [4, 5, 7, 9, 15, 25, 34], "typic": [4, 17], "written": [4, 35], "peopl": 4, "consist": [4, 25], "standard": [4, 13, 34], "wpilib": [4, 15, 21, 22, 25, 34], "us": [4, 13, 15, 17, 22, 26, 31, 32, 34, 35], "frc": [4, 15, 21, 26, 34, 36], "It": [4, 22, 31, 35], "stuff": 4, "like": [4, 15, 32], "motor": [4, 11, 15, 22], "sensor": [4, 11], "our": [4, 13, 22, 25, 32, 36], "gyroscop": 4, "manufactur": 4, "And": 4, "own": [4, 22, 32, 35], "reusabl": 4, "titan": [4, 32, 34], "algorithm": [4, 35, 36], "walkthrough": 4, "practic": 4, "inventori": 4, "manag": [4, 15, 22], "item": 4, "name": [4, 32], "quantiti": 4, "arraylist": 4, "additem": 4, "search": 4, "queri": 4, "result": [4, 13], "size": [4, 31, 32], "If": [4, 13, 17, 22], "get": [4, 34], "contain": [4, 17, 21], "ye": 4, "n": [4, 32], "r": 4, "window": [4, 22, 32], "special": 4, "charact": 4, "line": 4, "util": [4, 11, 13, 25, 31, 34], "scanner": 4, "print": [4, 31, 32], "done": 4, "automat": [4, 17], "vscode": [4, 15, 17, 22], "inventorymanag": 4, "arg": 4, "system": [4, 32, 34], "println": [4, 34], "welcom": [4, 36], "No": 4, "space": [4, 15, 32], "find": [4, 36], "exit": 4, "leav": [4, 34], "record": 4, "user": 4, "input": [4, 17], "inputscann": 4, "while": [4, 13, 15, 31], "loop": [4, 13], "condit": [4, 13], "true": [4, 34], "boolean": 4, "isrun": 4, "userinput": 4, "nextlin": 4, "splittedcommand": 4, "split": [4, 11], "arrai": [4, 13, 34], "word": 4, "startswith": 4, "fals": [4, 13, 34], "els": [4, 13, 25, 32], "count": 4, "convert": [4, 13, 34], "newitem": 4, "1": [4, 13, 16, 32, 36], "parseint": 4, "ad": 4, "unknown": 4, "http": [5, 7, 9, 17, 22, 32], "titanrobotics2022": [5, 7, 9], "notion": [5, 7, 9], "site": [5, 7, 9], "2": [5, 11, 13, 16, 26, 32, 36], "1291dde0e33245d3aa9b26da1b6b99b4": 5, "friction": 6, "physic": 6, "talk": [6, 10], "about": [6, 10, 13, 26], "pidf": [6, 10], "usag": [6, 10, 17, 32], "3": [7, 11, 16, 26, 36], "autonom": [7, 15, 16, 36], "1717871dea664a40b1e3d33cb9062274": 7, "arm": [8, 16, 25, 36], "5": [9, 16, 34, 36], "4": [9, 16, 26, 32, 36], "91d67fab859a40968919a2f86e20ffcf": 9, "torqu": 10, "graviti": 10, "provid": [11, 13, 31], "swerv": 11, "local": [11, 17, 25, 35, 36], "measur": 11, "id": [11, 13, 32, 34], "resourc": [11, 36], "link": [11, 15, 17, 32], "group": [11, 25], "intak": 11, "index": 11, "led": [11, 16, 36], "elev": 11, "shooter": 11, "give": 11, "hint": 11, "implement": 11, "detail": 11, "some": [11, 13, 21, 36], "posit": [11, 32, 34], "math": [11, 13], "lesson": [13, 16, 36], "strip": 13, "microcontrol": 13, "arduino": 13, "uno": 13, "wokwi": 13, "onlin": [13, 17, 22], "emul": 13, "substitut": [13, 15], "real": 13, "board": [13, 32], "defin": 13, "two": [13, 15, 34], "first": [13, 17, 21, 31, 34], "onc": [13, 17], "turn": 13, "second": [13, 15, 17, 34], "repeat": 13, "infinit": 13, "For": [13, 32], "purpos": 13, "enough": [13, 34], "here": [13, 15, 17, 32, 36], "necessari": [13, 22, 31, 32, 35], "100": 13, "light": [13, 15], "displai": [13, 31], "open": [13, 17, 22], "tab": [13, 17], "fastl": 13, "control": [13, 15, 17], "sever": 13, "clear": 13, "pixel": [13, 31], "empti": 13, "state": 13, "send": [13, 22], "signal": [13, 34], "do": [13, 15, 17, 21, 22], "so": [13, 22, 25, 32, 35], "through": [13, 15, 21, 35], "show": [13, 34], "earlier": 13, "call": [13, 17, 34], "bracket": 13, "oper": [13, 35], "them": [13, 17], "chsv": 13, "hue": 13, "satur": 13, "valu": [13, 31, 32, 34], "crgb": 13, "red": 13, "green": [13, 15, 17], "blue": [13, 17], "want": [13, 17], "color": [13, 16, 31, 36], "rgb": 13, "both": [13, 22, 32], "from": [13, 17, 26, 32, 34], "255": 13, "8": [13, 16, 22, 32, 36], "one": [13, 17, 22, 25, 34], "byte": 13, "blank": [13, 34], "updat": [13, 17, 26, 34], "anoth": [13, 34], "instead": [13, 17], "num_l": 13, "th": 13, "But": 13, "interest": 13, "iter": 13, "calcul": 13, "sinc": [13, 25, 34, 35], "most": [13, 15, 21, 22, 35], "divis": 13, "equat": 13, "divid": 13, "progress": 13, "multipli": 13, "rang": 13, "being": 13, "go": [13, 17], "now": 13, "To": [13, 17, 32, 35], "delai": [13, 34], "millisecond": 13, "similar": [13, 22], "sleep": 13, "without": [13, 17, 32], "fast": 13, "list": [13, 17], "notabl": 13, "featur": [13, 17], "until": 13, "forev": 13, "statement": [13, 34], "thing1": 13, "thing2": 13, "funciton": 13, "1000": 13, "wait": 13, "modulo": 13, "number0": 13, "return": [13, 22, 34], "remaind": 13, "specif": [13, 17, 22, 35], "sin": 13, "co": 13, "tan": 13, "pow": 13, "y": [13, 22, 31], "sqrt": 13, "log": [13, 22], "natur": 13, "log10": 13, "hsv": 13, "actual": 13, "support": [13, 21, 22, 34], "download": [13, 15, 17], "desktop": 13, "version": [13, 35], "project": [13, 15, 17, 22, 32, 34, 36], "connect": 13, "select": [13, 17, 22, 32], "usb": [13, 15], "port": [13, 32, 34], "under": 13, "tool": [13, 31], "click": [13, 17], "upload": [13, 17], "doe": [15, 34], "best": [15, 32], "smoothest": 15, "experi": [15, 17], "driver": 15, "reduc": 15, "amount": [15, 21], "think": 15, "wast": 15, "dure": 15, "game": [15, 34], "optim": 15, "autom": 15, "task": 15, "score": 15, "much": [15, 25], "point": 15, "15": 15, "period": 15, "good": [15, 34], "bad": 15, "robot": [15, 22, 34, 35], "perform": [15, 34], "structur": [15, 34], "file": [15, 17, 25, 31, 32, 34], "store": [15, 22], "github": [15, 17, 32], "softwar": [15, 22, 36], "bild": 15, "coprocessor": [15, 26, 34, 35, 36], "roborio": [15, 26, 34, 36], "part": [15, 16, 36], "should": [15, 22, 31, 32], "alwai": [15, 17, 26], "plug": 15, "comput": [15, 22], "ethernet": 15, "wifi": 15, "station": 15, "press": [15, 17, 22], "enter": [15, 17, 22], "disabl": 15, "emerg": 15, "stop": 15, "restart": 15, "enabl": 15, "again": 15, "work": [15, 17, 22], "phoenix": [15, 21], "tuner": 15, "monitor": 15, "how": 15, "need": [15, 17, 22], "non": 15, "programm": [15, 21], "know": 15, "rememb": [15, 17], "t": [15, 17, 22], "fly": 15, "hardwar": 15, "hard": 15, "di": 15, "custom": 15, "team": [15, 25, 26, 36], "pleas": [15, 17, 22, 25], "ask": 15, "u": 15, "design": [15, 36], "cheatsheet": [15, 17], "rev": 15, "client": 15, "git": [15, 18, 26, 35, 36], "linux": [15, 26, 32, 36], "homework": 15, "java": [15, 16, 26, 32, 36], "sign": 15, "subteam": [16, 36], "overview": [16, 36], "base": [16, 21, 36], "segment": [16, 36], "opencv": [16, 32, 36], "basic": [16, 21, 31, 36], "tank": [16, 36], "simul": [16, 36], "6": [16, 21, 36], "mock": [16, 36], "season": [16, 35, 36], "2024": [16, 34, 35, 36], "short": [17, 26], "sourc": [17, 26], "feel": [17, 22, 32], "free": [17, 22, 32], "cli": 17, "alreadi": [17, 22], "learn": [17, 26], "full": [17, 25, 32], "guid": [17, 26, 32, 36], "found": [17, 22, 32], "repositori": [17, 22], "host": 17, "repo": [17, 32], "master": [17, 32], "product": [17, 32, 35], "chang": [17, 31], "messag": [17, 35], "fetch": 17, "option": 17, "dublic": 17, "separ": 17, "back": [17, 22, 34], "togeth": 17, "allow": [17, 32, 34], "everyon": 17, "differ": 17, "independ": 17, "break": 17, "button": 17, "copi": [17, 22, 34], "past": [17, 22], "folder": [17, 25, 34], "save": [17, 31], "don": 17, "write": 17, "descript": 17, "step": 17, "requir": [17, 32, 35], "remov": 17, "readi": 17, "sync": 17, "otherwis": 17, "addit": 17, "action": 17, "check": [17, 26, 31], "view": 17, "bar": 17, "addion": 17, "checkout": 17, "ani": [17, 22, 34], "start": [17, 31], "origin": 17, "menu": 17, "notifi": 17, "befor": [17, 22, 34], "avoid": 17, "conflict": 17, "particularli": 17, "big": 17, "request": [17, 35], "try": [17, 32, 35], "instal": [21, 26, 35, 36], "offici": [21, 22, 32, 34, 35, 36], "document": [21, 25, 31, 34], "regard": [21, 22], "read": 21, "entir": 21, "wiki": 21, "ahead": 21, "major": 21, "compon": 21, "extern": 21, "navx2": 21, "kinemat": 21, "odometri": 21, "ctre": [21, 22], "pathplann": [21, 25], "edu": 21, "wpi": 21, "com": [21, 22, 32], "phoenix6": 21, "pathplannerlib": 21, "lib": 21, "revlib": 21, "revrobot": 21, "troubl": 22, "follow": [22, 25, 26, 32, 34], "reach": 22, "veteran": 22, "discord": 22, "choic": 22, "its": [22, 34], "websit": 22, "32": 22, "bit": 22, "wa": [22, 34], "made": 22, "2003": 22, "default": [22, 34], "fine": 22, "spam": 22, "account": [22, 34], "usernam": 22, "doesn": 22, "matter": 22, "exist": 22, "thread": [22, 32], "organ": 22, "afterward": 22, "laptop": 22, "mani": 22, "wai": [22, 32, 34], "my": 22, "recommend": [22, 26], "termin": 22, "prefer": 22, "powershel": 22, "gh": 22, "auth": 22, "web": 22, "browser": 22, "letter": [22, 31], "page": [22, 34, 36], "jdk": 22, "develop": 22, "kit": 22, "avail": [22, 34, 36], "temurin": 22, "great": 22, "choos": 22, "openjdk": 22, "16": 22, "lt": 22, "hotspot": 22, "jvm": 22, "suit": 22, "instruct": 22, "doc": 22, "might": [22, 26], "sai": 22, "limit": 22, "trial": 22, "realiti": 22, "never": 22, "winrar": 22, "standalon": 22, "shouldn": 22, "interfer": 22, "diagnost": 22, "devic": 22, "falcon": 22, "500": 22, "microsoft": 22, "spark": 22, "max": 22, "experienc": 22, "wish": 22, "contribut": 22, "titanalgorithm": 22, "sure": [22, 31], "path": [22, 31, 32], "unoffici": 22, "mai": [22, 31], "correctli": 22, "risk": 22, "ethan": 22, "charoenpitak": 22, "info": 22, "deploy": 22, "aim": 25, "keep": 25, "possibl": [25, 35], "especi": 25, "lot": 25, "refer": [25, 34, 35], "someon": 25, "wrote": 25, "pascalcas": 25, "top": [25, 34], "level": [25, 34], "constant": [25, 34], "macro_cas": 25, "m_camelcas": 25, "camelcas": 25, "enum": 25, "test": [25, 34], "pascalcasetest": 25, "pascalcasesubsystem": 25, "abstract": 25, "pascalcasecommand": 25, "cpp": 25, "hpp": 25, "test_camelcas": 25, "cmake": [25, 32], "modul": [25, 32, 35], "outlin": 25, "projecct": 25, "subfold": 25, "relat": [25, 26, 36], "auto": 25, "routin": 25, "reus": 25, "topic": 26, "These": 26, "simpli": 26, "writ": 26, "irrelev": 26, "even": 26, "style": [26, 36], "applic": [26, 36], "pattern": 31, "paper": 31, "diment": 31, "squar": 31, "marker": 31, "script": [31, 32], "cm": 31, "type_calibr": 31, "py": [31, 32, 34], "TO": [31, 32], "process": [31, 32, 34, 36], "cfg": 31, "hold": 31, "flat": 31, "surfac": 31, "front": 31, "camera": [31, 32], "recogn": 31, "overlai": 31, "specifi": [31, 34], "config": [31, 32], "logic": 31, "determin": [31, 35], "focal": 31, "resolut": 31, "close": 31, "optic": 31, "center": 31, "distort": [31, 32], "coeffici": [31, 32], "four": 31, "accur": 31, "apriltag": [31, 32, 35, 36], "pose": [31, 34, 35], "estim": 31, "left": 31, "current": [32, 34], "plan": 32, "maco": 32, "packag": 32, "issu": 32, "visual": 32, "studio": 32, "solut": [32, 34], "msvc": 32, "consid": 32, "mingw": 32, "clang": 32, "abov": 32, "aruco": 32, "contrib": 32, "calibr": [32, 35, 36], "intel": 32, "realsens": 32, "sdk": 32, "json": 32, "modern": 32, "vcpkg": 32, "scratch": 32, "debian": 32, "binari": 32, "execut": 32, "curl": 32, "ol": 32, "ethanc8": 32, "titanian": 32, "raw": 32, "pool": 32, "v": 32, "vcpkg_2023": 32, "12": 32, "titan2022_amd64": 32, "deb": 32, "sudo": 32, "apt": 32, "nlohmann": 32, "makefil": 32, "ninja": 32, "toolchain": 32, "altern": 32, "manual": [32, 34], "mkdir": 32, "cd": 32, "b": 32, "dcmake_toolchain_fil": 32, "buildsystem": 32, "dbuild_exampl": 32, "debug": 32, "forc": 32, "clangd": 32, "dcmake_export_compile_command": 32, "dcmake_build_typ": 32, "relwithdebinfo": 32, "gninja": 32, "j": 32, "directori": [32, 34], "dno_realsens": 32, "compat": 32, "edit": 32, "ip": [32, 34], "udp": [32, 34], "server": 32, "stream": [32, 34], "quaddecim": 32, "quadsigma": 32, "decodesharpen": 32, "keyword": 32, "width": 32, "height": 32, "fp": 32, "exposur": 32, "paramet": 32, "camset": 32, "help": 32, "gener": 32, "field": 32, "meter": 32, "rotat": [32, 34], "degre": 32, "quick": 32, "matrix": 32, "charuco": 32, "take": 32, "pictur": 32, "multipl": 32, "angl": 32, "20": [32, 34], "photo": 32, "network": [32, 35, 36], "impliment": [32, 34], "offer": 34, "tabl": 34, "commun": 34, "between": 34, "tri": 34, "mitig": 34, "reconnect": 34, "problem": 34, "socket": 34, "lowest": 34, "protocol": 34, "achiev": 34, "lost": 34, "packet": 34, "less": 34, "reliabl": 34, "data": 34, "video": 34, "futur": 34, "idea": 34, "tcp": 34, "solv": 34, "h": 34, "header": 34, "temporari": 34, "networkingcli": 34, "22": 34, "9": 34, "5800": 34, "label": 34, "vector": 34, "vector3d": 34, "vec": 34, "send_vector": 34, "vector_nam": 34, "pose_nam": 34, "tag": 34, "position2": 34, "rotation2": 34, "send_tag": 34, "tag_nam": 34, "argument": 34, "thei": 34, "due": 34, "reutil": 34, "outsid": 34, "3d": 34, "bind": 34, "replac": 34, "intend": 34, "trbnetworkingclientref": 34, "trbnetworkingclientcr": 34, "trbvector3d": 34, "trbvector3dmak": 34, "returnvec": 34, "trbnetworkingclientsendvector": 34, "trbnetworkingclientsendpos": 34, "trbnetworkingclientsendtag": 34, "trbnetwork": 34, "initi": [34, 35], "sendvector": 34, "sendtag": 34, "note": 34, "although": 34, "explicitli": 34, "numer": 34, "midwest": 34, "branch": [34, 35], "networkingserv": 34, "5801": 34, "observ": 34, "subscrib": 34, "pass": 34, "lambda": 34, "translation3d": 34, "null": 34, "respond": 34, "networkingcal": 34, "tostr": 34, "networkingpos": 34, "networkingtag": 34, "2023": 35, "reason": 35, "capabl": 35, "detect": [35, 36], "filter": 35, "extend": 35, "kalman": 35, "unlik": 35, "roll": 35, "releas": 35, "model": 35, "mean": 35, "explicit": 35, "becaus": 35, "frequent": 35, "bug": 35, "fix": 35, "modif": 35, "rebuild": 35, "often": 35, "respect": 35, "commit": 35, "fork": 35, "merg": 35, "pull": 35, "preseason": 36, "train": 36, "histori": 36}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"set": 0, "up": 0, "your": 0, "environ": 0, "lesson": [1, 4, 6, 8, 10, 11, 12], "8": [1, 12], "2024": [1, 12], "code": [1, 12], "overview": [1, 12, 15], "content": [1, 3, 6, 8, 10, 16, 18, 21, 26, 35, 36], "agenda": [1, 4, 11, 12, 15], "color": [2, 3, 14], "base": [2, 3, 14], "segment": [2, 3, 14], "opencv": [2, 3, 14], "python": [2, 3, 14, 34], "tutori": [2, 5, 7, 9], "2": [4, 20], "java": [4, 21, 22, 25, 34], "basic": 4, "tank": [5, 6], "drive": [5, 6], "simul": [5, 6, 7, 8, 9, 10], "3": [6, 19], "todo": [6, 10], "arm": [7, 9, 10], "4": [8, 23], "autonom": 8, "5": 10, "6": 11, "mock": 11, "season": [11, 22], "part": 11, "1": 11, "subsystem": 11, "command": 11, "led": 13, "program": [13, 15, 20, 21], "setup": [13, 34], "more": 13, "exampl": 13, "anim": 13, "rainbow": 13, "sine": 13, "wave": 13, "deploi": 13, "subteam": 15, "preseason": 16, "train": 16, "git": [17, 22], "structur": [17, 25], "clone": 17, "commit": 17, "push": 17, "pull": 17, "switch": 17, "branch": 17, "merg": 17, "applic": 18, "coprocessor": 19, "c": [20, 25, 34], "roborio": 21, "introduct": [21, 35], "librari": 21, "guid": [21, 25], "api": 21, "refer": 21, "instal": [22, 32], "github": 22, "cli": 22, "login": 22, "onli": 22, "pre": 22, "frc": 22, "game": 22, "tool": [22, 32], "phoenix": 22, "tuner": 22, "x": 22, "rev": 22, "hardwar": 22, "client": [22, 34], "option": [22, 32], "apach": 22, "maven": 22, "linux": [22, 23], "style": 25, "name": 25, "resourc": 26, "document": [26, 36], "other": [26, 32], "websit": 26, "team": 27, "2022": [27, 36], "histori": 27, "titan": [28, 35, 36], "algorithm": 28, "apriltag": 30, "detect": 30, "read": 30, "configur": [30, 32], "multithread": 30, "calibr": 31, "how": 31, "run": 31, "what": 31, "doe": 31, "o": 32, "support": 32, "build": 32, "instruct": 32, "local": 33, "network": 34, "why": 34, "limit": 34, "send": 34, "inform": 34, "With": 34, "repli": 34, "server": 34, "receiv": 34, "process": 35, "contribut": 35, "robot": 36}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 58}, "alltitles": {"Setting up your environment": [[0, "setting-up-your-environment"]], "Lesson 8: 2024 Code overview": [[1, "lesson-8-2024-code-overview"], [12, "lesson-8-2024-code-overview"]], "Contents": [[1, null], [3, null], [6, null], [8, null], [10, null], [16, null], [18, null], [21, null], [26, null], [35, null], [36, null]], "Agenda": [[1, "agenda"], [4, "agenda"], [11, "agenda"], [12, "agenda"], [15, "agenda"]], "Color-based segmentation in OpenCV Python: Tutorial": [[2, "color-based-segmentation-in-opencv-python-tutorial"]], "Color-based segmentation in OpenCV Python": [[3, "color-based-segmentation-in-opencv-python"], [14, "color-based-segmentation-in-opencv-python"]], "Lesson 2: Java Basics": [[4, "lesson-2-java-basics"]], "Tank Drive Simulation: Tutorial": [[5, "tank-drive-simulation-tutorial"]], "Lesson 3: Tank Drive Simulation": [[6, "lesson-3-tank-drive-simulation"]], "TODO": [[6, "todo"], [10, "todo"]], "Arm Simulation: Tutorial": [[7, "arm-simulation-tutorial"], [9, "arm-simulation-tutorial"]], "Lesson 4: Autonomous Simulation": [[8, "lesson-4-autonomous-simulation"]], "Lesson 5: Arm Simulation": [[10, "lesson-5-arm-simulation"]], "Lesson 6: Mock Season Part 1\u2014Subsystems/Commands": [[11, "lesson-6-mock-season-part-1subsystems-commands"]], "LED Programming": [[13, "led-programming"]], "Setup": [[13, "setup"], [34, "setup"], [34, "id2"], [34, "id5"]], "More examples": [[13, "more-examples"]], "Animated Rainbow": [[13, "animated-rainbow"]], "Sine Wave": [[13, "sine-wave"]], "Deploying": [[13, "deploying"]], "Programming Subteam Overview": [[15, "programming-subteam-overview"]], "Preseason Training": [[16, "preseason-training"]], "Git": [[17, "git"], [22, "git"]], "Structure": [[17, "structure"], [25, "structure"]], "Cloning": [[17, "cloning"]], "Committing": [[17, "committing"]], "Pushing & Pulling": [[17, "pushing-pulling"]], "Switching branches": [[17, "switching-branches"]], "Merging": [[17, "merging"]], "Applications": [[18, "applications"]], "3 - Coprocessors": [[19, "coprocessors"]], "2 - C++ Programming": [[20, "c-programming"]], "Java / roboRIO Programming": [[21, "java-roborio-programming"]], "Introduction": [[21, "introduction"], [35, "introduction"]], "Library guides": [[21, "library-guides"]], "API references": [[21, "api-references"]], "Installation": [[22, "installation"], [32, "installation"]], "GitHub CLI": [[22, "github-cli"]], "Git login": [[22, "git-login"]], "(Only for pre-season) Java": [[22, "only-for-pre-season-java"]], "FRC Game Tools": [[22, "frc-game-tools"]], "Phoenix Tuner X": [[22, "phoenix-tuner-x"]], "REV Hardware Client": [[22, "rev-hardware-client"]], "(Optional) Apache Maven": [[22, "optional-apache-maven"]], "Linux": [[22, "linux"]], "4 - Linux": [[23, "linux"]], "Style guide": [[25, "style-guide"]], "Naming": [[25, "naming"]], "Java": [[25, "java"]], "C++": [[25, "c"]], "Resources": [[26, "resources"]], "Documentation and other websites": [[26, "documentation-and-other-websites"]], "Team #2022 History": [[27, "team-2022-history"]], "Titan Algorithms": [[28, "titan-algorithms"]], "AprilTag Detection": [[30, "apriltag-detection"]], "Reading Configuration": [[30, "reading-configuration"]], "Detection": [[30, "detection"]], "Multithreading": [[30, "multithreading"]], "Calibration": [[31, "calibration"]], "How to run": [[31, "how-to-run"]], "What it does": [[31, "what-it-does"]], "OS Support": [[32, "os-support"]], "Building": [[32, "building"]], "Instructions": [[32, "instructions"]], "Build Options": [[32, "build-options"]], "Configuration": [[32, "configuration"]], "Other Tools": [[32, "other-tools"]], "Localization": [[33, "localization"]], "Networking": [[34, "networking"]], "Why?": [[34, "why"]], "Limitations": [[34, "limitations"]], "C++ Client": [[34, "c-client"]], "Sending Information": [[34, "sending-information"], [34, "id3"]], "Sending Information (With Reply)": [[34, "sending-information-with-reply"], [34, "id4"]], "C Client": [[34, "id1"]], "Python Client": [[34, "python-client"]], "Java Server": [[34, "java-server"]], "Receiving Information": [[34, "receiving-information"]], "Titan Processing": [[35, "titan-processing"]], "Contributing": [[35, "contributing"]], "Titan Robotics #2022 Documentation": [[36, "titan-robotics-2022-documentation"]]}, "indexentries": {}}) \ No newline at end of file