23#ifndef __STATUSMANAGER_H__
24#define __STATUSMANAGER_H__
141 operator bool()
const {
146#ifndef HIDE_FROM_DOXYGEN
331 m_blinkMgr.BlinkCodeClear(group, code);
350#ifndef HIDE_FROM_DOXYGEN
354 bool Initialize(ShiftRegister::Masks faultLed);
365 void HBridgeState(
bool reset);
478 m_blinkMgr.CodeGroupAdd(
479 BlinkCodeDriver::BLINK_GROUP_APPLICATION, mask);
483 StatusRegister m_statusRegSinceStartup;
484 StatusRegister m_statusRegRT;
485 StatusRegister m_statusRegAccum;
486 StatusRegister m_statusRegRisen;
487 StatusRegister m_statusRegFallen;
493 ShiftRegister::Masks m_faultLed;
494 BlinkCodeDriver m_blinkMgr;
496 bool m_disableMotors;
497 volatile bool m_hbridgeResetting;
500 : m_statusRegSinceStartup(),
505 m_faultLed(ShiftRegister::SR_NO_FEEDBACK_MASK),
506 m_disableMotors(false),
507 m_hbridgeResetting(false) {}
518 void BlinkCode(BlinkCodeDriver::BlinkCodeGroups group, uint8_t mask);
527 void UpdateBlinkCodes(StatusRegister status);
532 void OverloadUpdate(uint32_t mask,
bool inFault);
Status blink code driver.
LED shift register access class.
ClearCore I/O Expansion Board Manager Class.
Definition CcioBoardManager.h:91
ClearCore digital output connector class.
Definition DigitalInOut.h:60
ClearCore Status Register Manager class.
Definition StatusManager.h:37
void BlinkCodeClear(uint8_t group, uint8_t code)
Definition StatusManager.h:330
StatusRegister StatusRT(StatusRegister mask=UINT32_MAX)
The real time status register.
StatusRegister SinceStartupAccum(StatusRegister mask=UINT32_MAX)
Access to all accumulated status bits that have asserted since board startup (or since the last board...
StatusRegister StatusRisen(StatusRegister mask=UINT32_MAX)
Clear on read accessor for status bits that have risen (transitioned from deasserted to asserted) som...
StatusRegister StatusFallen(StatusRegister mask=UINT32_MAX)
Clear on read accessor for status bits that have fallen (transitioned from asserted to deasserted) so...
bool AdcIsInTimeout()
Read accessor for whether the ADC has timed out while attempting a conversion.
void UserBlinkCode(uint8_t mask)
Definition StatusManager.h:477
SysConnectorState IoOverloadRT(SysConnectorState mask=UINT32_MAX)
Accessor for the real time overload status of the I/O connectors.
void HBridgeReset()
Starts a reset pulse to the DigitalInOutHBridge connectors.
SysConnectorState IoOverloadAccum(SysConnectorState mask=UINT32_MAX)
Clear on read accessor for connector overload status since the last invocation of this function.
SysConnectorState IoOverloadSinceStartupAccum(SysConnectorState mask=UINT32_MAX)
Accessor for connector overload status since startup (or board reset).
StatusRegister StatusAccum(StatusRegister mask=UINT32_MAX)
Accumulating Clear on read accessor for any status bits that were asserted sometime since the previou...
Namespace to encompass the ClearCore board API.
Definition AdcManager.h:36
Definition StatusManager.h:47
struct ClearCore::StatusManager::StatusRegister::@5 bit
uint32_t EthernetDisconnect
Definition StatusManager.h:103
uint32_t reg
Definition StatusManager.h:51
uint32_t SdCardError
Definition StatusManager.h:115
uint32_t HBridgeReset
Definition StatusManager.h:76
uint32_t CcioOverloaded
Definition StatusManager.h:91
uint32_t VSupplyUnderVoltage
Definition StatusManager.h:66
uint32_t EthernetPhyInitFailed
Definition StatusManager.h:111
uint32_t OutputOverloaded
Definition StatusManager.h:86
uint32_t VSupplyOverVoltage
Definition StatusManager.h:61
uint32_t CcioLinkBroken
Definition StatusManager.h:95
uint32_t HBridgeOverloaded
Definition StatusManager.h:71
StatusRegister()
Definition StatusManager.h:126
uint32_t EthernetRemoteFault
Definition StatusManager.h:107
uint32_t AdcTimeout
Definition StatusManager.h:99
uint32_t Overloaded5V
Definition StatusManager.h:81
uint32_t NvmDesync
Definition StatusManager.h:120
StatusRegister(uint32_t val)
Definition StatusManager.h:133
Definition SysConnectors.h:174