Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document protobufs and structs #2814

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions source/docs/software/telemetry/telemetry.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,6 @@
* ``string[]``
* ``byte[]``

Telemetry data can be sent to a WPILib dashboard using an associated WPILib method (for more details, see the documentation for the individual dashboard in question), or by :ref:`directly publishing to NetworkTables <docs/software/networktables/networktables-intro:what is networktables>`.
Along with these primitive data types NetworkTables supports logging with two different serialisation formats, struct and protobuf. For most users structs will be preferable as they are significantly more performant, but in some cases (ie dynamically sized types) protobufs must be used. These can be used to log more complex data types such as `Pose2d`.

Check failure on line 25 in source/docs/software/telemetry/telemetry.rst

View workflow job for this annotation

GitHub Actions / check-spelling

[misspell] reported by reviewdog 🐶 "serialisation" is a misspelling of "serialization" Raw Output: ./source/docs/software/telemetry/telemetry.rst:25:88: "serialisation" is a misspelling of "serialization"

While NetworkTables does not yet support serialization of complex data types (this is tentatively scheduled for 2024), *mutable* types from user code can be easily extended to interface directly with WPILib dashboards via the ``Sendable`` interface, whose usage is described in the next article.
Telemetry data can be sent to a WPILib dashboard using an associated WPILib method (for more details, see the documentation for the individual dashboard in question), or by :ref:`directly publishing to NetworkTables <docs/software/networktables/networktables-intro:what is networktables>`.