{"id":24888927,"url":"https://github.com/team846/pongo","last_synced_at":"2025-10-16T06:30:26.311Z","repository":{"id":268320596,"uuid":"903926899","full_name":"Team846/pongo","owner":"Team846","description":"Pongo: 846's Robot Codebase for 2025","archived":false,"fork":false,"pushed_at":"2025-10-03T05:35:40.000Z","size":13640,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-10-03T06:24:05.972Z","etag":null,"topics":["846","frc","frc-2025","frc-cpp","robotics"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Team846.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-12-15T22:47:27.000Z","updated_at":"2025-07-30T05:19:43.000Z","dependencies_parsed_at":"2024-12-31T20:29:05.637Z","dependency_job_id":"67dc3080-09aa-44f9-8889-dc2d1666705f","html_url":"https://github.com/Team846/pongo","commit_stats":null,"previous_names":["team846/monkey_menace","team846/pongo"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/Team846/pongo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Team846%2Fpongo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Team846%2Fpongo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Team846%2Fpongo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Team846%2Fpongo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Team846","download_url":"https://codeload.github.com/Team846/pongo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Team846%2Fpongo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279162574,"owners_count":26117238,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-16T02:00:06.019Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["846","frc","frc-2025","frc-cpp","robotics"],"created_at":"2025-02-01T16:15:30.121Z","updated_at":"2025-10-16T06:30:26.305Z","avatar_url":"https://github.com/Team846.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 2025 Codebase for FRC Team 846\n\n[![Compilation Check](https://github.com/Team846/pongo/actions/workflows/compilation_check.yaml/badge.svg)](https://github.com/Team846/pongo/actions/workflows/compilation_check.yaml)\n[![Formatting Check](https://github.com/Team846/pongo/actions/workflows/formatting_check.yaml/badge.svg)](https://github.com/Team846/pongo/actions/workflows/formatting_check.yaml)\n[![CppCheck](https://github.com/Team846/pongo/actions/workflows/cpp_check.yaml/badge.svg)](https://github.com/Team846/pongo/actions/workflows/cpp_check.yaml)\n\n## Overview\n\nKey features will be posted here very soon...\n\n## General Project Structure\n\nCode subsystems interact with hardware subsystems by: 1. writing to motors and 2. receiving sensor data. Examples of code subsystems include: driver, pivot, intake.\n\nCommands set targets to these subsystems. Some commands are like actions, such as moving the arm to a setpoint, or deploying the intake. Commands can be compounded to form more complex routines and autos.\n\n- ### src/\n  - ### y2025/\n    - ### cpp/\n      - ### subsystems/\n      - ### commands/\n      - #### main.cpp\n      - #### FunkyRobot.cc\n    - ### include/\n      - Headers\n    - ### resources/\n      Miscellaneous, vision code\n  - ### deploy/\n    Any files placed in this directory will be put onto the RIO's file system during deploy.\n    These files can be accessed by robot code.\n    - ### autos/\n      Includes scriptable autos\n- ### frc846/\n  Custom architecture. Contains motor control classes, logging classes, prefs, etc.\n- ### build\n  - ### tmp\n    Build Logs can be found here.\n    Generated by WPILib build tools, not us.\n\n## First Time Setup - Windows\n\n### --Downloads--\n\n#### WPILib Tools\n\n- Download WPILib tools and WPILib VSCode. Attached is the link for version 2025.3.2.\n  - [2025.3.2 WINDOWS](https://packages.wpilib.workers.dev/installer/v2025.3.2/Win64/WPILib_Windows-2025.3.2.iso)\n- Once downloaded, double click on the file. By default, it will be saved in the downloads folder.\n- Run the .exe file inside of it. It should be called \"WPILib Installer\".\n- Go through the default setup process.\n  - Install everything, NOT tools only.\n  - When you get to the installation for WPILib VSCode, select \"for this computer only\".\n\n#### Git\n\n- Create a GitHub account (which you should already have if you can access this?).\n  - If haven't already, send your username to me so I can add you to our organization. This allows you to modify/edit files.\n- Download git-scm from [here](https://git-scm.com/download/win).\n  - For most people, 64-bit standalone installer.\n- Run the file downloaded.\n- Go through setup process.\n  - If unsure, select default options.\n\nIf unfamiliar with GitHub, go through tutorials in the [Using Git](#using-git) section.\n\n#### LLVM\n\n- Download [LLVM](https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.8/LLVM-18.1.8-win64.exe)\n  - Run the downloaded file, go through setup process.\n- If \"Add LLVM to Path\" is an option during setup process, select YES.\n  - If not, add `C:\\Program Files\\LLVM\\bin` to PATH\n  - Read [this](https://stackoverflow.com/questions/44272416/how-to-add-a-folder-to-path-environment-variable-in-windows-10-with-screensho) for more information on adding files to PATH.\n\n#### CppCheck\n\n- Download [CppCheck](https://github.com/danmar/cppcheck/releases/download/2.16.0/cppcheck-2.16.0-x64-Setup.msi).\n- If \"Add CppCheck to Path\" is an option during setup process, select YES.\n  - If not, add `C:\\Program Files\\Cppcheck` to PATH\n  - Read [this](https://stackoverflow.com/questions/44272416/how-to-add-a-folder-to-path-environment-variable-in-windows-10-with-screensho) for more information on adding files to PATH.\n\n### --Setup--\n\n- Clone the repository.\n  - Run: `git clone https://github.com/Team846/pongo.git` in terminal.\n- Open WPILib VSCode\n- In WPILib VSCode, open the folder containing the cloned repository.\n  - The path will be `path the clone command was run in + pongo`\n- DO NOT change the gradle file. If WPILib VSCode prompts an update to the gradle file, click CANCEL.\n- Click on the WPILib icon (the W in the top right corner).\n- In the dropdown list, click on `C++: Refresh C++ Intellisense`.\n- If it succeeds, the code has been successfully setup on your computer.\n- Read the [First Build](#first-build) section.\n\nDeploying:\n\n- When trying to deploy the code to the robot, connect to the robot using either an ethernet cable or by connecting to the radio's network.\n- Then, run 'Deploy robot code'.\n\n## First Time Setup - MacOS\n\nRead through the setup process on Windows. This section will only outline the differences. You may need to install [homebrew](https://brew.sh/).\n\n### --Downloads--\n\nSelect x64 or arm depending on your chip. If using M1/M2/M3 mac, select arm.\n\nIgnore the LLVM section.\n\n- [WPILib 2025.3.2](https://github.com/wpilibsuite/allwpilib/releases/tag/v2025.3.2).\n- [git-scm](https://git-scm.com/download/mac).\n- Clang-format: `brew install clang-format`\n- CppCheck: `brew install cppcheck`\n\n### --Setup--\n\nWPILib VSCode is installed in a hard-to-find directory on MacOS. It is usually located in ~/wpilib/202x/vscode/ and is called \"Visual Studio Code\". For example it can be located in /Users/funkymonkey/wpilib/202X/vscode. If you need help finding it, ask someone who has previously installed WPILib VSCode on MacOS.\n\nIt is a good idea to rename the file or move it into your Applications folder and pin it in dock for easy access and differentiation from normal VSCode.\n\nWPILib VSCode will have a W icon in the top right corner, whereas normal VSCode will not.\n\n## First Build\n\n- Click on the WPILib icon in the top right corner of WPILib VSCode.\n- Click `WPILib: Build Robot Code`.\n- If the code fails to build, it is most likely your fault. Fix the code you changed.\n- If you didn't change anything, then ask me for help.\n\nA first build can take over 10 minutes. Subsequent builds should be under 5 minutes.\n\n## Deploying Code to the Robot\n\n- Get permission from a Software Lead.\n- Connect to the robot's network or connect directly using an ethernet cable.\n- Run `WPILib: Deploy Robot Code`.\n- Do not disconnect, stop, or power-cycle the robot for any reason during the deploy. This may damage the RoboRIO.\n\n## Using Git\n\n- [What is Git?](https://www.w3schools.com/git/git_intro.asp?remote=github)\n- [Configure](https://www.w3schools.com/git/git_getstarted.asp?remote=github)\n  - Only read the \"Configure Git\" section\n- [Commits](https://www.w3schools.com/git/git_commit.asp?remote=github)\n- [Branches](https://www.w3schools.com/git/git_branch.asp?remote=github)\n- [Branch merging](https://www.w3schools.com/git/git_branch_merge.asp?remote=github)\n  - Not as important as the other ones\n\nI have old code, I need to update it:\n\n- `git pull`\n\nI have new code which has been verified by a Software Lead. I need to give others access to it:\n\n- `git add .` \u003c-- The \".\" means all files\n- `git commit -am EXAMPLE_COMMIT_MESSAGE`\n- `git push`\n\nI need to switch to a branch:\n\n- `git checkout -b NAME_OF_BRANCH` \u003c-- to create a new branch\n- `git checkout NAME_OF_BRANCH` \u003c-- to switch to an existing branch\n\nI need to go back to a previous commit:\n\n- `git log`\n- Press SPACE to scroll down and Q (lowercase) to exit.\n- Find the hash (the random series of characters/numbers) for the commit you want.\n- `git checkout HASH`\n\nTo undo the going back:\n\n- `git switch -` \u003c-- goes back to latest commit\n\n## CppCheck Warnings\n```\nsrc/frc846/cpp/frc846/math/collection.cc:25:0: warning: The function 'VerticalDeadband' is never used. [unusedFunction]\nsrc/frc846/cpp/frc846/math/collection.cc:52:0: warning: The function 'CoterminalSum' is never used. [unusedFunction]\nsrc/frc846/cpp/frc846/math/collection.cc:65:0: warning: The function 'modulo' is never used. [unusedFunction]\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteam846%2Fpongo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteam846%2Fpongo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteam846%2Fpongo/lists"}