32#ifndef BLINKCODEDRIVER_H_
33#define BLINKCODEDRIVER_H_
37#ifndef HIDE_FROM_DOXYGEN
47class BlinkCodeDriver {
48 friend class StatusManager;
51 BLINK_GROUP_IO_OVERLOAD,
52 BLINK_GROUP_SUPPLY_ERROR,
53 BLINK_GROUP_DEVICE_ERROR,
54 BLINK_GROUP_CCIO_OVERLOAD,
55 BLINK_GROUP_APPLICATION,
60 SUPPLY_ERROR_NONE = 0x00,
61 SUPPLY_ERROR_VSUPPLY_LOW = 0x01,
62 SUPPLY_ERROR_VSUPPLY_HIGH = 0x02,
63 SUPPLY_ERROR_5VOB_OVERLOAD = 0x04,
67 DEVICE_ERROR_NONE = 0x00,
68 DEVICE_ERROR_HBRIDGE = 0x01,
69 DEVICE_ERROR_SD_CARD = 0x02,
70 DEVICE_ERROR_ETHERNET = 0x04,
71 DEVICE_ERROR_CCIO = 0x08,
72 DEVICE_ERROR_XBEE = 0x10,
76 CCIO_OVERLOAD_NONE = 0x00,
77 CCIO_OVERLOAD_BOARD0 = 0x01,
78 CCIO_OVERLOAD_BOARD1 = 0x02,
79 CCIO_OVERLOAD_BOARD2 = 0x04,
80 CCIO_OVERLOAD_BOARD3 = 0x08,
81 CCIO_OVERLOAD_BOARD4 = 0x10,
82 CCIO_OVERLOAD_BOARD5 = 0x20,
83 CCIO_OVERLOAD_BOARD6 = 0x40,
84 CCIO_OVERLOAD_BOARD7 = 0x80,
91 return m_blinkState != IDLE;
97 volatile const bool &LedState() {
104 void BlinkCodeClear(uint8_t group, uint8_t code);
119 uint8_t m_codes[BLINK_GROUP_MAX];
121 BlinkState m_blinkState;
122 uint8_t m_currentCode;
123 uint8_t m_currentGroup;
125 uint16_t m_strobeCnt;
131 uint16_t m_strobeOnOffTicks;
132 uint16_t m_blinkTicks;
133 uint16_t m_prestartTicks;
134 uint16_t m_startTicks;
135 uint16_t m_pregroupTicks;
136 uint16_t m_precodeTicks;
147 m_patternWrap(false),
148 m_strobeOnOffTicks(250),
150 m_prestartTicks(5000),
152 m_pregroupTicks(5000),
153 m_precodeTicks(2500) {}
158 void CodeGroupAdd(uint8_t group, uint8_t codes) {
159 m_codes[group] |= codes;
172 bool NextCode(uint8_t group, uint8_t code);
Namespace to encompass the ClearCore board API.
Definition AdcManager.h:36