base_schilling
Classes | Namespaces | Macros | Enumerations
Error.hpp File Reference
#include <stdexcept>
#include <base/Time.hpp>

Go to the source code of this file.

Classes

class  oro_marum::MarError
 
struct  oro_marum::LogMessage
 

Namespaces

 oro_marum
 

Macros

#define MARALARM_BASE   0x1000
 
#define ACTALARM_BASE   0x2000
 
#define UCMALARM_BASE   0x3000
 
#define LCUALARM_BASE   0x4000
 
#define VISALARM_BASE   0x6000
 
#define ALTALARM_BASE   0x7000
 
#define CANALARM_BASE   0x8000
 
#define MARERROR_BASE   0x5000
 
#define MARALARM_COMMS   MARALARM_BASE + 1
 
#define MARERROR_CHECKSUM   MARERROR_BASE + 1
 
#define MARERROR_DEVNAK   MARERROR_BASE + 2
 
#define MARERROR_PARAMINV   MARERROR_BASE + 3
 
#define MARERROR_DEVREPINV   MARERROR_BASE + 4
 
#define ACTALARM_ENC_LIN_ALARM   ACTALARM_BASE + 1
 
#define ACTALARM_ENC_RANGE_ERR   ACTALARM_BASE + 2
 
#define ACTALARM_CTRL_WD_TIME   ACTALARM_BASE + 3
 
#define ACTALARM_CTRL_EXT_ENC_MAG   ACTALARM_BASE + 4
 
#define ACTALARM_CTRL_EXT_ENC_COMM   ACTALARM_BASE + 5
 
#define ACTALARM_CTRL_SH_ENC_MAG   ACTALARM_BASE + 6
 
#define ACTALARM_CTRL_WATER   ACTALARM_BASE + 7
 
#define ACTALARM_CTRL_SH_ENC_COMM   ACTALARM_BASE + 8
 
#define ACTALARM_DRV_CMD_INC   ACTALARM_BASE + 9
 
#define ACTALARM_DRV_CMD_INV   ACTALARM_BASE + 10
 
#define ACTALARM_DRV_FRAME_ERR   ACTALARM_BASE + 11
 
#define ACTALARM_DRV_VOLT_TEMP   ACTALARM_BASE + 12
 
#define UCMALARM_AD   UCMALARM_BASE + 1
 
#define UCMALARM_DA   UCMALARM_BASE + 2
 
#define UCMALARM_EEPROM   UCMALARM_BASE + 3
 
#define LCUALARM_FAULT   LCUALARM_BASE + 1
 
#define LCUALARM_WATER   LCUALARM_BASE + 2
 
#define LCUALARM_WATERLATCH   LCUALARM_BASE + 3
 
#define LCUALARM_ACJB   LCUALARM_BASE + 4
 
#define LCUALARM_ACJB_WATER   LCUALARM_BASE + 5
 
#define LCUALARM_ACJB_WATERLATCH   LCUALARM_BASE + 6
 
#define VISALARM_SYNTAX   VISALARM_BASE + 1
 
#define VISALARM_BUFF_FULL   VISALARM_BASE + 2
 
#define VISALARM_CMD_CANCEL   VISALARM_BASE + 3
 
#define VISALARM_NOSOCK   VISALARM_BASE + 4
 
#define VISALARM_CMD_NOEXEC   VISALARM_BASE + 5
 
#define ALTALARM_SERIAL   ALTALARM_BASE + 1
 
#define CANALARM_XMTFULL   CANALARM_BASE + 1
 
#define CANALARM_OVERRUN   CANALARM_BASE + 2
 
#define CANALARM_BUSERR   CANALARM_BASE + 3
 
#define CANALARM_BUSOFF   CANALARM_BASE + 4
 
#define CANALARM_RX_OVERFLOW   CANALARM_BASE + 5
 
#define CANALARM_TX_OVERFLOW   CANALARM_BASE + 6
 
#define MARSTR_COMMS   "Communication failure"
 
#define MARSTR_CHECKSUM   "checksum error"
 
#define MARSTR_DEVNAK   "device Nak"
 
#define MARSTR_PARAMINV   "invalid param"
 
#define MARSTR_DEVREPINV   "invalid device response"
 
#define ACTSTR_ENC_LIN_ALARM   "Encoder Linearity Alarm"
 
#define ACTSTR_ENC_RANGE_ERR   "Encoder Out of Range Error"
 
#define ACTSTR_CTRL_WD_TIME   "Controller Watchdog Timeout"
 
#define ACTSTR_CTRL_EXT_ENC_MAG   "Controller Ext. Enc. Magnet Loss"
 
#define ACTSTR_CTRL_EXT_ENC_COMM   "Controller Ext. Enc. Comm Fail"
 
#define ACTSTR_CTRL_SH_ENC_MAG   "Controller Shaft Enc. Magnet Loss"
 
#define ACTSTR_CTRL_WATER   "Controller Water Detection"
 
#define ACTSTR_CTRL_SH_ENC_COMM   "Controller Shaft Enc. Comm Fail"
 
#define ACTSTR_DRV_CMD_INC   "Drive Cmd Incomplete"
 
#define ACTSTR_DRV_CMD_INV   "Drive Invalid Cmd"
 
#define ACTSTR_DRV_FRAME_ERR   "Drive Frame Error"
 
#define ACTSTR_DRV_VOLT_TEMP   "Drive U/O Volt or Temp"
 
#define UCMSTR_AD   "AD Failure"
 
#define UCMSTR_DA   "DA Failure"
 
#define UCMSTR_EEPROM   "EEPROM Failure"
 
#define LCUSTR_FAULT   "Fault, over-current in channel"
 
#define LCUSTR_WATER   "Water Leak detected"
 
#define LCUSTR_WATERLATCH   "Water Leak Latch"
 
#define LCUSTR_ACJB   "AC J-Box communication failure"
 
#define LCUSTR_ACJB_WATER   "AC J-Box Water Leak detected"
 
#define LCUSTR_ACJB_WATERLATCH   "AC J-Box Water Leak Latch"
 
#define VISSTR_SYNTAX   "syntax error"
 
#define VISSTR_BUFF_FULL   "command buffer full"
 
#define VISSTR_CMD_CANCEL   "command cancel"
 
#define VISSTR_NOSOCK   "no sockets"
 
#define VISSTR_CMD_NOEXEC   "command not executable"
 
#define ALTSTR_SERIAL   "serial failure, no switches accepted"
 
#define CANSTR_XMTFULL   "controller send buffer is full, can be ignored"
 
#define CANSTR_OVERRUN   "receive buffer overrun"
 
#define CANSTR_BUSERR   "error count at limit"
 
#define CANSTR_BUSOFF   "bus error, controller switched to bus-off"
 
#define CANSTR_RX_OVERFLOW   "receive buffer overflow"
 
#define CANSTR_TX_OVERFLOW   "transmit buffer overflow"
 

Enumerations

enum  oro_marum::LogLevel {
  oro_marum::None, oro_marum::Debug, oro_marum::Notification, oro_marum::Warning,
  oro_marum::Error, oro_marum::Alarm, oro_marum::Fatal
}
 

Macro Definition Documentation

◆ ACTALARM_BASE

#define ACTALARM_BASE   0x2000

◆ ACTALARM_CTRL_EXT_ENC_COMM

#define ACTALARM_CTRL_EXT_ENC_COMM   ACTALARM_BASE + 5

◆ ACTALARM_CTRL_EXT_ENC_MAG

#define ACTALARM_CTRL_EXT_ENC_MAG   ACTALARM_BASE + 4

◆ ACTALARM_CTRL_SH_ENC_COMM

#define ACTALARM_CTRL_SH_ENC_COMM   ACTALARM_BASE + 8

◆ ACTALARM_CTRL_SH_ENC_MAG

#define ACTALARM_CTRL_SH_ENC_MAG   ACTALARM_BASE + 6

◆ ACTALARM_CTRL_WATER

#define ACTALARM_CTRL_WATER   ACTALARM_BASE + 7

◆ ACTALARM_CTRL_WD_TIME

#define ACTALARM_CTRL_WD_TIME   ACTALARM_BASE + 3

◆ ACTALARM_DRV_CMD_INC

#define ACTALARM_DRV_CMD_INC   ACTALARM_BASE + 9

◆ ACTALARM_DRV_CMD_INV

#define ACTALARM_DRV_CMD_INV   ACTALARM_BASE + 10

◆ ACTALARM_DRV_FRAME_ERR

#define ACTALARM_DRV_FRAME_ERR   ACTALARM_BASE + 11

◆ ACTALARM_DRV_VOLT_TEMP

#define ACTALARM_DRV_VOLT_TEMP   ACTALARM_BASE + 12

◆ ACTALARM_ENC_LIN_ALARM

#define ACTALARM_ENC_LIN_ALARM   ACTALARM_BASE + 1

◆ ACTALARM_ENC_RANGE_ERR

#define ACTALARM_ENC_RANGE_ERR   ACTALARM_BASE + 2

◆ ACTSTR_CTRL_EXT_ENC_COMM

#define ACTSTR_CTRL_EXT_ENC_COMM   "Controller Ext. Enc. Comm Fail"

◆ ACTSTR_CTRL_EXT_ENC_MAG

#define ACTSTR_CTRL_EXT_ENC_MAG   "Controller Ext. Enc. Magnet Loss"

◆ ACTSTR_CTRL_SH_ENC_COMM

#define ACTSTR_CTRL_SH_ENC_COMM   "Controller Shaft Enc. Comm Fail"

◆ ACTSTR_CTRL_SH_ENC_MAG

#define ACTSTR_CTRL_SH_ENC_MAG   "Controller Shaft Enc. Magnet Loss"

◆ ACTSTR_CTRL_WATER

#define ACTSTR_CTRL_WATER   "Controller Water Detection"

◆ ACTSTR_CTRL_WD_TIME

#define ACTSTR_CTRL_WD_TIME   "Controller Watchdog Timeout"

◆ ACTSTR_DRV_CMD_INC

#define ACTSTR_DRV_CMD_INC   "Drive Cmd Incomplete"

◆ ACTSTR_DRV_CMD_INV

#define ACTSTR_DRV_CMD_INV   "Drive Invalid Cmd"

◆ ACTSTR_DRV_FRAME_ERR

#define ACTSTR_DRV_FRAME_ERR   "Drive Frame Error"

◆ ACTSTR_DRV_VOLT_TEMP

#define ACTSTR_DRV_VOLT_TEMP   "Drive U/O Volt or Temp"

◆ ACTSTR_ENC_LIN_ALARM

#define ACTSTR_ENC_LIN_ALARM   "Encoder Linearity Alarm"

◆ ACTSTR_ENC_RANGE_ERR

#define ACTSTR_ENC_RANGE_ERR   "Encoder Out of Range Error"

◆ ALTALARM_BASE

#define ALTALARM_BASE   0x7000

◆ ALTALARM_SERIAL

#define ALTALARM_SERIAL   ALTALARM_BASE + 1

◆ ALTSTR_SERIAL

#define ALTSTR_SERIAL   "serial failure, no switches accepted"

◆ CANALARM_BASE

#define CANALARM_BASE   0x8000

◆ CANALARM_BUSERR

#define CANALARM_BUSERR   CANALARM_BASE + 3

◆ CANALARM_BUSOFF

#define CANALARM_BUSOFF   CANALARM_BASE + 4

◆ CANALARM_OVERRUN

#define CANALARM_OVERRUN   CANALARM_BASE + 2

◆ CANALARM_RX_OVERFLOW

#define CANALARM_RX_OVERFLOW   CANALARM_BASE + 5

◆ CANALARM_TX_OVERFLOW

#define CANALARM_TX_OVERFLOW   CANALARM_BASE + 6

◆ CANALARM_XMTFULL

#define CANALARM_XMTFULL   CANALARM_BASE + 1

◆ CANSTR_BUSERR

#define CANSTR_BUSERR   "error count at limit"

◆ CANSTR_BUSOFF

#define CANSTR_BUSOFF   "bus error, controller switched to bus-off"

◆ CANSTR_OVERRUN

#define CANSTR_OVERRUN   "receive buffer overrun"

◆ CANSTR_RX_OVERFLOW

#define CANSTR_RX_OVERFLOW   "receive buffer overflow"

◆ CANSTR_TX_OVERFLOW

#define CANSTR_TX_OVERFLOW   "transmit buffer overflow"

◆ CANSTR_XMTFULL

#define CANSTR_XMTFULL   "controller send buffer is full, can be ignored"

◆ LCUALARM_ACJB

#define LCUALARM_ACJB   LCUALARM_BASE + 4

◆ LCUALARM_ACJB_WATER

#define LCUALARM_ACJB_WATER   LCUALARM_BASE + 5

◆ LCUALARM_ACJB_WATERLATCH

#define LCUALARM_ACJB_WATERLATCH   LCUALARM_BASE + 6

◆ LCUALARM_BASE

#define LCUALARM_BASE   0x4000

◆ LCUALARM_FAULT

#define LCUALARM_FAULT   LCUALARM_BASE + 1

◆ LCUALARM_WATER

#define LCUALARM_WATER   LCUALARM_BASE + 2

◆ LCUALARM_WATERLATCH

#define LCUALARM_WATERLATCH   LCUALARM_BASE + 3

◆ LCUSTR_ACJB

#define LCUSTR_ACJB   "AC J-Box communication failure"

◆ LCUSTR_ACJB_WATER

#define LCUSTR_ACJB_WATER   "AC J-Box Water Leak detected"

◆ LCUSTR_ACJB_WATERLATCH

#define LCUSTR_ACJB_WATERLATCH   "AC J-Box Water Leak Latch"

◆ LCUSTR_FAULT

#define LCUSTR_FAULT   "Fault, over-current in channel"

◆ LCUSTR_WATER

#define LCUSTR_WATER   "Water Leak detected"

◆ LCUSTR_WATERLATCH

#define LCUSTR_WATERLATCH   "Water Leak Latch"

◆ MARALARM_BASE

#define MARALARM_BASE   0x1000

◆ MARALARM_COMMS

#define MARALARM_COMMS   MARALARM_BASE + 1

◆ MARERROR_BASE

#define MARERROR_BASE   0x5000

◆ MARERROR_CHECKSUM

#define MARERROR_CHECKSUM   MARERROR_BASE + 1

◆ MARERROR_DEVNAK

#define MARERROR_DEVNAK   MARERROR_BASE + 2

◆ MARERROR_DEVREPINV

#define MARERROR_DEVREPINV   MARERROR_BASE + 4

◆ MARERROR_PARAMINV

#define MARERROR_PARAMINV   MARERROR_BASE + 3

◆ MARSTR_CHECKSUM

#define MARSTR_CHECKSUM   "checksum error"

◆ MARSTR_COMMS

#define MARSTR_COMMS   "Communication failure"

◆ MARSTR_DEVNAK

#define MARSTR_DEVNAK   "device Nak"

◆ MARSTR_DEVREPINV

#define MARSTR_DEVREPINV   "invalid device response"

◆ MARSTR_PARAMINV

#define MARSTR_PARAMINV   "invalid param"

◆ UCMALARM_AD

#define UCMALARM_AD   UCMALARM_BASE + 1

◆ UCMALARM_BASE

#define UCMALARM_BASE   0x3000

◆ UCMALARM_DA

#define UCMALARM_DA   UCMALARM_BASE + 2

◆ UCMALARM_EEPROM

#define UCMALARM_EEPROM   UCMALARM_BASE + 3

◆ UCMSTR_AD

#define UCMSTR_AD   "AD Failure"

◆ UCMSTR_DA

#define UCMSTR_DA   "DA Failure"

◆ UCMSTR_EEPROM

#define UCMSTR_EEPROM   "EEPROM Failure"

◆ VISALARM_BASE

#define VISALARM_BASE   0x6000

◆ VISALARM_BUFF_FULL

#define VISALARM_BUFF_FULL   VISALARM_BASE + 2

◆ VISALARM_CMD_CANCEL

#define VISALARM_CMD_CANCEL   VISALARM_BASE + 3

◆ VISALARM_CMD_NOEXEC

#define VISALARM_CMD_NOEXEC   VISALARM_BASE + 5

◆ VISALARM_NOSOCK

#define VISALARM_NOSOCK   VISALARM_BASE + 4

◆ VISALARM_SYNTAX

#define VISALARM_SYNTAX   VISALARM_BASE + 1

◆ VISSTR_BUFF_FULL

#define VISSTR_BUFF_FULL   "command buffer full"

◆ VISSTR_CMD_CANCEL

#define VISSTR_CMD_CANCEL   "command cancel"

◆ VISSTR_CMD_NOEXEC

#define VISSTR_CMD_NOEXEC   "command not executable"

◆ VISSTR_NOSOCK

#define VISSTR_NOSOCK   "no sockets"

◆ VISSTR_SYNTAX

#define VISSTR_SYNTAX   "syntax error"