00001 #ifndef LSF_SIGNAL_H
00002 #define LSF_SIGNAL_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "lsfControl.h"
00018
00019 typedef struct
00020 {
00021 lsfSTATE state;
00022 lsfSUBSTATE subState;
00023 vltLOGICAL init;
00024 vltLOGICAL simulation;
00025 vltINT32 timeout;
00026
00027 ioTYPE ioType;
00028 ioIN_OUT direction;
00029 dbSYMADDRESS dbAddr;
00030 ioDIRADDRESS ioAddr;
00031 } lsfSIGNAL_ENTRY;
00032
00033 typedef struct
00034 {
00035 void *ctrlData;
00036 void *userData;
00037 lsfSTATE state;
00038 lsfSUBSTATE subState;
00039 vltLOGICAL init;
00040 vltLOGICAL simulation;
00041 vltINT32 timeout;
00042 vltINT32 numSignals;
00043
00044 vltBYTES20 *signalNames;
00045 char *attrTable[lsfMAX_DEVICES+1];
00046 lsfSIGNAL_ENTRY *signalTable[lsfMAX_DEVICES];
00047 } lsfSIGNAL_DATA;
00048
00049 typedef ccsCOMPL_STAT lsfSIGNAL_HOOK( IN lsfSIGNAL_DATA *signalData,
00050 IN const char *signalName,
00051 OUT ccsERROR *error);
00052
00053 #define lsfSignalGetData(ptr) \
00054 (lsfSIGNAL_DATA *)lsfControlGetDevData((lsfCONTROL_DATA *)(((lsfCONTROL_DATA *)ptr)->ctrlData),lsfDEVICE_SIGNAL)
00055 #define lsfSignalGetUserData(ptr) \
00056 (lsfSignalGetData(ptr))->userData
00057
00058 ccsCOMPL_STAT lsfSignalConstructor ( IN const char *swdName,
00059 IN lsfCONTROL_DATA *controlData,
00060 IN const char *signalNames[],
00061 OUT ccsERROR *error );
00062 void lsfSignalDestructor ( IN lsfCONTROL_DATA *controlData );
00063
00064 ccsCOMPL_STAT lsfSignalOff ( IN lsfSIGNAL_DATA *signalData,
00065 IN const char *signalName,
00066 OUT ccsERROR *error );
00067 ccsCOMPL_STAT lsfSignalStop ( IN lsfSIGNAL_DATA *signalData,
00068 IN const char *signalName,
00069 OUT ccsERROR *error );
00070 ccsCOMPL_STAT lsfSignalInit ( IN lsfSIGNAL_DATA *signalData,
00071 IN const char *signalName,
00072 OUT ccsERROR *error );
00073 ccsCOMPL_STAT lsfSignalOnline ( IN lsfSIGNAL_DATA *signalData,
00074 IN const char *signalName,
00075 OUT ccsERROR *error );
00076 ccsCOMPL_STAT lsfSignalStandby ( IN lsfSIGNAL_DATA *signalData,
00077 IN const char *signalName,
00078 OUT ccsERROR *error );
00079 ccsCOMPL_STAT lsfSignalExit ( IN lsfSIGNAL_DATA *signalData,
00080 IN const char *signalName,
00081 OUT ccsERROR *error );
00082 ccsCOMPL_STAT lsfSignalSimulat ( IN lsfSIGNAL_DATA *signalData,
00083 IN const char *signalName,
00084 OUT ccsERROR *error );
00085 ccsCOMPL_STAT lsfSignalStopsim ( IN lsfSIGNAL_DATA *signalData,
00086 IN const char *signalName,
00087 OUT ccsERROR *error );
00088 ccsCOMPL_STAT lsfSignalSelftest ( IN lsfSIGNAL_DATA *signalData,
00089 IN const char *signalName,
00090 OUT ccsERROR *error );
00091 ccsCOMPL_STAT lsfSignalTest ( IN lsfSIGNAL_DATA *signalData,
00092 IN const char *signalName,
00093 OUT ccsERROR *error );
00094
00095 ccsCOMPL_STAT lsfSignalReadAnalog ( IN lsfSIGNAL_DATA *signalData,
00096 IN const char *signalName,
00097 OUT char *names[],
00098 OUT vltFLOAT *value,
00099 OUT ccsERROR *error );
00100 ccsCOMPL_STAT lsfSignalWriteAnalog ( IN lsfSIGNAL_DATA *signalData,
00101 IN const char *signalName,
00102 IN vltFLOAT *value,
00103 OUT ccsERROR *error );
00104
00105 ccsCOMPL_STAT lsfSignalReadDigital ( IN lsfSIGNAL_DATA *signalData,
00106 IN const char *signalName,
00107 OUT char *names[],
00108 OUT vltUINT32 *value,
00109 OUT ccsERROR *error );
00110 ccsCOMPL_STAT lsfSignalWriteDigital( IN lsfSIGNAL_DATA *signalData,
00111 IN const char *signalName,
00112 IN vltUINT32 *value,
00113 OUT ccsERROR *error );
00114
00115 #endif