versadac  1
versadac - Scalable Recorder Firmware
eio_null.h
1 /*******************************************************************************
2 FILE : eio_null.h
3 VERSION : $Id: eio_null.h 9451 2007-06-18 13:19:43Z davec $
4 AUTHOR : David Cozens
5 SYSTEM : Diab C for PowerPC under vxWorks
6 DESCRIPTION : Null EIO API interface definitions
7 *******************************************************************************/
8 #ifndef __EIO_NULL_H
9 #define __EIO_NULL_H
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 typedef enum
16 {
17  EIO_NULL_BASE
18 }EioNullSystemVariant;
19 
20 #include "eio.h"
21 #if (EIO_NULL == 1)
22 
23 extern EioSystem NullIOSystem;
24 
25 #if (EIO_NUMBER_OF_SYSTEMS==1)
26 #define eioReadyToRun(a) eioNullReadyToRun(a)
27 #define eioGetSystemFailed(a) eioNullGetSystemFailed(a)
28 #define eioSetCycleRateDivisor(a,b,c) eioNullSetCycleRateDivisor(a,b,c)
29 #define eioGetMaximumNumberOfModules(a) eioNullGetMaximumNumberOfModules(a)
30 #define eioGetMaximumNumberOfPointsPerModule(a,b) eioNullGetMaximumNumberOfPointsPerModule(a,b)
31 #define eioGetModuleNumberForPointIndex(a,b,c) eioNullGetModuleNumberForPointIndex(a,b,c)
32 #define eioGetPointNumberForPointIndex(a,b,c) eioNullGetPointNumberForPointIndex(a,b,c)
33 #define eioGetNumberOfIOCycleRates(a) eioNullGetNumberOfIOCycleRates(a)
34 #define eioGetCycleRateuS(a,b) eioNullGetCycleRateuS(a,b)
35 #define eioSetUpdateCycleCompleteHookAdd(a,b,c) eioNullSetUpdateCycleCompleteHookAdd(a,b,c)
36 #define eioSetApplicationCycleCompleteCheckHookAdd(a,b,c) eioNullSetApplicationCycleCompleteCheckHookAdd(a,b,c)
37 #define eioSetOperatingMode(a,b) eioNullSetOperatingMode(a,b)
38 #define eioGetOperatingMode(a) eioNullGetOperatingMode(a)
39 #define eioIsOperatingModeSupported(a,b) eioNullIsOperatingModeSupported(a,b)
40 #define eioSetSecondaryMaximumNumberOfModules(a,b) eioNullSetSecondaryMaximumNumberOfModules(a,b)
41 #define eioModuleGetType(a,b) eioNullModuleGetType(a,b)
42 #define eioModuleGetVersion(a,b) eioNullModuleGetVersion(a,b)
43 #define eioModuleGetMajorVersion(a,b) eioNullModuleGetMajorVersion(a,b)
44 #define eioModuleGetMinorVersion(a,b) eioNullModuleGetMinorVersion(a,b)
45 #define eioModuleSecondarySetFittedModule(a,b,c) eioNullModuleSecondarySetFittedModule(a,b,c)
46 #define eioModuleIsRedundantCapable(a,b) eioNullModuleIsRedundantCapable(a,b)
47 #define eioModuleSetExpectedType(a,b,c,d) eioNullModuleSetExpectedType(a,b,c,d)
48 #define eioModuleGetExpectedType(a,b) eioNullModuleGetExpectedType(a,b)
49 #define eioModuleGetNumberOfPoints(a,b,c) eioNullModuleGetNumberOfPoints(a,b,c)
50 #define eioModuleIsModuleTypeSupported(a,b,c) eioNullModuleIsModuleTypeSupported(a,b,c)
51 #define eioModuleIsModuleCompatible(a,b,c,d) eioNullModuleIsModuleCompatible(a,b,c,d)
52 #define eioModuleIsCycleRateSupported(a,b,c) eioNullModuleIsCycleRateSupported(a,b,c)
53 #define eioAIGetMeasuredValueDataPtr(a,b,c) eioNullAIGetMeasuredValueDataPtr(a,b,c)
54 #define eioAIGetMeasuredValueData(a,b,c,d) eioNullAIGetMeasuredValueData(a,b,c,d)
55 #define eioAISetConfiguration(a,b,c,d,e,f,g,h,i,j,k) eioNullAISetConfiguration(a,b,c,d,e,f,g,h,i,j,k)
56 #define eioAISecondarySetMeasuredValueData(a,b,c,d) eioNullAISecondarySetMeasuredValueData(a,b,c,d)
57 #define eioAICalIsPointRangeCalibrated(a,b,c,d,e) eioNullAICalIsPointRangeCalibrated(a,b,c,d,e)
58 #define eioAICalIsCalibrationTypeSupported(a,b,c,d) eioNullAICalIsCalibrationTypeSupported(a,b,c,d)
59 #define eioAICalSetDefaultCalibration(a,b,c,d) eioNullAICalSetDefaultCalibration(a,b,c,d)
60 #define eioAICalPointCalibrationStart(a,b,c,d) eioNullAICalPointCalibrationStart(a,b,c,d)
61 #define eioAICalGetCalState(a,b,c) eioNullAICalGetCalState(a,b,c)
62 #define eioAICalPointCalibrationComplete(a,b,c,d) eioNullAICalPointCalibrationComplete(a,b,c,d)
63 #define eioAICalPointCalibrationAbort(a,b,c) eioNullAICalPointCalibrationAbort(a,b,c)
64 #define eioAICalSetCalibrationRange(a,b,c,d,e) eioNullAICalSetCalibrationRange(a,b,c,d,e)
65 #define eioAICalIsVREFCalRequired(a,b,c,d) eioNullAICalIsVREFCalRequired(a,b,c,d)
66 #define eioAICalGetNumberOfCalibrationRanges(a,b,c,d) eioNullAICalGetNumberOfCalibrationRanges(a,b,c,d)
67 #define eioAICalGetRangeType(a,b,c,d,e) eioNullAICalGetRangeType(a,b,c,d,e)
68 #define eioAICalGetRangeLowLimit(a,b,c,d,e) eioNullAICalGetRangeLowLimit(a,b,c,d,e)
69 #define eioAICalGetRangeHighLimit(a,b,c,d,e) eioNullAICalGetRangeHighLimit(a,b,c,d,e)
70 #define eioAICalGetNumberOfCalibrationPoints(a,b,c,d,e) eioNullAICalGetNumberOfCalibrationPoints(a,b,c,d,e)
71 #define eioAICalGetNominalCalibrationPoint(a,b,c,d,e,f) eioNullAICalGetNominalCalibrationPoint(a,b,c,d,e,f)
72 #define eioAICalSetActualCalibrationPoint(a,b,c,d,e,f,g) eioNullAICalSetActualCalibrationPoint(a,b,c,d,e,f,g)
73 #define eioAICalIsCustomCalibrationPointSupported(a,b,c,d,e) eioNullAICalIsCustomCalibrationPointSupported(a,b,c,d,e)
74 #define eioAICalRestartMeasurement(a,b,c) eioNullAICalRestartMeasurement(a,b,c)
75 #define eioAICalSetVREFValue(a,b,c,d) eioNullAICalSetVREFValue(a,b,c,d)
76 #define eioAIGetHighestMeasureableValue(a,b,c,d) eioNullAIGetHighestMeasureableValue(a,b,c,d)
77 #define eioAIGetLowestMeasureableValue(a,b,c,d) eioNullAIGetLowestMeasureableValue(a,b,c,d)
78 #define eioAIIsTypeSupported(a,b,c,d) eioNullAIIsTypeSupported(a,b,c,d)
79 #define eioAIIsCJSupported(a,b,c) eioNullAIIsCJSupported(a,b,c)
80 #define eioAIIsBreakResponseSupported(a,b,c,d,e,f,g) eioNullAIIsBreakResponseSupported(a,b,c,d,e,f,g)
81 #define eioAIGetMaxFilterTimeuS(a,b,c) eioNullAIGetMaxFilterTimeuS(a,b,c)
82 #define eioAIIsAdaptiveFilterSupported(a,b,c) eioNullAIIsAdaptiveFilterSupported(a,b,c)
83 #define eioAIGetInputImpedence(a,b,c,d,e,f) eioNullAIGetInputImpedence(a,b,c,d,e,f)
84 #define eioAIUserShuntResistorSupported(a,b,c) eioNullAIUserShuntResistorSupported(a,b,c)
85 #define eioAOGetDataPtr(a,b,c) eioNullAOGetDataPtr(a,b,c)
86 #define eioAOGetData(a,b,c) eioNullAOGetData(a,b,c)
87 #define eioAOSetDemand(a,b,c,d) eioNullAOSetDemand(a,b,c,d)
88 #define eioAOSetConfiguration(a,b,c,d,e,f) eioNullAOSetConfiguration(a,b,c,d,e,f)
89 #define eioAOSecondarySetStatus(a,b,c,d) eioNullAOSecondarySetStatus(a,b,c,d)
90 #define eioAOCalIsCalibrationTypeSupported(a,b,c,d,e) eioNullAOCalIsCalibrationTypeSupported(a,b,c,d,e)
91 #define eioAOCalDefaultCalibration(a,b,c,d) eioNullAOCalDefaultCalibration(a,b,c,d)
92 #define eioAOCalPointCalibrationStart(a,b,c,d) eioNullAOCalPointCalibrationStart(a,b,c,d)
93 #define eioAOCalPointCalibrationComplete(a,b,c,d) eioNullAOCalPointCalibrationComplete(a,b,c,d)
94 #define eioAOCalPointCalibrationAbort(a,b,c) eioNullAOCalPointCalibrationAbort(a,b,c)
95 #define eioAOCalSetCalibrationRange(a,b,c,d,e) eioNullAOCalSetCalibrationRange(a,b,c,d,e)
96 #define eioAOCalGetNumberOfCalibrationRanges(a,b,c,d) eioNullAOCalGetNumberOfCalibrationRanges(a,b,c,d)
97 #define eioAOCalGetRangeType(a,b,c,d,e) eioNullAOCalGetRangeType(a,b,c,d,e)
98 #define eioAOCalGetRangeLowLimit(a,b,c,d,e) eioNullAOCalGetRangeLowLimit(a,b,c,d,e)
99 #define eioAOCalGetRangeHighLimit(a,b,c,d,e) eioNullAOCalGetRangeHighLimit(a,b,c,d,e)
100 #define eioAOCalGetNumberOfCalibrationPoints(a,b,c,d,e) eioNullAOCalGetNumberOfCalibrationPoints(a,b,c,d,e)
101 #define eioAOCalGetNominalCalibrationPoint(a,b,c,d,e,f) eioNullAOCalGetNominalCalibrationPoint(a,b,c,d,e,f)
102 #define eioAOCalSetActualCalibrationPoint(a,b,c,d,e,f,g) eioNullAOCalSetActualCalibrationPoint(a,b,c,d,e,f,g)
103 #define eioAOCalIsCustomCalibrationPointSupported(a,b,c,d,e) eioNullAOCalIsCustomCalibrationPointSupported(a,b,c,d,e)
104 #define eioAOCalSetCurrentOutputMeasurement(a,b,c,d) eioNullAOCalSetCurrentOutputMeasurement(a,b,c,d)
105 #define eioAOCalSetOutput(a,b,c,d) eioNullAOCalSetOutput(a,b,c,d)
106 #define eioAOIsTypeSupported(a,b,c,d) eioNullAOIsTypeSupported(a,b,c,d)
107 #define eioAOGetMinimumOutput(a,b,c,d) eioNullAOGetMinimumOutput(a,b,c,d)
108 #define eioAOGetMaximumOutput(a,b,c,d) eioNullAOGetMaximumOutput(a,b,c,d)
109 #define eioDIGetDataPtr(a,b,c) eioNullDIGetDataPtr(a,b,c)
110 #define eioDIGetData(a,b,c,d) eioNullDIGetData(a,b,c,d)
111 #define eioDISetDebounceTimeuS(a,b,c,d) eioNullDISetDebounceTimeuS(a,b,c,d)
112 #define eioDISecondarySetData(a,b,c,d) eioNullDISecondarySetData(a,b,c,d)
113 #define eioDIIsPulseCountingSupported(a,b,c) eioNullDIIsPulseCountingSupported(a,b,c)
114 #define eioDIIsDebounceSupported(a,b,c) eioNullDIIsDebounceSupported(a,b,c)
115 #define eioDIGetActualDebounceTimeuS(a,b,c,d,e) eioNullDIGetActualDebounceTimeuS(a,b,c,d,e)
116 #define eioDOSetMode(a,b,c,d) eioNullDOSetMode(a,b,c,d)
117 #define eioDOIsModeSupported(a,b,c,d) eioNullDOIsModeSupported(a,b,c,d)
118 #define eioDOGetStatus(a,b,c) eioNullDOGetStatus(a,b,c)
119 #define eioDOSecondarySetStatus(a,b,c,d) eioNullDOSecondarySetStatus(a,b,c,d)
120 #define eioDOOOSetState(a,b,c,d) eioNullDOOOSetState(a,b,c,d)
121 #define eioDOOSOutputPulse(a,b,c,d) eioNullDOOSOutputPulse(a,b,c,d)
122 #define eioDOOSReset(a,b,c) eioNullDOOSReset(a,b,c)
123 #define eioDOOSSetInvert(a,b,c,d) eioNullDOOSSetInvert(a,b,c,d)
124 #define eioDOPTSendPulses(a,b,c,d) eioNullDOPTSendPulses(a,b,c,d)
125 #define eioDOPTSetPerioduS(a,b,c,d) eioNullDOPTSetPerioduS(a,b,c,d)
126 #define eioDOPTReset(a,b,c) eioNullDOPTReset(a,b,c)
127 #define eioDOPTSetInvert(a,b,c,d) eioNullDOPTSetInvert(a,b,c,d)
128 #define eioDOPTGetActualPerioduS(a,b,c,d,e) eioNullDOPTGetActualPerioduS(a,b,c,d,e)
129 #define eioDOTPOSetDemand(a,b,c,d) eioNullDOTPOSetDemand(a,b,c,d)
130 #define eioDOTPOSetMinimumPulseTimeuS(a,b,c,d) eioNullDOTPOSetMinimumPulseTimeuS(a,b,c,d)
131 #define eioDOTPOGetActualMinimumPulseTimeuS(a,b,c,d,e) eioNullDOTPOGetActualMinimumPulseTimeuS(a,b,c,d,e)
132 #define eioDOTPOSetCycleTimeuS(a,b,c,d) eioNullDOTPOSetCycleTimeuS(a,b,c,d)
133 #define eioDOTPOGetActualCycleTimeuS(a,b,c,d,e) eioNullDOTPOGetActualCycleTimeuS(a,b,c,d,e)
134 #define eioDOTPOIsCycleTimeConfigurable(a,b,c) eioNullDOTPOIsCycleTimeConfigurable(a,b,c)
135 #define eioDOVPSetDemand(a,b,c,d) eioNullDOVPSetDemand(a,b,c,d)
136 #define eioDOVPGetActualMinimumPulseTimeuS(a,b,c,d,e) eioNullDOVPGetActualMinimumPulseTimeuS(a,b,c,d,e)
137 #define eioDOVPSetBacklashuS(a,b,c,d) eioNullDOVPSetBacklashuS(a,b,c,d)
138 #define eioDOVPSetInertiauS(a,b,c,d) eioNullDOVPSetInertiauS(a,b,c,d)
139 #define eioDOVPSetStaticTimeuS(a,b,c,d) eioNullDOVPSetStaticTimeuS(a,b,c,d)
140 #define eioDOVPIsPropertySupported(a,b,c,d) eioNullDOVPIsPropertySupported(a,b,c,d)
141 #define eioDOVPGetAssociatedPointOnModule(a,b,c) eioNullDOVPGetAssociatedPointOnModule(a,b,c)
142 #define eioFIGetDataPtr( a, b, c) eioNullFIGetDataPtr( a, b, c)
143 #define eioFIGetData( a, b, c, d) eioNullFIGetData( a, b, c, d)
144 #define eioFISetConfiguration( a, b, c, d, e, f, g, h, i, j,k)eioNullFISetConfiguration( a, b, c, d, e, f, g, h, i, j,k)
145 #define eioFISecondarySetData( a, b, c, d) eioNullFISecondarySetData( a, b, c, d)
146 #define eioFIIsTypeSupported( a, b, c, d) eioNullFIIsTypeSupported( a, b, c, d)
147 #define eioFIIsDebounceSupported( a, b, c, d) eioNullFIIsDebounceSupported( a, b, c, d)
148 #define eioFIIsThresholdSupported( a, b, c, d) eioNullFIIsThresholdSupported( a, b, c, d)
149 #define eioFIIsShortCircuitDetectSupported( a, b, c, d) eioNullFIIsShortCircuitDetectSupported( a, b, c, d)
150 #define eioFIIsSensorBreakDetectSupported( a, b, c, d) eioNullFIIsSensorBreakDetectSupported( a, b, c, d)
151 #define eioFIIsPowerSupplySupported( a, b, c) eioNullFIIsPowerSupplySupported( a, b, c)
152 #define eioFIGetMaximumSupportedFrequency( a, b, c, d) eioNullFIGetMaximumSupportedFrequency( a, b, c, d)
153 #define eioFIGetMinimumSupportedFrequency( a, b, c, d) eioNullFIGetMinimumSupportedFrequency( a, b, c, d)
154 #define eioFIGetActualThreshold( a, b, c, d, e, f) eioNullFIGetActualThreshold( a, b, c, d, e, f)
155 #define eioFIGetActualSupplyMillivolts( a, b, c, d) eioNullFIGetActualSupplyMillivolts( a, b, c, d)
156 #define eioFIGetMaxFilterTimeuS( a, b, c) eioNullFIGetMaxFilterTimeuS( a, b, c)
157 #define eioFIIsBurdenConfigurable( a, b, c) eioNullFIIsBurdenConfigurable( a, b, c)
158 #define eioFIGetBurdenResistance( a, b, c) eioNullFIGetBurdenResistance( a, b, c)
159 #define eioFIGetSlowestUpdateuS( a, b) eioNullFIGetSlowestUpdateuS( a, b)
160 #define eioFIGetActualDebounceTimeuS( a, b, c, d, e) eioNullFIGetActualDebounceTimeuS( a, b, c, d, e)
161 
162 #else /* (EIO_NUMBER_OF_SYSTEMS==1) */
163 
164 #include "eio_sysf.h"
165 extern EioSystemFunctions eioNullSystemFunctions;
166 #endif /* (EIO_NUMBER_OF_SYSTEMS==1) */
167 
168 /* system runtime API */
169 void eioNullSetUpdateCycleCompleteHookAdd( EioSystem *ioSystem, EioUint8 cycleNumber, void(*hook)(EioUint8 cycleNumber, EioUint32 count));
170 void eioNullSetApplicationCycleCompleteCheckHookAdd( EioSystem *ioSystem, EioUint8 cycleNumber, EioBoolean(*hook)(EioUint8 cycleNumber));
171 EioBoolean eioNullReadyToRun(EioSystem *ioSystem);
172 EioBoolean eioNullGetSystemFailed(EioSystem *ioSystem);
173 void eioNullSetCycleRateDivisor(EioSystem *ioSystem, EioUint8 cycleNumber, EioUint32 divisor);
174 
175 /* redundancy runtime api */
176 void eioNullSetOperatingMode( EioSystem *ioSystem, EioOperatingMode mode);
177 EioOperatingMode eioNullGetOperatingMode( EioSystem *ioSystem);
178 EioBoolean eioNullIsOperatingModeSupported( EioSystem *ioSystem, EioOperatingMode mode);
179 void eioNullSetSecondaryMaximumNumberOfModules( EioSystem *ioSystem, EioUint8 numberOfModules);
180 
181 /* system capability discovery API */
182 EioUint8 eioNullGetMaximumNumberOfModules( EioSystem *ioSystem );
183 EioUint8 eioNullGetMaximumNumberOfPointsPerModule( EioSystem *ioSystem, EioPointType pointType);
184 EioUint8 eioNullGetModuleNumberForPointIndex( EioSystem *ioSystem, EioPointType pointType, EioUint16 pointIndex);
185 EioUint8 eioNullGetPointNumberForPointIndex( EioSystem *ioSystem, EioPointType pointType, EioUint16 pointIndex);
186 EioUint8 eioNullGetNumberOfIOCycleRates( EioSystem *ioSystem );
187 EioUint32 eioNullGetCycleRateuS( EioSystem *ioSystem, EioUint8 cycleNumber);
188 
189 /* Module runtime API */
190 EioModuleType eioNullModuleGetType( EioSystem *ioSystem, EioUint8 moduleNumber);
191 char * eioNullModuleGetVersion( EioSystem *ioSystem, EioUint8 moduleNumber);
192 EioUint8 eioNullModuleGetMajorVersion( EioSystem *ioSystem, EioUint8 moduleNumber);
193 EioUint8 eioNullModuleGetMinorVersion( EioSystem *ioSystem, EioUint8 moduleNumber);
194 void eioNullModuleSecondarySetFittedModule( EioSystem *ioSystem, EioUint8 moduleNumber, EioModuleType fitted);
195 EioBoolean eioNullModuleIsRedundantCapable( EioSystem *ioSystem, EioModuleType moduleType);
196 EioBoolean eioNullModuleSetExpectedType( EioSystem *ioSystem, EioUint8 moduleNumber, EioModuleType moduleType, EioUint8 cycleNumber);
197 EioModuleType eioNullModuleGetExpectedType( EioSystem *ioSystem, EioUint8 moduleNumber);
198 
199 /* Module capability discovery API */
200 EioUint8 eioNullModuleGetNumberOfPoints( EioSystem *ioSystem, EioModuleType moduleType, EioPointType pointType);
201 EioBoolean eioNullModuleIsModuleTypeSupported( EioSystem *ioSystem, EioUint8 moduleNumber, EioModuleType moduleType);
202 EioBoolean eioNullModuleIsModuleCompatible( EioSystem *ioSystem, EioModuleType expected, EioModuleType fitted, EioUint8 cycleNumber);
203 EioBoolean eioNullModuleIsCycleRateSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 cycleNumber);
204 
205 /* prototypes for runtime data and configuration */
206 EioAIMeasuredValueData* eioNullAIGetMeasuredValueDataPtr( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
207 void eioNullAIGetMeasuredValueData( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAIMeasuredValueData *dataPtr);
208 void eioNullAISetConfiguration( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAIType inputType, EioAIBreakResponse breakResponse, EioUint32 filterTimeuS, float rangeLow, float rangeHigh, float resistance, EioBoolean useAdaptiveFilter, EioBoolean cjRequired);
209 void eioNullAISecondarySetMeasuredValueData( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAIMeasuredValueData *dataPtr);
210 
211 /* Calibration prototypes */
212 EioBoolean eioNullAICalIsPointRangeCalibrated( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
213 EioBoolean eioNullAICalIsCalibrationTypeSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType);
214 void eioNullAICalSetDefaultCalibration( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType);
215 void eioNullAICalPointCalibrationStart( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType);
216 EioAICalStatus eioNullAICalGetCalState( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
217 void eioNullAICalPointCalibrationComplete( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType);
218 void eioNullAICalPointCalibrationAbort( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
219 void eioNullAICalSetCalibrationRange( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
220 EioBoolean eioNullAICalIsVREFCalRequired( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType);
221 EioUint8 eioNullAICalGetNumberOfCalibrationRanges( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType);
222 EioAICalRangeType eioNullAICalGetRangeType( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
223 float eioNullAICalGetRangeLowLimit( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
224 float eioNullAICalGetRangeHighLimit( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
225 EioUint8 eioNullAICalGetNumberOfCalibrationPoints( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
226 float eioNullAICalGetNominalCalibrationPoint( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber, EioUint8 calibrationPointIndex);
227 void eioNullAICalSetActualCalibrationPoint( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber, float value, EioUint8 calibrationPointIndex);
228 EioBoolean eioNullAICalIsCustomCalibrationPointSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
229 void eioNullAICalRestartMeasurement( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
230 void eioNullAICalSetVREFValue( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, float Vref);
231 
232 /* Capability discovery prototypes */
233 float eioNullAIGetHighestMeasureableValue( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAIType inputType);
234 float eioNullAIGetLowestMeasureableValue( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAIType inputType);
235 EioBoolean eioNullAIIsTypeSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAIType inputType);
236 EioBoolean eioNullAIIsCJSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
237 EioBoolean eioNullAIIsBreakResponseSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAIType inputType, float rangeLow, float rangeHigh, EioAIBreakResponse breakResponse);
238 EioUint32 eioNullAIGetMaxFilterTimeuS( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
239 EioBoolean eioNullAIIsAdaptiveFilterSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
240 float eioNullAIGetInputImpedence( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAIType inputType, float rangeLow, float rangeHigh);
241 EioBoolean eioNullAIUserShuntResistorSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
242 
243 /* runtime data and configuration prototypes */
244 EioAOData* eioNullAOGetDataPtr( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
245 EioAOStatus eioNullAOGetStatus( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
246 void eioNullAOSetDemand( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, float demand);
247 void eioNullAOSetConfiguration( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOType outputType, float rangeLow, float rangeHigh);
248 void eioNullAOSecondarySetStatus( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOStatus status);
249 
250 /* Calibration prototypes */
251 EioBoolean eioNullAOCalIsCalibrationTypeSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 cycleNumber);
252 void eioNullAOCalDefaultCalibration( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOCalType calType);
253 void eioNullAOCalPointCalibrationStart( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOCalType calType);
254 void eioNullAOCalPointCalibrationComplete( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOCalType calType);
255 void eioNullAOCalPointCalibrationAbort( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
256 void eioNullAOCalSetCalibrationRange( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
257 EioUint8 eioNullAOCalGetNumberOfCalibrationRanges( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType);
258 EioAOCalRangeType eioNullAOCalGetRangeType( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
259 float eioNullAOCalGetRangeLowLimit( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
260 float eioNullAOCalGetRangeHighLimit( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
261 EioUint8 eioNullAOCalGetNumberOfCalibrationPoints( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
262 float eioNullAOCalGetNominalCalibrationPoint( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber, EioUint8 calibrationPointIndex);
263 void eioNullAOCalSetActualCalibrationPoint( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber, EioUint8 calibrationPointIndex, float value);
264 EioBoolean eioNullAOCalIsCustomCalibrationPointSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
265 void eioNullAOCalSetCurrentOutputMeasurement( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, float value);
266 void eioNullAOCalSetOutput( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, float value);
267 
268 /* Capability discovery prototypes */
269 EioBoolean eioNullAOIsTypeSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOType outputType);
270 float eioNullAOGetMinimumOutput( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOType outputType);
271 float eioNullAOGetMaximumOutput( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOType outputType);
272 
273 /* runtime and configuration prototypes */
274 EioDIData* eioNullDIGetDataPtr( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
275 void eioNullDIGetData( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioDIData *dataPtr);
276 void eioNullDISetDebounceTimeuS( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 debounceTimeuS);
277 void eioNullDISecondarySetData( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioDIData *dataPtr);
278 
279 /* CApability discovery prototypes */
280 EioBoolean eioNullDIIsPulseCountingSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
281 EioBoolean eioNullDIIsDebounceSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
282 EioUint32 eioNullDIGetActualDebounceTimeuS( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioUint32 requestedDebounceTimeuS, EioUint8 cycleNumber);
283 
284 /* General Digital output API */
285 void eioNullDOSetMode( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioDOMode mode);
286 EioBoolean eioNullDOIsModeSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioDOMode outputMode);
287 EioDOStatus eioNullDOGetStatus( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
288 void eioNullDOSecondarySetStatus( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioDOStatus status);
289 
290 /* On/Off API */
291 void eioNullDOOOSetState( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioDOState state);
292 
293 /* One Shot API */
294 void eioNullDOOSOutputPulse( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 pulseTimeuS);
295 void eioNullDOOSReset( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
296 void eioNullDOOSSetInvert( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioBoolean invert);
297 
298 /* Pulse Train API */
299 void eioNullDOPTSendPulses( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 numberOfPulses);
300 void eioNullDOPTSetPerioduS( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 perioduS);
301 void eioNullDOPTReset( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
302 void eioNullDOPTSetInvert( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioBoolean invert);
303 EioUint32 eioNullDOPTGetActualPerioduS( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioUint8 cycleNumber, EioUint32 perioduS);
304 
305 /* Time proportioned Output API */
306 void eioNullDOTPOSetDemand( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, float demand);
307 void eioNullDOTPOSetMinimumPulseTimeuS( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 pulseTimeuS);
308 EioUint32 eioNullDOTPOGetActualMinimumPulseTimeuS( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioUint8 cycleNumber, EioUint32 requestedMinimumPulseTimeuS);
309 void eioNullDOTPOSetCycleTimeuS( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 cycleTimeuS);
310 EioUint32 eioNullDOTPOGetActualCycleTimeuS( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioUint8 cycleNumber, EioUint32 requestedCycleTimeuS);
311 EioBoolean eioNullDOTPOIsCycleTimeConfigurable( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
312 
313 void eioNullDOVPSetDemand( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, float demand);
314 EioUint32 eioNullDOVPGetActualMinimumPulseTimeuS( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioUint8 cycleNumber, EioUint32 requestedMinimumPulseTimeuS);
315 void eioNullDOVPSetBacklashuS( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 backlashuS);
316 void eioNullDOVPSetInertiauS( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 inertiauS);
317 void eioNullDOVPSetStaticTimeuS( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 staticTimeuS);
318 EioBoolean eioNullDOVPIsPropertySupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioDOVPProperty property);
319 EioUint8 eioNullDOVPGetAssociatedPointOnModule( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
320 
321 /* Frequency input API */
322 EioFIData* eioNullFIGetDataPtr( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
323 void eioNullFIGetData( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioFIData *dataPtr);
324 void eioNullFISetConfiguration( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioFIType type, float threshold, float supplyMillivolts, EioUint32 debounce, EioUint32 filterTimeuS, float burdenOhms, EioBoolean enableSensorBreak, EioBoolean enableShortCircuitDetect);
325 void eioNullFISecondarySetData( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioFIData *dataPtr);
326 EioBoolean eioNullFIIsTypeSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
327 EioBoolean eioNullFIIsDebounceSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
328 EioBoolean eioNullFIIsThresholdSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
329 EioBoolean eioNullFIIsShortCircuitDetectSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
330 EioBoolean eioNullFIIsSensorBreakDetectSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
331 EioBoolean eioNullFIIsPowerSupplySupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
332 float eioNullFIGetMaximumSupportedFrequency( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
333 float eioNullFIGetMinimumSupportedFrequency( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
334 float eioNullFIGetActualThreshold( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType, float burdenOhms, float requested);
335 float eioNullFIGetActualSupplyMillivolts( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, float requestedMillivolts);
336 EioUint32 eioNullFIGetMaxFilterTimeuS( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
337 EioBoolean eioNullFIIsBurdenConfigurable( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
338 float eioNullFIGetBurdenResistance( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
339 EioUint32 eioNullFIGetSlowestUpdateuS( EioSystem *ioSystem, EioModuleType moduleType);
340 EioUint32 eioNullFIGetActualDebounceTimeuS( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType type, EioUint32 debounce);
341 #endif /* EIO_NULL == 1 */
342 #ifdef __cplusplus
343 } /* extern "C" */
344 #endif
345 #endif /* __EIO_NULL_H */
Definition: eio_ai.h:44
Definition: eio_syst.h:52
Definition: eio_sysf.h:14
Definition: eio_di.h:38
Definition: eio_fi.h:39
Definition: eio_ao.h:38