Skip to content

Commit fbd3f21

Browse files
authored
Merge branch 'main' into add-troubleshooting-docs
2 parents 8f9c3ee + 74322af commit fbd3f21

File tree

228 files changed

+6605
-6911
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

228 files changed

+6605
-6911
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ If applicable, add screenshots to help explain your problem. Additionally, provi
2222

2323
**Platform:**
2424
- Hardware Platform (ex. Raspberry Pi 4, Windows x64):
25+
- How is it powered? (ex. Zinc-V, Pololu Buck Converter, Battery Bank):
2526
- Network Configuration (Connection between the Radio and any devices in between, such as a Network Switch):
2627
- PhotonVision Version:
2728
- Browser (with Version) (Chrome, Edge, Firefox, etc.):

.github/ISSUE_TEMPLATE/docs_issue.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
name: Documentation Request
3+
about: Something needs to be documented/updated in the documentation
4+
title: ''
5+
labels: documentation
6+
assignees: ''
7+
8+
---
9+
10+
**Are you requesting documentation for a new feature, or updated documentation for an old feature?**
11+
Put the feature you are requesting documentation for here, along with whether the documentation is stale and needs to be updated, or whether the documentation does not exist, and needs to be created.
12+
13+
**Where is it?**
14+
Put the location of the documentation that needs to be updated here. If you're requesting documenation for a new feature, put where you think it should go.
15+
16+
**Additional context**
17+
Add any other context or screenshots about the feature request here.

.github/workflows/build.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
- name: Setup Node.js
2727
uses: actions/setup-node@v4
2828
with:
29-
node-version: 18
29+
node-version: 22
3030
- name: Install Dependencies
3131
run: npm ci
3232
- name: Build Production Client
@@ -557,7 +557,8 @@ jobs:
557557
rm: true
558558
files: |
559559
**/*.xz
560-
**/*.jar
560+
**/*linux*.jar
561+
**/*win*.jar
561562
**/photonlib*.json
562563
**/photonlib*.zip
563564
if: github.event_name == 'push'

.github/workflows/lint-format.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ jobs:
6868
- name: Setup Node.js
6969
uses: actions/setup-node@v4
7070
with:
71-
node-version: 18
71+
node-version: 22
7272
- name: Install Dependencies
7373
run: npm ci
7474
- name: Check Linting

.github/workflows/photon-api-docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
- name: Setup Node.js
3333
uses: actions/setup-node@v4
3434
with:
35-
node-version: 18
35+
node-version: 22
3636
- name: Install Dependencies
3737
run: npm ci
3838
- name: Build Production Client

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ __pycache__/
77
backend/settings/
88
.vscode/
99
# Docs
10-
source/_build
11-
source/docs/_build
10+
_build
1211
# Compiled class file
1312
*.class
1413

build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ ext {
3737
wpimathVersion = wpilibVersion
3838
openCVYear = "2025"
3939
openCVversion = "4.10.0-3"
40-
joglVersion = "2.4.0"
4140
javalinVersion = "5.6.2"
4241
libcameraDriverVersion = "v2025.0.3"
4342
rknnVersion = "dev-v2025.0.0-1-g33b6263"

docs/source/docs/apriltag-pipelines/multitag.md

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,30 +23,41 @@ Ensure that your camera is calibrated and 3D mode is enabled. Navigate to the Ou
2323
By default, enabling multi-target will disable calculating camera-to-target transforms for each observed AprilTag target to increase performance; the X/Y/angle numbers shown in the target table of the UI are instead calculated using the tag's expected location (per the field layout JSON) and the field-to-camera transform calculated using MultiTag. If you additionally want the individual camera-to-target transform calculated using SolvePNP for each target, enable "Always Do Single-Target Estimation".
2424
:::
2525

26-
This multi-target pose estimate can be accessed using PhotonLib. We suggest using {ref}`the PhotonPoseEstimator class <docs/programming/photonlib/robot-pose-estimator:AprilTags and PhotonPoseEstimator>` with the `MULTI_TAG_PNP_ON_COPROCESSOR` strategy to simplify code, but the transform can be directly accessed using `getMultiTagResult`/`MultiTagResult()` (Java/C++).
26+
This multi-target pose estimate can be accessed using PhotonLib. We suggest using {ref}`the PhotonPoseEstimator class <docs/programming/photonlib/robot-pose-estimator:AprilTags and PhotonPoseEstimator>` with the `MULTI_TAG_PNP_ON_COPROCESSOR` strategy to simplify code, but the transform can be directly accessed using `getMultiTagResult`/`MultiTagResult()`/`multitagResult` (Java/C++/Python).
2727

2828
```{eval-rst}
2929
.. tab-set-code::
3030
3131
.. code-block:: Java
3232
33-
var result = camera.getLatestResult();
34-
if (result.getMultiTagResult().estimatedPose.isPresent) {
35-
Transform3d fieldToCamera = result.getMultiTagResult().estimatedPose.best;
33+
var results = camera.getAllUnreadResults();
34+
for (var result : results) {
35+
var multiTagResult = result.getMultiTagResult();
36+
if (multiTagResult.isPresent()) {
37+
var fieldToCamera = multiTagResult.get().estimatedPose.best;
38+
}
3639
}
3740
3841
3942
.. code-block:: C++
4043
41-
auto result = camera.GetLatestResult();
42-
if (result.MultiTagResult().result.isPresent) {
43-
frc::Transform3d fieldToCamera = result.MultiTagResult().result.best;
44+
auto results = camera.GetAllUnreadResults();
45+
for (auto &result : results)
46+
{
47+
auto multiTagResult = result.MultiTagResult();
48+
if (multiTagResult.has_value()) {
49+
frc::Transform3d fieldToCamera = multiTagResult->estimatedPose.best;
4450
}
51+
}
4552
46-
.. code-block:: Python
4753
48-
# Coming Soon!
54+
.. code-block:: Python
4955
56+
results = camera.getAllUnreadResults()
57+
for result in results:
58+
multitagResult = result.multitagResult
59+
if multitagResult is not None:
60+
fieldToCamera = multitagResult.estimatedPose.best
5061
```
5162

5263
:::{note}
File renamed without changes.

0 commit comments

Comments
 (0)