{"id":24280832,"url":"https://github.com/choate-robotics/7407-drivecode-reefscape","last_synced_at":"2025-10-24T13:51:34.479Z","repository":{"id":272056656,"uuid":"915399929","full_name":"Choate-Robotics/7407-DriveCode-Reefscape","owner":"Choate-Robotics","description":"DriveCode for the 2025 FRC game Reefscape","archived":false,"fork":false,"pushed_at":"2025-03-04T22:05:26.000Z","size":12639,"stargazers_count":2,"open_issues_count":12,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-04T23:19:32.004Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Choate-Robotics.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}},"created_at":"2025-01-11T18:42:36.000Z","updated_at":"2025-03-04T21:28:42.000Z","dependencies_parsed_at":"2025-01-19T04:25:46.693Z","dependency_job_id":"dcc1c3aa-67d4-44bb-8ec1-4bd32e08ff0a","html_url":"https://github.com/Choate-Robotics/7407-DriveCode-Reefscape","commit_stats":null,"previous_names":["choate-robotics/7407-drivecode-reefscape"],"tags_count":0,"template":false,"template_full_name":"Choate-Robotics/7407-DriveCode-Template-v2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Choate-Robotics%2F7407-DriveCode-Reefscape","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Choate-Robotics%2F7407-DriveCode-Reefscape/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Choate-Robotics%2F7407-DriveCode-Reefscape/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Choate-Robotics%2F7407-DriveCode-Reefscape/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Choate-Robotics","download_url":"https://codeload.github.com/Choate-Robotics/7407-DriveCode-Reefscape/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242039718,"owners_count":20061927,"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","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":[],"created_at":"2025-01-16T02:36:55.644Z","updated_at":"2025-10-24T13:51:29.451Z","avatar_url":"https://github.com/Choate-Robotics.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# 7407-DriveCode-Reefscape\n\nTeam 7407 Wired Boars Reefscape Robot Code\n\n## File Tree:\n```\n7407-DriveCode-Reefscape\n├── autonomous (Contains autonomous routines for robot)\n├── command (Contains commands for command scheduling)\n│   └── __init__.py\n├── oi (Operator Interface)\n│   ├── OI.py (Contains keymappings to commands)\n│   └── keymap.py (Contains controller keymaps for each subsystem and controller)\n├── sensors (Contains sensor classes)\n│   └── __init__.py (Contains sensor classes)\n├── subsystem (Contains subsystem classes)\n│   └── __init__.py\n├── tests (Contains custom tests for code verification)\n│   └── __init__.py\n│   └── conftest.py (Contains test fixtures)\n│   └── test_examples.py (Contains test examples for writing tests)\n├── utils (Contains utilities like optimizations, conversions)\n│   └── __init__.py\n├── .gitignore (Filters out unnecessary files, for example *.pyc)\n├── README.md (This file)\n├── constants.py (Variables held constant throughout code.)\n├── config.py (Easy configurations for entire robot.)\n├── pyproject.toml (DO NOT EDIT.)\n├── robot.py (Central program, controls everything.)\n└── robot_systems.py (Contains initialized sensors and subsystems)\n```\n\n\n## Getting Started:\n\nCheck out our documentation [here](https://choate-robotics.github.io/Programming-SOPs/).\n\n\n\n\u003c!-- You will need to have at least python 3.12 installed on your computer. \n\n\n\n### Directions\n\n#### Clone the repository code onto your computer:\n\n```\n\ngit clone https://github.com/Choate-Robotics/7407-DriveCode-Reefscape.git\n\n```\n\n\n#### Linux and Mac\n\nYou might have to replace \"python\" at the end with \"python3\" depending on how python is configured in your system.\n\n#### Windows Powershell\n\n\n### Deploying Code:\nConnect to the robot's wifi.\n``python -m robotpy deploy``\nIf absolutely necessary, use ``python -m robotpy deploy --skip-tests`` to avoid WPILib version issues on the robot.\n\n\n## Best Practices\n\n### Pre-Commit, Formatting\n\nMake sure to run ```pre-commit install``` before your first commit. When you commit, pre-commit will automatically check all files you have staged using Flake8, Black, ISort, and other formatters.\n\n- If the response contains an ERROR:\n\n\t- If the error response contains \"Files were modified by this hook\":\n\t\t- ``git add .``\n\t\t- ``git commit -m \"Message\"``\n\t- Otherwise, manually fix the issues outlined, re-stage your files ( ``git add.``) and recommit.\n\nDo not forget to ``git add .`` before committing.\n\n### Commenting\nComment, comment, comment!\n - Use block quotes to start any function with parameters, and every class's \"\\_\\_init\\_\\_\" function. Block quotes should contain:\n\t - Summary\n\t - Arguments, with types and descriptions\n\t - Return description\n\t There are many extensions to help with docstrings. Examples include:\n\t\t - autoDocstring on VsCode\n\t\t - On PyCharm\n\t\t\t - Place your cursor over a function or class name.\n\t\t\t - Alt-Enter\n\t\t\t - Generate documentation string stub\n - Use single line comments for any function without parameters with a description of the function.\n - Use single line comments before any complex function to describe how it works, and to the right of any line or variable that is very complicated.\n - Use TODO comments freely.\n\n### Adding libraries\n\n**REVISE THIS WITH PYPROJECT.TOML**\n\n\n### Committing, Pushing, and Pulling\nTo commit:\n```\ngit add .\ngit commit -m \"Message\"\n```\nTo push:\n```\ngit push\n```\nTo pull:\n```\ngit fetch\ngit pull\n```\n\n### Branching\nTo branch, first make sure that all your local changes are committed. If you would like to abandon the changes, run ``git reset --hard``. Be very careful with resetting.\nTo branch: ``git branch {branch name}\n\nBranch names are as follows:\n - Subsystem Initialization branch format: init/{subsystem}\n\t - Example: init/shooter\n\t - Example: init/drivetrain\n - Feature branch format: feat/{subsystems}/{feature}\n\t - Example: feat/shooter/optimized_shooting\n\t - Example: feat/intake-index/ejection\n - Fix branch format: fix/{subsystems}/issue\n\t - Example: fix/camera_server/wrong_ports\n\t - Example: fix/robot/network_loop_time\n\t - Example: fix/sensors/clean_up\n - Competition branch format: comp/{competition}/day/{day}\n\t - Example: comp/battlecry/day/0 (load_in, initial setup, configurations)\n\t - Example: comp/hartford/day/1\n\n### Pull Requests\n\nWhen you have finished a feature, fix, or initialization, create a pull request. Pull requests should \nbe created from your branch to the dev branch, and then when tested on the robot in the dev branch\ncode should then be merged into the main branch.\n\n### Competition Exceptions\n#### Pre-commits\n - To avoid frustration, please use ``git commit -m \"{Message}\" --no-verify``\n### Debugging:\n#### Logger\n - USE LOGGER! It makes it easier on everyone to debug.\n#### Smart Dashboard/Shuffleboard\n - Shuffleboard is preferred over the Smart Dashboard and console for debugging. To use shuffleboard, just push a string, number, boolean, or similar value to the SmartDashboard using \"wpilib.SmartDashboard.pushNumber ...\" etc. The value is then accessible through ShuffleBoard.\n\n## Resources\n - [RobotPy Documentation](https://robotpy.readthedocs.io/en/stable/) We love RobotPy!\n - [WPILib Documentation](https://docs.wpilib.org/en/stable/index.html) RobotPy is just a wrapper for the WPILib C++ Code. Most of the structure remains the same.\n - [Chief Delphi](https://www.chiefdelphi.com/) Many a sensor problem have been fixed by looking here.\n - [7407 DriveCode-2021-Python](https://github.com/Choate-Robotics/7407-DriveCode-2021-Python) Worlds level code! --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchoate-robotics%2F7407-drivecode-reefscape","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchoate-robotics%2F7407-drivecode-reefscape","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchoate-robotics%2F7407-drivecode-reefscape/lists"}