blob: c7bbc3f9875bfc723672795a59579e98eeb83662 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#pragma once
#ifndef W2_BUILD_STR
// is defined by CFLAGS += -DW2_BUILD_STR in makefile
#define W2_BUILD_STR ("????????")
#endif
#define W2_MAX_MODULE_CYCLE_MS (20)
#define W2_SERIAL_BAUD (9600)
#define W2_ERROR_BUFFER_SIZE (16)
#define W2_ERR_TYPE_CRIT (0b00 << 6)
#define W2_ERR_TYPE_WARN (0b01 << 6)
#define W2_ERR_TYPE_INFO (0b10 << 6)
#define W2_ERR_TYPE_VERB (0b11 << 6)
#define W2_ERR_TYPE_MASK (0b11 << 6)
/**
* enum storing all error codes
*
* error codes are between 0-63 because the two most significant bits are
* reserved for error type checking
*/
enum w2_e_errorcodes {
// critical error codes
W2_ERR_CONN_LOST = 0x00 | W2_ERR_TYPE_CRIT,
W2_ERR_COM_UNAVAILABLE = 0x01 | W2_ERR_TYPE_CRIT, // client-only
W2_ERR_LINE_LOST = 0x02 | W2_ERR_TYPE_CRIT,
W2_ERR_OBSTACLE_STUCK = 0x03 | W2_ERR_TYPE_CRIT,
// warnings
W2_ERR_BATTERY_LOW = 0x00 | W2_ERR_TYPE_WARN,
W2_ERR_OBSTACLE_DETECTED = 0x01 | W2_ERR_TYPE_WARN,
W2_ERR_CYCLE_EXPIRED = 0x02 | W2_ERR_TYPE_WARN,
W2_ERR_UNCAUGHT_ERROR = 0x03 | W2_ERR_TYPE_WARN,
};
|