REVLib - C++
SignalsConfig.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024 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
608private:
609 void SetPeriodMsCore(int parameterId, int periodMs);
610 void SetAlwaysOnCore(int parameterId, bool enabled);
611}; // class SignalsConfig
612
613} // 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 & AnalogVoltageAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:140
SignalsConfig & ExternalOrAltEncoderPositionAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:181
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 & BusVoltagePeriodMs(int periodMs)
Definition: SignalsConfig.cpp:53
SignalsConfig & AbsoluteEncoderVelocityPeriodMs(int periodMs)
Definition: SignalsConfig.cpp:187
SignalsConfig & WarningsPeriodMs(int periodMs)
Definition: SignalsConfig.cpp:105
SignalsConfig & AppliedOutputPeriodMs(int periodMs)
Definition: SignalsConfig.cpp:42
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() override=default
SignalsConfig & ExternalOrAltEncoderPosition(int periodMs)
Definition: SignalsConfig.cpp:176
SignalsConfig & AnalogVoltagePeriodMs(int periodMs)
Definition: SignalsConfig.cpp:135
SignalsConfig & AnalogPositionPeriodMs(int periodMs)
Definition: SignalsConfig.cpp:155
SignalsConfig & MotorTemperaturePeriodMs(int periodMs)
Definition: SignalsConfig.cpp:74
SignalsConfig & FaultsAlwaysOn(bool enabled)
Definition: SignalsConfig.cpp:100
Definition: SparkLowLevel.cpp:40