|
YAMS
Yet Another Mechanism System
|
#include <SwerveModuleTelemetry.hpp>
Public Types | |
| using | DoubleTelemetryField = SwerveModuleTelemetryConfig::DoubleTelemetryField |
| using | StructTelemetryField = SwerveModuleTelemetryConfig::StructTelemetryField |
Public Member Functions | |
| SwerveModuleTelemetry (SwerveModuleTelemetryConfig config) | |
| void | SetupTelemetry (const std::string &mechName, mechanisms::swerve::SwerveModule &module) |
| void | Publish (mechanisms::swerve::SwerveModule &module) |
| void | Close () |
Swerve module telemetry.
Publishes the module's raw absolute encoder angle (without offsets applied) and current SwerveModuleState to NetworkTables and/or a WPILib DataLog, and wires the drive/azimuth SmartMotorControllers' own telemetry under the same module subtable.
This class is managed internally by SwerveModule. You do not normally instantiate it directly; instead configure telemetry through SwerveModuleConfig::WithTelemetry(name, SwerveModuleTelemetryConfig) or SwerveModuleConfig::WithTelemetry(name, TelemetryVerbosity) before constructing the module.
| using yams::telemetry::SwerveModuleTelemetry::DoubleTelemetryField = SwerveModuleTelemetryConfig::DoubleTelemetryField |
| using yams::telemetry::SwerveModuleTelemetry::StructTelemetryField = SwerveModuleTelemetryConfig::StructTelemetryField |
|
explicit |
Create SwerveModule telemetry for logging in NetworkTables and DataLog.
| config | Telemetry configuration selecting which fields to publish. |
| void yams::telemetry::SwerveModuleTelemetry::Close | ( | ) |
Release all NT4 pub/sub handles.
| void yams::telemetry::SwerveModuleTelemetry::Publish | ( | mechanisms::swerve::SwerveModule & | module | ) |
Publish telemetry to NetworkTables and DataLog.
| module | Module to publish telemetry from. |
| void yams::telemetry::SwerveModuleTelemetry::SetupTelemetry | ( | const std::string & | mechName, |
| mechanisms::swerve::SwerveModule & | module | ||
| ) |
Setup telemetry for the module.
| mechName | Telemetry name of the parent SwerveDrive. |
| module | Module to use for telemetry. |