4#ifndef AUBO_SDK_ERROR_STACK_H
5#define AUBO_SDK_ERROR_STACK_H
14#include <aubo/global_config.h>
27constexpr int ARCS_ABI_EXPORT
codeCompose(
int aa,
int bb,
int cccc)
29 return (
int)((aa * 1000000) + (bb * 10000) + cccc);
32constexpr int ARCS_ABI_EXPORT
mod(
int x)
41#define ARCS_ERROR_CODES \
45 SAFETY_INTERFACE_BOARD_ERRORS \
49 HARDWARE_INTERFACE_ERRORS \
50 _D(ARCS_MAX_ERROR_CODE, -1, "Max error code", "suggest...")
55#define _D(n, v, s, r) n = (int)v,
62#define _D(n, v, s, r) \
63 if (strcmp(#n, err_code_name) == 0) \
67 return ARCS_MAX_ERROR_CODE;
72 static const char *errcode_str[] = {
73#define _D(n, v, s, r) s,
80#define _D(n, v, s, r) n##_INDEX,
87#define _D(n, v, s, r) \
94 index = ARCS_MAX_ERROR_CODE_INDEX;
97 return errcode_str[(unsigned)index];
100inline std::ostream &
dump(std::ostream &os)
102#define _D(n, v, s, r) \
103 os << std::setw(20) << #n << "\t" << v << "\t" << s << "\t" << r \
int str2ErrorCode(const char *err_code_name)
std::ostream & dump(std::ostream &os)
constexpr int ARCS_ABI_EXPORT codeCompose(int aa, int bb, int cccc)
constexpr int ARCS_ABI_EXPORT mod(int x)
const char * errorCode2Str(int err_code)