2023-Robot
Robot code for 2023 FRC season by Argos, FRC team #1756
Loading...
Searching...
No Matches
homing_interface.h
Go to the documentation of this file.
1
4
5#pragma once
6
8
9namespace argos_lib {
14 public:
22 virtual bool Save(const argos_lib::swerve::SwerveModulePositions& homePosition) = 0;
23
30 [[nodiscard]] virtual std::optional<argos_lib::swerve::SwerveModulePositions> Load() = 0;
31 };
32
38 template <class T>
40 public:
48 virtual bool Save(const T& homePosition) = 0;
49
56 [[nodiscard]] virtual std::optional<T> Load() = 0;
57 };
58
59} // namespace argos_lib
Interface capable of saving and loading home positions from persistent storage.
Definition homing_interface.h:39
virtual std::optional< T > Load()=0
Load home position from persistent storage.
virtual bool Save(const T &homePosition)=0
Save home position to persistent storage.
Interface capable of saving and loading module home positions from persistent storage.
Definition homing_interface.h:13
virtual std::optional< argos_lib::swerve::SwerveModulePositions > Load()=0
Load home position from persistent storage.
virtual bool Save(const argos_lib::swerve::SwerveModulePositions &homePosition)=0
Save home position to persistent storage.
Definition swap_controllers_command.h:12
Representation of the absolute encoder position of each module at home position.
Definition swerve_utils.h:38