| ECC1C 145-944-00

List of all members
Status

`#include <Status.hpp>`

## Additional Inherited Members
Public Member Functions inherited from System
uint8 | getSystemID ()
virtual uint8 | getManagerID () const
virtual Error | getRegister (uint32 &value, const uint16 address)
virtual Error | setRegister (const uint16 address, const uint32 value)
virtual Error | isWritableRegister (const uint16 address)
virtual Error | isWritableValue (const uint16 address, const uint32 value)
virtual uint8 | getRegisterCount (void)=0
virtual Error | getVector (uint8 *vector, const uint16 address, const uint16 index, const uint8 size)
virtual Error | setVector (const uint8 *vector, const uint16 address, const uint16 index, const uint8 size)

## Detailed Description

Status system ID: 0x10 Register map:

Address | Name | Default | Description | Format and value
--- | --- | --- | --- | ---
0x1000 | FW Id |  |  | uint32
0x1001 | FW Branch |  |  | uint32
0x1002 | FW Type |  |  | uint32
0x1003 | FW Version Major |  |  | uint32
0x1004 | FW Version Minor |  |  | uint32
0x1005 | FW Version Build |  |  | uint32
0x1006 | FW Version Revision |  |  | uint32

0x1007 |System status register | 0 - No error | Register encodes system status and errors | Read:
Bit#
0 - Channel 0 output fault condition
1 - Channel 0 output had fault condition
2 - Channel 1 output fault condition
3 - Channel 1 output had fault condition
4 - Channel 2 output fault condition
5 - Channel 2 output had fault condition
6 - Channel 3 output fault condition
7 - Channel 3 output had fault condition
8 - Driver over-heat fault
9 - Driver had over-heat fault
10 - Device on channel 0 not detected
11 - Device on channel 0 was not detected
12 - Device on channel 1 not detected
13 - Device on channel 1 was not detected
14 - Device on channel 2 not detected
15 - Device on channel 2 was not detected
16 - Device on channel 3 not detected
17 - Device on channel 3 was not detected
18 - Channel 0 has over-current fault on 3V3 supply line
19 - Channel 0 had over-current fault on 3V3 supply line
20 - Channel 1 has over-current fault on 3V3 supply line
21 - Channel 1 had over-current fault on 3V3 supply line
22 - Channel 2 has over-current fault on 3V3 supply line
23 - Channel 2 had over-current fault on 3V3 supply line
24 - Channel 3 has over-current fault on 3V3 supply line
25 - Channel 3 had over-current fault on 3V3 supply line
26 - Device I2C communication error
27 - Device had I2C communication error
28 - Device EEPROM parsing error
29 - Device had EEPROM parsing error
30 - Device sensor out of range
31 - Device sensor was out of range
Write:
Writing to this register resets all history error flags (odd bits 1, 3, .. 31)
| read write | 0x1008 |Dev.EEPROM active chan.| 0 = channel 0| Register switches I2C bus among channels | uint32 | read write | 0x1009 |Dev.detect switch mask | 0 | SW switch parallel to Dev.Det.switches | uint32 | read write | 0x100a |DEV_TYPE0 | 0 | get device type on channel 0 | uint32 | read only | 0x100b |DEV_TYPE1 | 0 | get device type on channel 1 | uint32 | read only | 0x100c |DEV_TYPE2 | 0 | get device type on channel 2 | uint32 | read only | 0x100d |DEV_TYPE3 | 0 | get device type on channel 3 | uint32 | read only | 0x100e |MCU ID | 0 | get MCU type identification number | uint32 | read only | 0x100f |MCU load | 0 | get Signal Flow execution load in % | uint32 | read only | 0x1010 |MCU overload counter | 0 | increments if Signal Flow execution load > 95% | uint32 | read only *| *register is automatically zeroed after reading

Vector map (vectors have their own address space):

Address | Name | Default | Description | Format and value
--- | --- | --- | --- | ---
0x1000 | Firmware SN |  |  | ascii string
0x1001 | Git HEAD SHA1 |  |  | ascii string