CTRE_Phoenix 5.20.2
CANCoderStickyFaults.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 }
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
Definition: ErrorCode.h:5
Definition: CANCoderStickyFaults.h:10
bool ResetDuringEn
Definition: CANCoderStickyFaults.h:27
bool APIError
Definition: CANCoderStickyFaults.h:18
void Update(int bits)
Definition: CANCoderStickyFaults.h:62
int ToBitfield() const
Definition: CANCoderStickyFaults.h:46
bool HasAnyFault() const
Definition: CANCoderStickyFaults.h:36
bool HardwareFault
Definition: CANCoderStickyFaults.h:14
CANCoderStickyFaults(int bits)
Definition: CANCoderStickyFaults.h:76
bool UnderVoltage
Definition: CANCoderStickyFaults.h:22
bool MagnetTooWeak
Definition: CANCoderStickyFaults.h:32