This is Unofficial EPICS BASE Doxygen Site
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
devLib.h
Go to the documentation of this file.
1
/*************************************************************************\
2
* Copyright (c) 2010 Brookhaven Science Associates, as Operator of
3
* Brookhaven National Laboratory.
4
* Copyright (c) 2008 UChicago Argonne LLC, as Operator of Argonne
5
* National Laboratory.
6
* Copyright (c) 2002 The Regents of the University of California, as
7
* Operator of Los Alamos National Laboratory.
8
* EPICS BASE is distributed subject to a Software License Agreement found
9
* in file LICENSE that is included with this distribution.
10
\*************************************************************************/
11
19
#ifndef EPICSDEVLIB_H
20
#define EPICSDEVLIB_H
21
28
#define devCreateMask(NBITS) ((1<<(NBITS))-1)
29
30
#define devDigToNml(DIGITAL,NBITS) \
31
(((double)(DIGITAL))/devCreateMask(NBITS))
32
33
#define devNmlToDig(NORMAL,NBITS) \
34
(((long)(NORMAL)) * devCreateMask(NBITS))
35
43
#define devCreateAlignmentMask(CTYPE)\
44
(sizeof(CTYPE)>sizeof(double)?sizeof(double)-1:sizeof(CTYPE)-1)
45
49
#define devPtrAlignTest(PTR) (!(devCreateAlignmentMask(*PTR)&(long)(PTR)))
50
56
#define S_dev_success 0
57
58
#define S_dev_vectorInUse (M_devLib| 1)
/*Interrupt vector in use*/
59
60
#define S_dev_vecInstlFail (M_devLib| 2)
/*Interrupt vector install failed*/
61
62
#define S_dev_uknIntType (M_devLib| 3)
/*Unrecognized interrupt type*/
63
64
#define S_dev_vectorNotInUse (M_devLib| 4)
/*Interrupt vector not in use by caller*/
65
66
#define S_dev_badA16 (M_devLib| 5)
/*Invalid VME A16 address*/
67
68
#define S_dev_badA24 (M_devLib| 6)
/*Invalid VME A24 address*/
69
70
#define S_dev_badA32 (M_devLib| 7)
/*Invalid VME A32 address*/
71
72
#define S_dev_uknAddrType (M_devLib| 8)
/*Unrecognized address space type*/
73
74
#define S_dev_addressOverlap (M_devLib| 9)
/*Specified device address overlaps another device*/
75
76
#define S_dev_identifyOverlap (M_devLib| 10)
/*This device already owns the address range*/
77
78
#define S_dev_addrMapFail (M_devLib| 11)
/*Unable to map address*/
79
80
#define S_dev_intDisconnect (M_devLib| 12)
/*Interrupt at vector disconnected from an EPICS device*/
81
82
#define S_dev_internal (M_devLib| 13)
/*Internal failure*/
83
84
#define S_dev_intEnFail (M_devLib| 14)
/*Unable to enable interrupt level*/
85
86
#define S_dev_intDissFail (M_devLib| 15)
/*Unable to disable interrupt level*/
87
88
#define S_dev_noMemory (M_devLib| 16)
/*Memory allocation failed*/
89
90
#define S_dev_addressNotFound (M_devLib| 17)
/*Specified device address unregistered*/
91
92
#define S_dev_noDevice (M_devLib| 18)
/*No device at specified address*/
93
94
#define S_dev_wrongDevice (M_devLib| 19)
/*Wrong device type found at specified address*/
95
96
#define S_dev_badSignalNumber (M_devLib| 20)
/*Signal number (offset) to large*/
97
98
#define S_dev_badSignalCount (M_devLib| 21)
/*Signal count to large*/
99
100
#define S_dev_badRequest (M_devLib| 22)
/*Device does not support requested operation*/
101
102
#define S_dev_highValue (M_devLib| 23)
/*Parameter too high*/
103
104
#define S_dev_lowValue (M_devLib| 24)
/*Parameter too low*/
105
106
#define S_dev_multDevice (M_devLib| 25)
/*Specified address is ambiguous (more than one device responds)*/
107
108
#define S_dev_badSelfTest (M_devLib| 26)
/*Device self test failed*/
109
110
#define S_dev_badInit (M_devLib| 27)
/*Device failed during initialization*/
111
112
#define S_dev_hdwLimit (M_devLib| 28)
/*Input exceeds Hardware Limit*/
113
114
#define S_dev_deviceDoesNotFit (M_devLib| 29)
/*Unable to locate address space for device*/
115
116
#define S_dev_deviceTMO (M_devLib| 30)
/*Device timed out*/
117
118
#define S_dev_badFunction (M_devLib| 31)
/*Bad function pointer*/
119
120
#define S_dev_badVector (M_devLib| 32)
/*Bad interrupt vector*/
121
122
#define S_dev_badArgument (M_devLib| 33)
/*Bad function argument*/
123
124
#define S_dev_badISA (M_devLib| 34)
/*Invalid ISA address*/
125
126
#define S_dev_badCRCSR (M_devLib| 35)
/*Invalid VME CR/CSR address*/
127
128
#define S_dev_vxWorksIntEnFail S_dev_intEnFail
129
131
#endif
/* EPICSDEVLIB_H */
132
133
/*
134
* Retain compatibility by including VME by default
135
*/
136
#ifndef NO_DEVLIB_COMPAT
137
# include "
devLibVME.h
"
138
#endif
devLibVME.h
API for accessing hardware devices, mosty over VMEbus.
modules
libcom
src
osi
devLib.h
Generated by
1.8.11