REVLib - C++
SignalsConfig.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024-2025 REV Robotics
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are met:
6 *
7 * 1. Redistributions of source code must retain the above copyright notice,
8 * this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * 3. Neither the name of REV Robotics nor the names of its
13 * contributors may be used to endorse or promote products derived from
14 * this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 * POSSIBILITY OF SUCH DAMAGE.
27 */
28
29#pragma once
30
32
33namespace rev::spark {
34
35class SignalsConfig : public BaseConfig {
36public:
37 SignalsConfig() = default;
38 ~SignalsConfig() override = default;
39
40 SignalsConfig(const SignalsConfig&) = delete;
42 SignalsConfig(SignalsConfig&&) noexcept = delete;
43 SignalsConfig& operator=(SignalsConfig&&) noexcept = delete;
44
55
71
90 [[deprecated]] SignalsConfig& AppliedOutputAlwaysOn(bool enabled);
91
107 SignalsConfig& BusVoltagePeriodMs(int periodMs);
108
127 [[deprecated]] SignalsConfig& BusVoltageAlwaysOn(bool enabled);
128
145
164 [[deprecated]] SignalsConfig& OutputCurrentAlwaysOn(bool enabled);
165
182
201 [[deprecated]] SignalsConfig& MotorTemperatureAlwaysOn(bool enabled);
202
218 SignalsConfig& LimitsPeriodMs(int periodMs);
219
238 [[deprecated]] SignalsConfig& LimitsAlwaysOn(bool enabled);
239
251 SignalsConfig& FaultsPeriodMs(int periodMs);
252
270 SignalsConfig& FaultsAlwaysOn(bool enabled);
271
283 SignalsConfig& WarningsPeriodMs(int periodMs);
284
302 SignalsConfig& WarningsAlwaysOn(bool enabled);
303
315
333
345
363
375
393
405
423
435
453
466
485
498
517
529
547
559
577
589
607
618 SignalsConfig& SetpointPeriodMs(int periodMs);
619
636 SignalsConfig& SetpointAlwaysOn(bool enabled);
637
648 SignalsConfig& IsAtSetpointPeriodMs(int periodMs);
649
666 SignalsConfig& IsAtSetpointAlwaysOn(bool enabled);
667
679 SignalsConfig& SelectedSlotPeriodMs(int periodMs);
680
697 SignalsConfig& SelectedSlotAlwaysOn(bool enabled);
698
713
733
748
768
769private:
770 void SetPeriodMsCore(int parameterId, int periodMs);
771 void SetAlwaysOnCore(int parameterId, bool enabled);
772}; // class SignalsConfig
773
774} // namespace rev::spark
Definition: BaseConfig.h:40
Definition: SignalsConfig.h:35
SignalsConfig & AnalogVelocityPeriodMs(int periodMs)
Definition: SignalsConfig.cpp:145
SignalsConfig & BusVoltageAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:58
SignalsConfig & WarningsAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:110
SignalsConfig & PrimaryEncoderVelocityPeriodMs(int periodMs)
Definition: SignalsConfig.cpp:115
SignalsConfig & SetpointPeriodMs(int periodMs)
Definition: SignalsConfig.cpp:217
SignalsConfig & AnalogVoltageAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:140
SignalsConfig & ExternalOrAltEncoderPositionAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:181
SignalsConfig & SelectedSlotAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:242
SignalsConfig & AppliedOutputAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:47
SignalsConfig & AbsoluteEncoderPositionAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:202
SignalsConfig & operator=(const SignalsConfig &)=delete
SignalsConfig(SignalsConfig &&) noexcept=delete
SignalsConfig & PrimaryEncoderPositionPeriodMs(int periodMs)
Definition: SignalsConfig.cpp:125
SignalsConfig & PrimaryEncoderPositionAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:130
SignalsConfig & ExternalOrAltEncoderVelocity(int periodMs)
Definition: SignalsConfig.cpp:165
SignalsConfig & OutputCurrentAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:68
SignalsConfig & OutputCurrentPeriodMs(int periodMs)
Definition: SignalsConfig.cpp:63
SignalsConfig & LimitsPeriodMs(int periodMs)
Definition: SignalsConfig.cpp:85
SignalsConfig & ExternalOrAltEncoderVelocityAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:170
SignalsConfig & IAccumulationPeriodMs(int periodMs)
Definition: SignalsConfig.cpp:207
SignalsConfig & IAccumulationAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:212
SignalsConfig & AnalogVelocityAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:150
SignalsConfig & AnalogPositionAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:160
SignalsConfig & Apply(SignalsConfig &config)
Definition: SignalsConfig.cpp:37
SignalsConfig & AbsoluteEncoderPositionPeriodMs(int periodMs)
Definition: SignalsConfig.cpp:197
SignalsConfig & MaxMotionSetpointVelocityPeriodMs(int periodMs)
Definition: SignalsConfig.cpp:257
SignalsConfig & BusVoltagePeriodMs(int periodMs)
Definition: SignalsConfig.cpp:53
SignalsConfig & AbsoluteEncoderVelocityPeriodMs(int periodMs)
Definition: SignalsConfig.cpp:187
SignalsConfig & SetpointAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:222
SignalsConfig & MaxMotionSetpointPositionPeriodMs(int periodMs)
Definition: SignalsConfig.cpp:247
SignalsConfig & WarningsPeriodMs(int periodMs)
Definition: SignalsConfig.cpp:105
SignalsConfig & AppliedOutputPeriodMs(int periodMs)
Definition: SignalsConfig.cpp:42
SignalsConfig & IsAtSetpointPeriodMs(int periodMs)
Definition: SignalsConfig.cpp:227
SignalsConfig & AbsoluteEncoderVelocityAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:192
SignalsConfig & MotorTemperatureAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:79
SignalsConfig & PrimaryEncoderVelocityAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:120
SignalsConfig(const SignalsConfig &)=delete
SignalsConfig & FaultsPeriodMs(int periodMs)
Definition: SignalsConfig.cpp:95
SignalsConfig & LimitsAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:90
SignalsConfig & SelectedSlotPeriodMs(int periodMs)
Definition: SignalsConfig.cpp:237
~SignalsConfig() override=default
SignalsConfig & ExternalOrAltEncoderPosition(int periodMs)
Definition: SignalsConfig.cpp:176
SignalsConfig & AnalogVoltagePeriodMs(int periodMs)
Definition: SignalsConfig.cpp:135
SignalsConfig & IsAtSetpointAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:232
SignalsConfig & AnalogPositionPeriodMs(int periodMs)
Definition: SignalsConfig.cpp:155
SignalsConfig & MaxMotionSetpointVelocityAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:262
SignalsConfig & MotorTemperaturePeriodMs(int periodMs)
Definition: SignalsConfig.cpp:74
SignalsConfig & MaxMotionSetpointPositionAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:252
SignalsConfig & FaultsAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:100
Definition: SparkLowLevel.cpp:40