Initial page

2026-03-26 19:00:50 +00:00
commit eab35b8538

105
Home.md Normal file

@@ -0,0 +1,105 @@
# Pynamics — Pybricks Utilities for FLL SPIKE Prime robots
> A collection of Pybricks utilities to assist in your FLL robot programming with Python.
> Created by FLL Team 65266 — Lego Dynamics.
---
## What is Pynamics?
Pynamics is an open-source toolkit built for [Pybricks](https://pybricks.com/) that helps FIRST LEGO League (FLL) teams write, test, and diagnose their robot programs in Python. It provides ready-to-use diagnostic tools, starter templates, and an experimental IDE designed to simplify the development workflow.
The project is hosted on the [Lego Dynamics Git Server](https://codes.fll-65266.org/Arcmyx/pynamics) and is being actively developed by the team.
---
## Getting Started
### Download & Install
1. Go to the [repository](https://codes.fll-65266.org/Arcmyx/pynamics/src/branch/arcmyx-dev) and click Code → Download ZIP.
2. Unzip the archive on your computer.
3. Open [code.pybricks.com](https://code.pybricks.com) in your browser.
4. Use the Import button in Pybricks to open the files from whichever folder you need.
5. Connect your SPIKE Prime Hub (currently the only supported hub) and press Run.
Alternatively, clone via Git:
```bash
git clone https://codes.fll-65266.org/Arcmyx/pynamics.git
```
> **Note:** A custom Pynamics IDE is currently in development. It will automatically fetch the latest pre-compiled bytecode, send it directly to your robot, and provide a formatted output viewer — eliminating the manual import steps described above.
---
## Utilities
### Diagnostics
The `diagnostics/` folder contains a comprehensive set of programs for testing individual robot components. To use them:
1. Import all files in the `diagnostics/` folder into Pybricks (you can select them all at once).
2. Switch to `full_diagnostics.py` and press Run.
3. Follow the on-screen instructions.
> **Note:** Compilation may take a moment — the diagnostics suite imports thousands of lines of code. This is one of the key problems the upcoming Pynamics IDE will solve by distributing pre-compiled bytecode.
#### Diagnostic Modules
| File | What It Tests |
|---|---|
| `full_diagnostics.py` | Entry point — runs the complete diagnostic suite |
| `hub_diagnostics.py` | Hub status, firmware, and system info |
| `battery_diagnostics.py` | Battery voltage and charge level |
| `motor_diagnostics.py` | Motor ports, rotation, and speed |
| `drive_base_diagnostics.py` | Drive base movement and calibration |
| `color_sensor_diagnostics.py` | Color sensor readings and detection |
| `micropython_diagnostics.py` | MicroPython environment info |
| `os_diagnostics.py` | Operating system / MicroPython internals rigorous testing |
| `other_functions.py` | Shared helper functions used by other modules |
---
### Templates
The `templates/` folder provides boilerplate code to jumpstart common FLL programming patterns.
### Experiments & Tests
Located in the `experiments/` and `tests/` folders, respectively, the former is for interesting ideas or just-for-fun things, and the latter is for storing tiny, temporary files for developers to test new features.
---
## Display Tips
For the best experience with the ASCII art UI used in the diagnostics tool, set your Pybricks window zoom to 90% on smaller screens (the upcoming Pynamics IDE will fix all of this).
---
## License
Pynamics is licensed under the **Creative Commons Attribution 4.0 International (CC BY 4.0)**.
You are free to:
- **Share** — copy and redistribute the material in any medium or format.
- **Adapt** — remix, transform, and build upon the material for any purpose, even commercially.
Under the following condition:
- **Attribution** — You must give appropriate credit, link to this repository, and indicate if changes were made. Do not claim the work as your own.
See the [`LICENSE`](https://codes.fll-65266.org/Arcmyx/pynamics/raw/branch/arcmyx-dev/LICENSE) file for full legal details.
---
## Links
- [Repository Home](https://codes.fll-65266.org/Arcmyx/pynamics/src/branch/arcmyx-dev)
- [Releases](https://codes.fll-65266.org/Arcmyx/pynamics/releases/)
- [Issues](https://codes.fll-65266.org/Arcmyx/pynamics/issues)
- [Pull Requests](https://codes.fll-65266.org/Arcmyx/pynamics/pulls)
- [Activity](https://codes.fll-65266.org/Arcmyx/pynamics/activity)
---
*Made by FLL Team 65266 — Lego Dynamics*