CTRE_Phoenix
5.20.2
Faults.h
1
#pragma once
2
#include <sstream>
3
namespace
ctre
{
4
namespace
phoenix {
5
namespace
motorcontrol {
6
10
struct
Faults
{
14
bool
UnderVoltage
;
19
bool
ForwardLimitSwitch
;
24
bool
ReverseLimitSwitch
;
29
bool
ForwardSoftLimit
;
34
bool
ReverseSoftLimit
;
38
bool
HardwareFailure
;
43
bool
ResetDuringEn
;
47
bool
SensorOverflow
;
51
bool
SensorOutOfPhase
;
55
bool
HardwareESDReset
;
59
bool
RemoteLossOfSignal
;
63
bool
APIError
;
67
bool
SupplyOverV
;
71
bool
SupplyUnstable
;
72
76
bool
HasAnyFault
()
const
{
77
return
UnderVoltage
|
78
ForwardLimitSwitch
|
79
ReverseLimitSwitch
|
80
ForwardSoftLimit
|
81
ReverseSoftLimit
|
82
HardwareFailure
|
83
ResetDuringEn
|
84
SensorOverflow
|
85
SensorOutOfPhase
|
86
HardwareESDReset
|
87
RemoteLossOfSignal
|
88
APIError
|
89
SupplyOverV
|
90
SupplyUnstable
;
91
}
95
int
ToBitfield
()
const
{
96
int
retval = 0;
97
int
mask = 1;
98
retval |=
UnderVoltage
? mask : 0; mask <<= 1;
99
retval |=
ForwardLimitSwitch
? mask : 0; mask <<= 1;
100
retval |=
ReverseLimitSwitch
? mask : 0; mask <<= 1;
101
retval |=
ForwardSoftLimit
? mask : 0; mask <<= 1;
102
retval |=
ReverseSoftLimit
? mask : 0; mask <<= 1;
103
retval |=
HardwareFailure
? mask : 0; mask <<= 1;
104
retval |=
ResetDuringEn
? mask : 0; mask <<= 1;
105
retval |=
SensorOverflow
? mask : 0; mask <<= 1;
106
retval |=
SensorOutOfPhase
? mask : 0; mask <<= 1;
107
retval |=
HardwareESDReset
? mask : 0; mask <<= 1;
108
retval |=
RemoteLossOfSignal
? mask : 0; mask <<= 1;
109
retval |=
APIError
? mask : 0; mask <<= 1;
110
retval |=
SupplyOverV
? mask : 0; mask <<= 1;
111
retval |=
SupplyUnstable
? mask : 0; mask <<= 1;
112
return
retval;
113
}
119
Faults
(
int
bits) {
120
int
mask = 1;
121
UnderVoltage
= (bits & mask) ?
true
:
false
; mask <<= 1;
122
ForwardLimitSwitch
= (bits & mask) ?
true
:
false
; mask <<= 1;
123
ReverseLimitSwitch
= (bits & mask) ?
true
:
false
; mask <<= 1;
124
ForwardSoftLimit
= (bits & mask) ?
true
:
false
; mask <<= 1;
125
ReverseSoftLimit
= (bits & mask) ?
true
:
false
; mask <<= 1;
126
HardwareFailure
= (bits & mask) ?
true
:
false
; mask <<= 1;
127
ResetDuringEn
= (bits & mask) ?
true
:
false
; mask <<= 1;
128
SensorOverflow
= (bits & mask) ?
true
:
false
; mask <<= 1;
129
SensorOutOfPhase
= (bits & mask) ?
true
:
false
; mask <<= 1;
130
HardwareESDReset
= (bits & mask) ?
true
:
false
; mask <<= 1;
131
RemoteLossOfSignal
= (bits & mask) ?
true
:
false
; mask <<= 1;
132
APIError
= (bits & mask) ?
true
:
false
; mask <<= 1;
133
SupplyOverV
= (bits & mask) ?
true
:
false
; mask <<= 1;
134
SupplyUnstable
= (bits & mask) ?
true
:
false
; mask <<= 1;
135
}
136
Faults
() {
137
UnderVoltage
=
false
;
138
ForwardLimitSwitch
=
false
;
139
ReverseLimitSwitch
=
false
;
140
ForwardSoftLimit
=
false
;
141
ReverseSoftLimit
=
false
;
142
HardwareFailure
=
false
;
143
ResetDuringEn
=
false
;
144
SensorOverflow
=
false
;
145
SensorOutOfPhase
=
false
;
146
HardwareESDReset
=
false
;
147
RemoteLossOfSignal
=
false
;
148
APIError
=
false
;
149
SupplyOverV
=
false
;
150
SupplyUnstable
=
false
;
151
}
155
std::string
ToString
() {
156
std::stringstream work;
157
work <<
" UnderVoltage:"
<< (
UnderVoltage
?
"1"
:
"0"
);
158
work <<
" ForwardLimitSwitch:"
<< (
ForwardLimitSwitch
?
"1"
:
"0"
);
159
work <<
" ReverseLimitSwitch:"
<< (
ReverseLimitSwitch
?
"1"
:
"0"
);
160
work <<
" ForwardSoftLimit:"
<< (
ForwardSoftLimit
?
"1"
:
"0"
);
161
work <<
" ReverseSoftLimit:"
<< (
ReverseSoftLimit
?
"1"
:
"0"
);
162
work <<
" HardwareFailure:"
<< (
HardwareFailure
?
"1"
:
"0"
);
163
work <<
" ResetDuringEn:"
<< (
ResetDuringEn
?
"1"
:
"0"
);
164
work <<
" SensorOverflow:"
<< (
SensorOverflow
?
"1"
:
"0"
);
165
work <<
" SensorOutOfPhase:"
<< (
SensorOutOfPhase
?
"1"
:
"0"
);
166
work <<
" HardwareESDReset:"
<< (
HardwareESDReset
?
"1"
:
"0"
);
167
work <<
" RemoteLossOfSignal:"
<< (
RemoteLossOfSignal
?
"1"
:
"0"
);
168
work <<
" APIError:"
<< (
APIError
?
"1"
:
"0"
);
169
work <<
" SupplyOverV:"
<< (
SupplyOverV
?
"1"
:
"0"
);
170
work <<
" SupplyUnstable:"
<< (
SupplyUnstable
?
"1"
:
"0"
);
171
return
work.str();
172
}
173
};
174
175
}
// namespace motorcontrol
176
}
// namespace phoenix
177
}
// namespace ctre
ctre
Definition:
ErrorCode.h:5
ctre::phoenix::motorcontrol::Faults
Definition:
Faults.h:10
ctre::phoenix::motorcontrol::Faults::ToBitfield
int ToBitfield() const
Definition:
Faults.h:95
ctre::phoenix::motorcontrol::Faults::ForwardLimitSwitch
bool ForwardLimitSwitch
Definition:
Faults.h:19
ctre::phoenix::motorcontrol::Faults::HardwareESDReset
bool HardwareESDReset
Definition:
Faults.h:55
ctre::phoenix::motorcontrol::Faults::ForwardSoftLimit
bool ForwardSoftLimit
Definition:
Faults.h:29
ctre::phoenix::motorcontrol::Faults::ToString
std::string ToString()
Definition:
Faults.h:155
ctre::phoenix::motorcontrol::Faults::ReverseSoftLimit
bool ReverseSoftLimit
Definition:
Faults.h:34
ctre::phoenix::motorcontrol::Faults::SensorOverflow
bool SensorOverflow
Definition:
Faults.h:47
ctre::phoenix::motorcontrol::Faults::SensorOutOfPhase
bool SensorOutOfPhase
Definition:
Faults.h:51
ctre::phoenix::motorcontrol::Faults::Faults
Faults(int bits)
Definition:
Faults.h:119
ctre::phoenix::motorcontrol::Faults::HasAnyFault
bool HasAnyFault() const
Definition:
Faults.h:76
ctre::phoenix::motorcontrol::Faults::ResetDuringEn
bool ResetDuringEn
Definition:
Faults.h:43
ctre::phoenix::motorcontrol::Faults::RemoteLossOfSignal
bool RemoteLossOfSignal
Definition:
Faults.h:59
ctre::phoenix::motorcontrol::Faults::HardwareFailure
bool HardwareFailure
Definition:
Faults.h:38
ctre::phoenix::motorcontrol::Faults::SupplyOverV
bool SupplyOverV
Definition:
Faults.h:67
ctre::phoenix::motorcontrol::Faults::UnderVoltage
bool UnderVoltage
Definition:
Faults.h:14
ctre::phoenix::motorcontrol::Faults::ReverseLimitSwitch
bool ReverseLimitSwitch
Definition:
Faults.h:24
ctre::phoenix::motorcontrol::Faults::SupplyUnstable
bool SupplyUnstable
Definition:
Faults.h:71
ctre::phoenix::motorcontrol::Faults::APIError
bool APIError
Definition:
Faults.h:63
Phoenix-cci
src
main
native
include
ctre
phoenix
motorcontrol
Faults.h
Generated by
1.9.3