VMX-pi C++ HAL Library for Raspberry Pi
VMX-pi Robotics Controller & Vision/Motion Processor
hal_cpp
include
VMXErrors.h
1
/* ============================================
2
VMX-pi HAL source code is placed under the MIT license
3
Copyright (c) 2017 Kauai Labs
4
Permission is hereby granted, free of charge, to any person obtaining a copy
5
of this software and associated documentation files (the "Software"), to deal
6
in the Software without restriction, including without limitation the rights
7
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
copies of the Software, and to permit persons to whom the Software is
9
furnished to do so, subject to the following conditions:
10
The above copyright notice and this permission notice shall be included in
11
all copies or substantial portions of the Software.
12
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
18
THE SOFTWARE.
19
===============================================
20
*/
21
22
#ifndef VMXERRORS_H_
23
#define VMXERRORS_H_
24
25
typedef
int
VMXErrorCode;
26
27
#define VMXERR_IO_INVALID_RESOURCE_HANDLE -20000
28
#define VMXERR_IO_INVALID_CHANNEL_INDEX -20001
29
#define VMXERR_IO_CHANNEL_ALREADY_ROUTED -20002
30
#define VMXERR_IO_CHANNEL_RESOURCE_INCOMPATIBILITY -20003
31
#define VMXERR_IO_NO_AVAILABLE_RESOURCE_PORTS -20004
32
#define VMXERR_IO_LOGICAL_ROUTING_ERROR -20005
33
#define VMXERR_IO_PHYSICAL_ROUTING_ERROR -20006
34
#define VMXERR_IO_RESOURCE_NOT_ALLOCATED -20007
35
#define VMXERR_IO_RESOURCE_ALREADY_ALLOCATED -20008
36
#define VMXERR_IO_SHARED_RESOURCE_ALREADY_ALLOCATED -20009
37
#define VMXERR_IO_RESOURCE_ALLOCATION_ERROR -20010
38
#define VMXERR_IO_RESOURCE_ROUTING_INCOMPLETE -20011
39
#define VMXERR_IO_RESOURCE_TYPE_INVALID -20012
40
#define VMXERR_IO_ERROR_CONFIGURING_PHYSICAL_RESOURCE -20013
41
#define VMXERR_IO_SHARED_RESOURCE_UNROUTABLE -20014
42
#define VMXERR_IO_INVALID_RESOURCE_PORT_INDEX -20015
43
#define VMXERR_IO_INVALID_RESOURCE_TYPE -20016
44
#define VMXERR_IO_INVALID_RESOURCE_INDEX -20017
45
#define VMXERR_IO_BOARD_COMM_ERROR -20018
46
#define VMXERR_IO_RESOURCE_INACTIVE -20019
47
#define VMXERR_IO_CHANNEL_NOT_ROUTED_TO_RESOURCE -20020
48
#define VMXERR_IO_UNITARY_CHANNEL_CAP_REQUIRED -20021
49
#define VMXERR_IO_NO_COMPATIBLE_RESOURCES -20022
50
#define VMXERR_IO_NO_UNALLOCATED_COMPATIBLE_RESOURCES -20023
51
#define VMXERR_IO_INVALID_NULL_PARAMETER -20024
52
#define VMXERR_IO_INVALID_CHANNEL_TYPE -20025
53
#define VMXERR_IO_INVALID_RESOURCE_PROVIDER_TYPE -20026
54
#define VMXERR_IO_ERROR_ACQUIRING_RESOURCE_CONFIG -20027
55
#define VMXERR_IO_INTERNAL_LOGIC_ERROR -20028
56
#define VMXERR_CAN_NO_AVAILABLE_MASKFILTER_SLOTS -20029
57
#define VMXERR_CAN_INVALID_RECEIVE_STREAM_HANDLE -20030
58
#define VMXERR_IO_UART_WRITE_ERROR -20031
59
#define VMXERR_IO_UART_READ_ERROR -20032
60
#define VMXERR_IO_SPI_XFER_ERROR -20033
61
#define VMXERR_IO_I2C_XFER_ERROR -20034
62
63
#ifdef __cplusplus
64
extern
"C"
{
65
#endif
66
67
const
char
*GetVMXErrorString(VMXErrorCode);
68
69
#ifdef __cplusplus
70
}
71
#endif
72
73
#define SET_VMXERROR(vmx_errcode_ptr, vmx_errcode) \
74
do { \
75
if(vmx_errcode_ptr) { \
76
*vmx_errcode_ptr = vmx_errcode; \
77
} \
78
} while(0)
79
80
#endif
/* VMXERRORS_H_ */
Generated on Mon Oct 30 2017 05:45:48 for VMX-pi C++ HAL Library for Raspberry Pi by
1.8.13