CTRE_Phoenix 5.20.2
CANCoderFaults.h
1#pragma once
2
3namespace ctre {
4 namespace phoenix {
5 namespace sensors {
6
36 bool HasAnyFault() const {
37 return HardwareFault |
38 APIError |
42 }
46 int ToBitfield() const {
47 int retval = 0;
48 int mask = 1;
49 retval |= HardwareFault ? mask : 0; mask <<= 1;
50 retval |= APIError ? mask : 0; mask <<= 1;
51 retval |= UnderVoltage ? mask : 0; mask <<= 1;
52 retval |= ResetDuringEn ? mask : 0; mask <<= 1;
53 mask <<= 3; /* 3 faults currently unused */
54 retval |= MagnetTooWeak ? mask : 0; mask <<= 1;
55 return retval;
56 }
62 void Update(int bits) {
63 int mask = 1;
64 HardwareFault = (bits & mask) ? true : false; mask <<= 1;
65 APIError = (bits & mask) ? true : false; mask <<= 1;
66 UnderVoltage = (bits & mask) ? true : false; mask <<= 1;
67 ResetDuringEn = (bits & mask) ? true : false; mask <<= 1;
68 mask <<= 3; /* 3 faults currently unused */
69 MagnetTooWeak = (bits & mask) ? true : false; mask <<= 1;
70 }
76 CANCoderFaults(int bits) {
77 Update(bits);
78 }
80 HardwareFault = false;
81 APIError = false;
82 UnderVoltage = false;
83 ResetDuringEn = false;
84 MagnetTooWeak = false;
85 }
86 };
87
88 } // namespace sensors
89 } // namespace phoenix
90} // namespace ctre
91
Definition: ErrorCode.h:5
Definition: CANCoderFaults.h:10
bool HasAnyFault() const
Definition: CANCoderFaults.h:36
bool ResetDuringEn
Definition: CANCoderFaults.h:27
bool HardwareFault
Definition: CANCoderFaults.h:14
bool APIError
Definition: CANCoderFaults.h:18
bool UnderVoltage
Definition: CANCoderFaults.h:22
void Update(int bits)
Definition: CANCoderFaults.h:62
bool MagnetTooWeak
Definition: CANCoderFaults.h:32
CANCoderFaults(int bits)
Definition: CANCoderFaults.h:76
int ToBitfield() const
Definition: CANCoderFaults.h:46