versadac  1
versadac - Scalable Recorder Firmware
eio_phnx.h
1 /*******************************************************************************
2 FILE : eio_phnx.h
3 VERSION : $Id: eio_phnx.h 9451 2007-06-18 13:19:43Z davec $
4 AUTHOR : David Cozens
5 SYSTEM : Diab C for PowerPC under vxWorks
6 DESCRIPTION : Phoenix EIO API interface definitions
7 *******************************************************************************/
8 #ifndef __EIO_PHOENIX_H
9 #define __EIO_PHOENIX_H
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 typedef enum
16 {
17  EIO_PHNX_BASE
18 }EioPhoenixSystemVariant;
19 
20 #include "eio.h"
21 #if (EIO_PHOENIX == 1)
22 
23 extern EioSystem PhnxIOSystem;
24 
25 #if (EIO_NUMBER_OF_SYSTEMS==1)
26 #define eioReadyToRun(a) eioPhoenixReadyToRun(a)
27 #define eioGetSystemFailed(a) eioPhoenixGetSystemFailed(a)
28 #define eioSetCycleRateDivisor(a,b,c) eioPhoenixSetCycleRateDivisor(a,b,c)
29 #define eioGetMaximumNumberOfModules(a) eioPhoenixGetMaximumNumberOfModules(a)
30 #define eioGetMaximumNumberOfPointsPerModule(a,b) eioPhoenixGetMaximumNumberOfPointsPerModule(a,b)
31 #define eioGetModuleNumberForPointIndex(a,b,c) eioPhoenixGetModuleNumberForPointIndex(a,b,c)
32 #define eioGetPointNumberForPointIndex(a,b,c) eioPhoenixGetPointNumberForPointIndex(a,b,c)
33 #define eioGetNumberOfIOCycleRates(a) eioPhoenixGetNumberOfIOCycleRates(a)
34 #define eioGetCycleRateuS(a,b) eioPhoenixGetCycleRateuS(a,b)
35 #define eioSetUpdateCycleCompleteHookAdd(a,b,c) eioPhoenixSetUpdateCycleCompleteHookAdd(a,b,c)
36 #define eioSetApplicationCycleCompleteCheckHookAdd(a,b,c) eioPhoenixSetApplicationCycleCompleteCheckHookAdd(a,b,c)
37 #define eioSetOperatingMode(a,b) eioPhoenixSetOperatingMode(a,b)
38 #define eioGetOperatingMode(a) eioPhoenixGetOperatingMode(a)
39 #define eioIsOperatingModeSupported(a,b) eioPhoenixIsOperatingModeSupported(a,b)
40 #define eioSetSecondaryMaximumNumberOfModules(a,b) eioPhoenixSetSecondaryMaximumNumberOfModules(a,b)
41 #define eioModuleGetType(a,b) eioPhoenixModuleGetType(a,b)
42 #define eioModuleGetVersion(a,b) eioPhoenixModuleGetVersion(a,b)
43 #define eioModuleGetMajorVersion(a,b) eioPhoenixModuleGetMajorVersion(a,b)
44 #define eioModuleGetMinorVersion(a,b) eioPhoenixModuleGetMinorVersion(a,b)
45 #define eioModuleSecondarySetFittedModule(a,b,c) eioPhoenixModuleSecondarySetFittedModule(a,b,c)
46 #define eioModuleIsRedundantCapable(a,b) eioPhoenixModuleIsRedundantCapable(a,b)
47 #define eioModuleSetExpectedType(a,b,c,d) eioPhoenixModuleSetExpectedType(a,b,c,d)
48 #define eioModuleGetExpectedType(a,b) eioPhoenixModuleGetExpectedType(a,b)
49 #define eioModuleGetNumberOfPoints(a,b,c) eioPhoenixModuleGetNumberOfPoints(a,b,c)
50 #define eioModuleIsModuleTypeSupported(a,b,c) eioPhoenixModuleIsModuleTypeSupported(a,b,c)
51 #define eioModuleIsModuleCompatible(a,b,c,d) eioPhoenixModuleIsModuleCompatible(a,b,c,d)
52 #define eioModuleIsCycleRateSupported(a,b,c) eioPhoenixModuleIsCycleRateSupported(a,b,c)
53 #define eioAIGetMeasuredValueDataPtr(a,b,c) eioPhoenixAIGetMeasuredValueDataPtr(a,b,c)
54 #define eioAIGetMeasuredValueData(a,b,c,d) eioPhoenixAIGetMeasuredValueData(a,b,c,d)
55 #define eioAISetConfiguration(a,b,c,d,e,f,g,h,i,j,k) eioPhoenixAISetConfiguration(a,b,c,d,e,f,g,h,i,j,k)
56 #define eioAISecondarySetMeasuredValueData(a,b,c,d) eioPhoenixAISecondarySetMeasuredValueData(a,b,c,d)
57 #define eioAICalIsPointRangeCalibrated(a,b,c,d,e) eioPhoenixAICalIsPointRangeCalibrated(a,b,c,d,e)
58 #define eioAICalIsCalibrationTypeSupported(a,b,c,d) eioPhoenixAICalIsCalibrationTypeSupported(a,b,c,d)
59 #define eioAICalSetDefaultCalibration(a,b,c,d) eioPhoenixAICalSetDefaultCalibration(a,b,c,d)
60 #define eioAICalPointCalibrationStart(a,b,c,d) eioPhoenixAICalPointCalibrationStart(a,b,c,d)
61 #define eioAICalGetCalState(a,b,c) eioPhoenixAICalGetCalState(a,b,c)
62 #define eioAICalPointCalibrationComplete(a,b,c,d) eioPhoenixAICalPointCalibrationComplete(a,b,c,d)
63 #define eioAICalPointCalibrationAbort(a,b,c) eioPhoenixAICalPointCalibrationAbort(a,b,c)
64 #define eioAICalSetCalibrationRange(a,b,c,d,e) eioPhoenixAICalSetCalibrationRange(a,b,c,d,e)
65 #define eioAICalIsVREFCalRequired(a,b,c,d) eioPhoenixAICalIsVREFCalRequired(a,b,c,d)
66 #define eioAICalGetNumberOfCalibrationRanges(a,b,c,d) eioPhoenixAICalGetNumberOfCalibrationRanges(a,b,c,d)
67 #define eioAICalGetRangeType(a,b,c,d,e) eioPhoenixAICalGetRangeType(a,b,c,d,e)
68 #define eioAICalGetRangeLowLimit(a,b,c,d,e) eioPhoenixAICalGetRangeLowLimit(a,b,c,d,e)
69 #define eioAICalGetRangeHighLimit(a,b,c,d,e) eioPhoenixAICalGetRangeHighLimit(a,b,c,d,e)
70 #define eioAICalGetNumberOfCalibrationPoints(a,b,c,d,e) eioPhoenixAICalGetNumberOfCalibrationPoints(a,b,c,d,e)
71 #define eioAICalGetNominalCalibrationPoint(a,b,c,d,e,f) eioPhoenixAICalGetNominalCalibrationPoint(a,b,c,d,e,f)
72 #define eioAICalSetActualCalibrationPoint(a,b,c,d,e,f,g) eioPhoenixAICalSetActualCalibrationPoint(a,b,c,d,e,f,g)
73 #define eioAICalIsCustomCalibrationPointSupported(a,b,c,d,e) eioPhoenixAICalIsCustomCalibrationPointSupported(a,b,c,d,e)
74 #define eioAICalRestartMeasurement(a,b,c) eioPhoenixAICalRestartMeasurement(a,b,c)
75 #define eioAICalSetVREFValue(a,b,c,d) eioPhoenixAICalSetVREFValue(a,b,c,d)
76 #define eioAIGetHighestMeasureableValue(a,b,c,d) eioPhoenixAIGetHighestMeasureableValue(a,b,c,d)
77 #define eioAIGetLowestMeasureableValue(a,b,c,d) eioPhoenixAIGetLowestMeasureableValue(a,b,c,d)
78 #define eioAIIsTypeSupported(a,b,c,d) eioPhoenixAIIsTypeSupported(a,b,c,d)
79 #define eioAIIsCJSupported(a,b,c) eioPhoenixAIIsCJSupported(a,b,c)
80 #define eioAIIsBreakResponseSupported(a,b,c,d,e,f,g) eioPhoenixAIIsBreakResponseSupported(a,b,c,d,e,f,g)
81 #define eioAIGetMaxFilterTimeuS(a,b,c) eioPhoenixAIGetMaxFilterTimeuS(a,b,c)
82 #define eioAIIsAdaptiveFilterSupported(a,b,c) eioPhoenixAIIsAdaptiveFilterSupported(a,b,c)
83 #define eioAIGetInputImpedence(a,b,c,d,e,f) eioPhoenixAIGetInputImpedence(a,b,c,d,e,f)
84 #define eioAIUserShuntResistorSupported(a,b,c) eioPhoenixAIUserShuntResistorSupported(a,b,c)
85 #define eioAOGetDataPtr(a,b,c) eioPhoenixAOGetDataPtr(a,b,c)
86 #define eioAOGetData(a,b,c) eioPhoenixAOGetData(a,b,c)
87 #define eioAOSetDemand(a,b,c,d) eioPhoenixAOSetDemand(a,b,c,d)
88 #define eioAOSetConfiguration(a,b,c,d,e,f) eioPhoenixAOSetConfiguration(a,b,c,d,e,f)
89 #define eioAOSecondarySetStatus(a,b,c,d) eioPhoenixAOSecondarySetStatus(a,b,c,d)
90 #define eioAOCalIsCalibrationTypeSupported(a,b,c,d,e) eioPhoenixAOCalIsCalibrationTypeSupported(a,b,c,d,e)
91 #define eioAOCalDefaultCalibration(a,b,c,d) eioPhoenixAOCalDefaultCalibration(a,b,c,d)
92 #define eioAOCalPointCalibrationStart(a,b,c,d) eioPhoenixAOCalPointCalibrationStart(a,b,c,d)
93 #define eioAOCalPointCalibrationComplete(a,b,c,d) eioPhoenixAOCalPointCalibrationComplete(a,b,c,d)
94 #define eioAOCalPointCalibrationAbort(a,b,c) eioPhoenixAOCalPointCalibrationAbort(a,b,c)
95 #define eioAOCalSetCalibrationRange(a,b,c,d,e) eioPhoenixAOCalSetCalibrationRange(a,b,c,d,e)
96 #define eioAOCalGetNumberOfCalibrationRanges(a,b,c,d) eioPhoenixAOCalGetNumberOfCalibrationRanges(a,b,c,d)
97 #define eioAOCalGetRangeType(a,b,c,d,e) eioPhoenixAOCalGetRangeType(a,b,c,d,e)
98 #define eioAOCalGetRangeLowLimit(a,b,c,d,e) eioPhoenixAOCalGetRangeLowLimit(a,b,c,d,e)
99 #define eioAOCalGetRangeHighLimit(a,b,c,d,e) eioPhoenixAOCalGetRangeHighLimit(a,b,c,d,e)
100 #define eioAOCalGetNumberOfCalibrationPoints(a,b,c,d,e) eioPhoenixAOCalGetNumberOfCalibrationPoints(a,b,c,d,e)
101 #define eioAOCalGetNominalCalibrationPoint(a,b,c,d,e,f) eioPhoenixAOCalGetNominalCalibrationPoint(a,b,c,d,e,f)
102 #define eioAOCalSetActualCalibrationPoint(a,b,c,d,e,f,g) eioPhoenixAOCalSetActualCalibrationPoint(a,b,c,d,e,f,g)
103 #define eioAOCalIsCustomCalibrationPointSupported(a,b,c,d,e) eioPhoenixAOCalIsCustomCalibrationPointSupported(a,b,c,d,e)
104 #define eioAOCalSetCurrentOutputMeasurement(a,b,c,d) eioPhoenixAOCalSetCurrentOutputMeasurement(a,b,c,d)
105 #define eioAOCalSetOutput(a,b,c,d) eioPhoenixAOCalSetOutput(a,b,c,d)
106 #define eioAOIsTypeSupported(a,b,c,d) eioPhoenixAOIsTypeSupported(a,b,c,d)
107 #define eioAOGetMinimumOutput(a,b,c,d) eioPhoenixAOGetMinimumOutput(a,b,c,d)
108 #define eioAOGetMaximumOutput(a,b,c,d) eioPhoenixAOGetMaximumOutput(a,b,c,d)
109 #define eioDIGetDataPtr(a,b,c) eioPhoenixDIGetDataPtr(a,b,c)
110 #define eioDIGetData(a,b,c,d) eioPhoenixDIGetData(a,b,c,d)
111 #define eioDISetDebounceTimeuS(a,b,c,d) eioPhoenixDISetDebounceTimeuS(a,b,c,d)
112 #define eioDISecondarySetData(a,b,c,d) eioPhoenixDISecondarySetData(a,b,c,d)
113 #define eioDIIsPulseCountingSupported(a,b,c) eioPhoenixDIIsPulseCountingSupported(a,b,c)
114 #define eioDIIsDebounceSupported(a,b,c) eioPhoenixDIIsDebounceSupported(a,b,c)
115 #define eioDIGetActualDebounceTimeuS(a,b,c,d,e) eioPhoenixDIGetActualDebounceTimeuS(a,b,c,d,e)
116 #define eioDOSetMode(a,b,c,d) eioPhoenixDOSetMode(a,b,c,d)
117 #define eioDOIsModeSupported(a,b,c,d) eioPhoenixDOIsModeSupported(a,b,c,d)
118 #define eioDOGetStatus(a,b,c) eioPhoenixDOGetStatus(a,b,c)
119 #define eioDOSecondarySetStatus(a,b,c,d) eioPhoenixDOSecondarySetStatus(a,b,c,d)
120 #define eioDOOOSetState(a,b,c,d) eioPhoenixDOOOSetState(a,b,c,d)
121 #define eioDOOSOutputPulse(a,b,c,d) eioPhoenixDOOSOutputPulse(a,b,c,d)
122 #define eioDOOSReset(a,b,c) eioPhoenixDOOSReset(a,b,c)
123 #define eioDOOSSetInvert(a,b,c,d) eioPhoenixDOOSSetInvert(a,b,c,d)
124 #define eioDOPTSendPulses(a,b,c,d) eioPhoenixDOPTSendPulses(a,b,c,d)
125 #define eioDOPTSetPerioduS(a,b,c,d) eioPhoenixDOPTSetPerioduS(a,b,c,d)
126 #define eioDOPTReset(a,b,c) eioPhoenixDOPTReset(a,b,c)
127 #define eioDOPTSetInvert(a,b,c,d) eioPhoenixDOPTSetInvert(a,b,c,d)
128 #define eioDOPTGetActualPerioduS(a,b,c,d,e) eioPhoenixDOPTGetActualPerioduS(a,b,c,d,e)
129 #define eioDOTPOSetDemand(a,b,c,d) eioPhoenixDOTPOSetDemand(a,b,c,d)
130 #define eioDOTPOSetMinimumPulseTimeuS(a,b,c,d) eioPhoenixDOTPOSetMinimumPulseTimeuS(a,b,c,d)
131 #define eioDOTPOGetActualMinimumPulseTimeuS(a,b,c,d,e) eioPhoenixDOTPOGetActualMinimumPulseTimeuS(a,b,c,d,e)
132 #define eioDOTPOSetCycleTimeuS(a,b,c,d) eioPhoenixDOTPOSetCycleTimeuS(a,b,c,d)
133 #define eioDOTPOGetActualCycleTimeuS(a,b,c,d,e) eioPhoenixDOTPOGetActualCycleTimeuS(a,b,c,d,e)
134 #define eioDOTPOIsCycleTimeConfigurable(a,b,c) eioPhoenixDOTPOIsCycleTimeConfigurable(a,b,c)
135 #define eioDOVPSetDemand(a,b,c,d) eioPhoenixDOVPSetDemand(a,b,c,d)
136 #define eioDOVPGetActualMinimumPulseTimeuS(a,b,c,d,e) eioPhoenixDOVPGetActualMinimumPulseTimeuS(a,b,c,d,e)
137 #define eioDOVPSetBacklashuS(a,b,c,d) eioPhoenixDOVPSetBacklashuS(a,b,c,d)
138 #define eioDOVPSetInertiauS(a,b,c,d) eioPhoenixDOVPSetInertiauS(a,b,c,d)
139 #define eioDOVPSetStaticTimeuS(a,b,c,d) eioPhoenixDOVPSetStaticTimeuS(a,b,c,d)
140 #define eioDOVPIsPropertySupported(a,b,c,d) eioPhoenixDOVPIsPropertySupported(a,b,c,d)
141 #define eioDOVPGetAssociatedPointOnModule(a,b,c) eioPhoenixDOVPGetAssociatedPointOnModule(a,b,c)
142 #define eioFIGetDataPtr( a, b, c) eioPhoenixFIGetDataPtr( a, b, c)
143 #define eioFIGetData( a, b, c, d) eioPhoenixFIGetData( a, b, c, d)
144 #define eioFISetConfiguration( a, b, c, d, e, f, g, h, i, j,k)eioPhoenixFISetConfiguration( a, b, c, d, e, f, g, h, i, j,k)
145 #define eioFISecondarySetData( a, b, c, d) eioPhoenixFISecondarySetData( a, b, c, d)
146 #define eioFIIsTypeSupported( a, b, c, d) eioPhoenixFIIsTypeSupported( a, b, c, d)
147 #define eioFIIsDebounceSupported( a, b, c, d) eioPhoenixFIIsDebounceSupported( a, b, c, d)
148 #define eioFIIsThresholdSupported( a, b, c, d) eioPhoenixFIIsThresholdSupported( a, b, c, d)
149 #define eioFIIsShortCircuitDetectSupported( a, b, c, d) eioPhoenixFIIsShortCircuitDetectSupported( a, b, c, d)
150 #define eioFIIsSensorBreakDetectSupported( a, b, c, d) eioPhoenixFIIsSensorBreakDetectSupported( a, b, c, d)
151 #define eioFIIsPowerSupplySupported( a, b, c) eioPhoenixFIIsPowerSupplySupported( a, b, c)
152 #define eioFIGetMaximumSupportedFrequency( a, b, c, d) eioPhoenixFIGetMaximumSupportedFrequency( a, b, c, d)
153 #define eioFIGetMinimumSupportedFrequency( a, b, c, d) eioPhoenixFIGetMinimumSupportedFrequency( a, b, c, d)
154 #define eioFIGetActualThreshold( a, b, c, d, e, f) eioPhoenixFIGetActualThreshold( a, b, c, d, e, f)
155 #define eioFIGetActualSupplyMillivolts( a, b, c, d) eioPhoenixFIGetActualSupplyMillivolts( a, b, c, d)
156 #define eioFIGetMaxFilterTimeuS( a, b, c) eioPhoenixFIGetMaxFilterTimeuS( a, b, c)
157 #define eioFIIsBurdenConfigurable( a, b, c) eioPhoenixFIIsBurdenConfigurable( a, b, c)
158 #define eioFIGetBurdenResistance( a, b, c) eioPhoenixFIGetBurdenResistance( a, b, c)
159 #define eioFIGetSlowestUpdateuS( a, b) eioPhoenixFIGetSlowestUpdateuS( a, b)
160 #define eioFIGetActualDebounceTimeuS( a, b, c, d, e) eioPhoenixFIGetActualDebounceTimeuS( a, b, c, d, e)
161 
162 #else /* (EIO_NUMBER_OF_SYSTEMS==1) */
163 
164 #include "eio_sysf.h"
165 extern EioSystemFunctions eioPhoenixSystemFunctions;
166 #endif /* (EIO_NUMBER_OF_SYSTEMS==1) */
167 
168 /* system runtime API */
169 void eioPhoenixSetUpdateCycleCompleteHookAdd( EioSystem *ioSystem, EioUint8 cycleNumber, void(*hook)(EioUint8 cycleNumber, EioUint32 count));
170 void eioPhoenixSetApplicationCycleCompleteCheckHookAdd( EioSystem *ioSystem, EioUint8 cycleNumber, EioBoolean(*hook)(EioUint8 cycleNumber));
171 EioBoolean eioPhoenixReadyToRun(EioSystem *ioSystem);
172 EioBoolean eioPhoenixGetSystemFailed(EioSystem *ioSystem);
173 void eioPhoenixSetCycleRateDivisor(EioSystem *ioSystem, EioUint8 cycleNumber, EioUint32 divisor);
174 
175 /* redundancy runtime api */
176 void eioPhoenixSetOperatingMode( EioSystem *ioSystem, EioOperatingMode mode);
177 EioOperatingMode eioPhoenixGetOperatingMode( EioSystem *ioSystem);
178 EioBoolean eioPhoenixIsOperatingModeSupported( EioSystem *ioSystem, EioOperatingMode mode);
179 void eioPhoenixSetSecondaryMaximumNumberOfModules( EioSystem *ioSystem, EioUint8 numberOfModules);
180 
181 /* system capability discovery API */
182 EioUint8 eioPhoenixGetMaximumNumberOfModules( EioSystem *ioSystem );
183 EioUint8 eioPhoenixGetMaximumNumberOfPointsPerModule( EioSystem *ioSystem, EioPointType pointType);
184 EioUint8 eioPhoenixGetModuleNumberForPointIndex( EioSystem *ioSystem, EioPointType pointType, EioUint16 pointIndex);
185 EioUint8 eioPhoenixGetPointNumberForPointIndex( EioSystem *ioSystem, EioPointType pointType, EioUint16 pointIndex);
186 EioUint8 eioPhoenixGetNumberOfIOCycleRates( EioSystem *ioSystem );
187 EioUint32 eioPhoenixGetCycleRateuS( EioSystem *ioSystem, EioUint8 cycleNumber);
188 
189 /* Module runtime API */
190 EioModuleType eioPhoenixModuleGetType( EioSystem *ioSystem, EioUint8 moduleNumber);
191 char * eioPhoenixModuleGetVersion( EioSystem *ioSystem, EioUint8 moduleNumber);
192 EioUint8 eioPhoenixModuleGetMajorVersion( EioSystem *ioSystem, EioUint8 moduleNumber);
193 EioUint8 eioPhoenixModuleGetMinorVersion( EioSystem *ioSystem, EioUint8 moduleNumber);
194 void eioPhoenixModuleSecondarySetFittedModule( EioSystem *ioSystem, EioUint8 moduleNumber, EioModuleType fitted);
195 EioBoolean eioPhoenixModuleIsRedundantCapable( EioSystem *ioSystem, EioModuleType moduleType);
196 EioBoolean eioPhoenixModuleSetExpectedType( EioSystem *ioSystem, EioUint8 moduleNumber, EioModuleType moduleType, EioUint8 cycleNumber);
197 EioModuleType eioPhoenixModuleGetExpectedType( EioSystem *ioSystem, EioUint8 moduleNumber);
198 
199 /* Module capability discovery API */
200 EioUint8 eioPhoenixModuleGetNumberOfPoints( EioSystem *ioSystem, EioModuleType moduleType, EioPointType pointType);
201 EioBoolean eioPhoenixModuleIsModuleTypeSupported( EioSystem *ioSystem, EioUint8 moduleNumber, EioModuleType moduleType);
202 EioBoolean eioPhoenixModuleIsModuleCompatible( EioSystem *ioSystem, EioModuleType expected, EioModuleType fitted, EioUint8 cycleNumber);
203 EioBoolean eioPhoenixModuleIsCycleRateSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 cycleNumber);
204 
205 /* prototypes for runtime data and configuration */
206 EioAIMeasuredValueData* eioPhoenixAIGetMeasuredValueDataPtr( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
207 void eioPhoenixAIGetMeasuredValueData( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAIMeasuredValueData *dataPtr);
208 void eioPhoenixAISetConfiguration( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAIType inputType, EioAIBreakResponse breakResponse, EioUint32 filterTimeuS, float rangeLow, float rangeHigh, float resistance, EioBoolean useAdaptiveFilter, EioBoolean cjRequired);
209 void eioPhoenixAISecondarySetMeasuredValueData( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAIMeasuredValueData *dataPtr);
210 
211 /* Calibration prototypes */
212 EioBoolean eioPhoenixAICalIsPointRangeCalibrated( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
213 EioBoolean eioPhoenixAICalIsCalibrationTypeSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType);
214 void eioPhoenixAICalSetDefaultCalibration( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType);
215 void eioPhoenixAICalPointCalibrationStart( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType);
216 EioAICalStatus eioPhoenixAICalGetCalState( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
217 void eioPhoenixAICalPointCalibrationComplete( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType);
218 void eioPhoenixAICalPointCalibrationAbort( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
219 void eioPhoenixAICalSetCalibrationRange( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
220 EioBoolean eioPhoenixAICalIsVREFCalRequired( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType);
221 EioUint8 eioPhoenixAICalGetNumberOfCalibrationRanges( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType);
222 EioAICalRangeType eioPhoenixAICalGetRangeType( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
223 float eioPhoenixAICalGetRangeLowLimit( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
224 float eioPhoenixAICalGetRangeHighLimit( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
225 EioUint8 eioPhoenixAICalGetNumberOfCalibrationPoints( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
226 float eioPhoenixAICalGetNominalCalibrationPoint( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber, EioUint8 calibrationPointIndex);
227 void eioPhoenixAICalSetActualCalibrationPoint( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber, float value, EioUint8 calibrationPointIndex);
228 EioBoolean eioPhoenixAICalIsCustomCalibrationPointSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
229 void eioPhoenixAICalRestartMeasurement( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
230 void eioPhoenixAICalSetVREFValue( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, float Vref);
231 
232 /* Capability discovery prototypes */
233 float eioPhoenixAIGetHighestMeasureableValue( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAIType inputType);
234 float eioPhoenixAIGetLowestMeasureableValue( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAIType inputType);
235 EioBoolean eioPhoenixAIIsTypeSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAIType inputType);
236 EioBoolean eioPhoenixAIIsCJSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
237 EioBoolean eioPhoenixAIIsBreakResponseSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAIType inputType, float rangeLow, float rangeHigh, EioAIBreakResponse breakResponse);
238 EioUint32 eioPhoenixAIGetMaxFilterTimeuS( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
239 EioBoolean eioPhoenixAIIsAdaptiveFilterSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
240 float eioPhoenixAIGetInputImpedence( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAIType inputType, float rangeLow, float rangeHigh);
241 EioBoolean eioPhoenixAIUserShuntResistorSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
242 
243 /* runtime data and configuration prototypes */
244 EioAOData* eioPhoenixAOGetDataPtr( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
245 EioAOStatus eioPhoenixAOGetStatus( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
246 void eioPhoenixAOSetDemand( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, float demand);
247 void eioPhoenixAOSetConfiguration( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOType outputType, float rangeLow, float rangeHigh);
248 void eioPhoenixAOSecondarySetStatus( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOStatus status);
249 
250 /* Calibration prototypes */
251 EioBoolean eioPhoenixAOCalIsCalibrationTypeSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 cycleNumber);
252 void eioPhoenixAOCalDefaultCalibration( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOCalType calType);
253 void eioPhoenixAOCalPointCalibrationStart( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOCalType calType);
254 void eioPhoenixAOCalPointCalibrationComplete( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOCalType calType);
255 void eioPhoenixAOCalPointCalibrationAbort( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
256 void eioPhoenixAOCalSetCalibrationRange( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
257 EioUint8 eioPhoenixAOCalGetNumberOfCalibrationRanges( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType);
258 EioAOCalRangeType eioPhoenixAOCalGetRangeType( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
259 float eioPhoenixAOCalGetRangeLowLimit( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
260 float eioPhoenixAOCalGetRangeHighLimit( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
261 EioUint8 eioPhoenixAOCalGetNumberOfCalibrationPoints( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
262 float eioPhoenixAOCalGetNominalCalibrationPoint( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber, EioUint8 calibrationPointIndex);
263 void eioPhoenixAOCalSetActualCalibrationPoint( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber, EioUint8 calibrationPointIndex, float value);
264 EioBoolean eioPhoenixAOCalIsCustomCalibrationPointSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
265 void eioPhoenixAOCalSetCurrentOutputMeasurement( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, float value);
266 void eioPhoenixAOCalSetOutput( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, float value);
267 
268 /* Capability discovery prototypes */
269 EioBoolean eioPhoenixAOIsTypeSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOType outputType);
270 float eioPhoenixAOGetMinimumOutput( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOType outputType);
271 float eioPhoenixAOGetMaximumOutput( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOType outputType);
272 
273 /* runtime and configuration prototypes */
274 EioDIData* eioPhoenixDIGetDataPtr( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
275 void eioPhoenixDIGetData( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioDIData *dataPtr);
276 void eioPhoenixDISetDebounceTimeuS( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 debounceTimeuS);
277 void eioPhoenixDISecondarySetData( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioDIData *dataPtr);
278 
279 /* CApability discovery prototypes */
280 EioBoolean eioPhoenixDIIsPulseCountingSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
281 EioBoolean eioPhoenixDIIsDebounceSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
282 EioUint32 eioPhoenixDIGetActualDebounceTimeuS( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioUint32 requestedDebounceTimeuS, EioUint8 cycleNumber);
283 
284 /* General Digital output API */
285 void eioPhoenixDOSetMode( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioDOMode mode);
286 EioBoolean eioPhoenixDOIsModeSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioDOMode outputMode);
287 EioDOStatus eioPhoenixDOGetStatus( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
288 void eioPhoenixDOSecondarySetStatus( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioDOStatus status);
289 
290 /* On/Off API */
291 void eioPhoenixDOOOSetState( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioDOState state);
292 
293 /* One Shot API */
294 void eioPhoenixDOOSOutputPulse( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 pulseTimeuS);
295 void eioPhoenixDOOSReset( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
296 void eioPhoenixDOOSSetInvert( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioBoolean invert);
297 
298 /* Pulse Train API */
299 void eioPhoenixDOPTSendPulses( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 numberOfPulses);
300 void eioPhoenixDOPTSetPerioduS( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 perioduS);
301 void eioPhoenixDOPTReset( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
302 void eioPhoenixDOPTSetInvert( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioBoolean invert);
303 EioUint32 eioPhoenixDOPTGetActualPerioduS( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioUint8 cycleNumber, EioUint32 perioduS);
304 
305 /* Time proportioned Output API */
306 void eioPhoenixDOTPOSetDemand( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, float demand);
307 void eioPhoenixDOTPOSetMinimumPulseTimeuS( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 pulseTimeuS);
308 EioUint32 eioPhoenixDOTPOGetActualMinimumPulseTimeuS( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioUint8 cycleNumber, EioUint32 requestedMinimumPulseTimeuS);
309 void eioPhoenixDOTPOSetCycleTimeuS( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 cycleTimeuS);
310 EioUint32 eioPhoenixDOTPOGetActualCycleTimeuS( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioUint8 cycleNumber, EioUint32 requestedCycleTimeuS);
311 EioBoolean eioPhoenixDOTPOIsCycleTimeConfigurable( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
312 
313 void eioPhoenixDOVPSetDemand( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, float demand);
314 EioUint32 eioPhoenixDOVPGetActualMinimumPulseTimeuS( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioUint8 cycleNumber, EioUint32 requestedMinimumPulseTimeuS);
315 void eioPhoenixDOVPSetBacklashuS( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 backlashuS);
316 void eioPhoenixDOVPSetInertiauS( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 inertiauS);
317 void eioPhoenixDOVPSetStaticTimeuS( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 staticTimeuS);
318 EioBoolean eioPhoenixDOVPIsPropertySupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioDOVPProperty property);
319 EioUint8 eioPhoenixDOVPGetAssociatedPointOnModule( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
320 
321 /* Frequency input API */
322 EioFIData* eioPhoenixFIGetDataPtr( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
323 void eioPhoenixFIGetData( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioFIData *dataPtr);
324 void eioPhoenixFISetConfiguration( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioFIType type, float threshold, float supplyMillivolts, EioUint32 debounce, EioUint32 filterTimeuS, float burdenOhms, EioBoolean enableSensorBreak, EioBoolean enableShortCircuitDetect);
325 void eioPhoenixFISecondarySetData( EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioFIData *dataPtr);
326 EioBoolean eioPhoenixFIIsTypeSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
327 EioBoolean eioPhoenixFIIsDebounceSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
328 EioBoolean eioPhoenixFIIsThresholdSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
329 EioBoolean eioPhoenixFIIsShortCircuitDetectSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
330 EioBoolean eioPhoenixFIIsSensorBreakDetectSupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
331 EioBoolean eioPhoenixFIIsPowerSupplySupported( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
332 float eioPhoenixFIGetMaximumSupportedFrequency( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
333 float eioPhoenixFIGetMinimumSupportedFrequency( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
334 float eioPhoenixFIGetActualThreshold( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType, float burdenOhms, float requested);
335 float eioPhoenixFIGetActualSupplyMillivolts( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, float requestedMillivolts);
336 EioUint32 eioPhoenixFIGetMaxFilterTimeuS( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
337 EioBoolean eioPhoenixFIIsBurdenConfigurable( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
338 float eioPhoenixFIGetBurdenResistance( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
339 EioUint32 eioPhoenixFIGetSlowestUpdateuS( EioSystem *ioSystem, EioModuleType moduleType);
340 EioUint32 eioPhoenixFIGetActualDebounceTimeuS( EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType type, EioUint32 debounce);
341 
342 #endif /* EIO_PHOENIX == 1 */
343 #ifdef __cplusplus
344 } /* extern "C" */
345 #endif
346 #endif /* __EIO_PHOENIX_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