📄 extsim.h
字号:
#define esSetIncomingMsgDataNBytesInBuf(ESim, val) \
((ESim)->incomingMsg.nBytesInBuffer = (val))
#define esGetIncomingMsgDataNBytesInBuf(ESim) \
((ESim)->incomingMsg.nBytesInBuffer)
#define esSetIncomingMsgDataNBytesNeeded(ESim, val) \
((ESim)->incomingMsg.nBytesNeeded = (val))
#define esGetIncomingMsgDataNBytesNeeded(ESim) \
((ESim)->incomingMsg.nBytesNeeded)
#define esSetRecvIncomingMsgFcn(ESim, fcn) \
((ESim)->incomingMsg.recvIncomingMsgFcn = fcn)
#define esGetIncomingLogDataBufSize(ESim) ((ESim)->incomingLogData.bufSize)
#define esGetIncomingLogDataBuf(ESim) ((ESim)->incomingLogData.buf)
#define esSetIncomingLogDataNBytesInBuf(ESim, val) \
((ESim)->incomingLogData.nBytesInBuffer = (val))
#define esGetIncomingLogDataNBytesInBuf(ESim) \
((ESim)->incomingLogData.nBytesInBuffer)
#define esSetIncomingLogDataNBytesNeeded(ESim, val) \
((ESim)->incomingLogData.nBytesNeeded = (val))
#define esGetIncomingLogDataNBytesNeeded(ESim) \
((ESim)->incomingLogData.nBytesNeeded)
#define esSetRecvIncomingLogDataFcn(ESim, fcn) \
((ESim)->incomingLogData.recvIncomingLogDataFcn = fcn)
/*
* Target data representation fields.
*/
#define esSetSwapBytes(ESim, val) ((ESim)->TargetDataInfo.swapBytes = (val))
#define esGetSwapBytes(ESim) ((ESim)->TargetDataInfo.swapBytes)
#define esSetHostBytesPerTargetByte(ESim, val) \
((ESim)->TargetDataInfo.hostBytesPerTargetByte = (val))
#define esGetHostBytesPerTargetByte(ESim) \
((ESim)->TargetDataInfo.hostBytesPerTargetByte)
#define esGetNumDataTypes(ESim) ((ESim)->TargetDataInfo.numDataTypes)
#define esSetDataTypeSize(ESim, idx, val) \
assert((idx)<esGetNumDataTypes(ESim)); \
((ESim)->TargetDataInfo.dataTypeSizes[(idx)] = (val));
#define esGetDataTypeSize(ESim, idx) \
((ESim)->TargetDataInfo.dataTypeSizes[(idx)]);
#define esSetDoubleTargetToHostFcn(ESim, fcn) \
((ESim)->TargetDataInfo.doubleTargetToHostFcn = (fcn))
#define esSetDoubleHostToTargetFcn(ESim, fcn) \
((ESim)->TargetDataInfo.doubleHostToTargetFcn = (fcn))
#define esSetSingleTargetToHostFcn(ESim, fcn) \
((ESim)->TargetDataInfo.singleTargetToHostFcn = (fcn))
#define esSetSingleHostToTargetFcn(ESim, fcn) \
((ESim)->TargetDataInfo.singleHostToTargetFcn = (fcn))
#define esSetInt8TargetToHostFcn(ESim, fcn) \
((ESim)->TargetDataInfo.int8TargetToHostFcn = (fcn))
#define esSetInt8HostToTargetFcn(ESim, fcn) \
((ESim)->TargetDataInfo.int8HostToTargetFcn = (fcn))
#define esSetUInt8TargetToHostFcn(ESim, fcn) \
((ESim)->TargetDataInfo.uint8TargetToHostFcn = (fcn))
#define esSetUInt8HostToTargetFcn(ESim, fcn) \
((ESim)->TargetDataInfo.uint8HostToTargetFcn = (fcn))
#define esSetInt16TargetToHostFcn(ESim, fcn) \
((ESim)->TargetDataInfo.int16TargetToHostFcn = (fcn))
#define esSetInt16HostToTargetFcn(ESim, fcn) \
((ESim)->TargetDataInfo.int16HostToTargetFcn = (fcn))
#define esSetUInt16TargetToHostFcn(ESim, fcn) \
((ESim)->TargetDataInfo.uint16TargetToHostFcn = (fcn))
#define esSetUInt16HostToTargetFcn(ESim, fcn) \
((ESim)->TargetDataInfo.uint16HostToTargetFcn = (fcn))
#define esSetInt32TargetToHostFcn(ESim, fcn) \
((ESim)->TargetDataInfo.int32TargetToHostFcn = (fcn))
#define esSetInt32HostToTargetFcn(ESim, fcn) \
((ESim)->TargetDataInfo.int32HostToTargetFcn = (fcn))
#define esSetUInt32TargetToHostFcn(ESim, fcn) \
((ESim)->TargetDataInfo.uint32TargetToHostFcn = (fcn))
#define esSetUInt32HostToTargetFcn(ESim, fcn) \
((ESim)->TargetDataInfo.uint32HostToTargetFcn = (fcn))
#define esSetBoolTargetToHostFcn(ESim, fcn) \
((ESim)->TargetDataInfo.boolTargetToHostFcn = (fcn))
#define esSetBoolHostToTargetFcn(ESim, fcn) \
((ESim)->TargetDataInfo.boolHostToTargetFcn = (fcn))
#define esGetSizeOfTargetDataTypeFcn(ESim) \
((ESim)->DTypeFcn.sizeOfTargetDataType)
#define esGetSizeOfDataTypeFcn(ESim) \
((ESim)->DTypeFcn.sizeOfDataType)
#define esSetMexFuncGateWayFcn(ESim, fcn) \
((ESim)->mexFunc = (fcn))
/*==============================================================================
* Utility functions.
*============================================================================*/
#define IS_ALIGNED(address, size) \
(boolean_T)((((unsigned int)address)%(size)) == 0)
#define IS_INT(val) ((((int_T)(val))) == (val))
/*==============================================================================
* Public access methods for internal use only. These cannot be used by
* ext_comm.c, ext_convert.c, ...!
*============================================================================*/
#if !defined(MATLAB_MEX_FILE)
/*
* Common fields.
*/
#define esSetBdPtr(ESim, val) ((ESim)->bd = ((const void *)(val)))
#define esGetBdPtr(ESim) ((const slBlockDiagram *)(ESim)->bd)
#define esSetAction(ESim, val) ((ESim)->action = (val))
#define esSetConnectionStatus(ESim,val) ((ESim)->connectionStatus = (val))
#define esSetCommBuf(ESim, val) ((ESim)->commBuf.buf = (const char *)(void *)(val))
#define esSetCommBufSize(ESim, val) ((ESim)->commBuf.nBytes = (val))
/*
* Reception of incoming messages.
*/
#define esGetIncomingMsgPending(ESim) ((ESim)->incomingMsg.pending)
#define esGetIncomingMsg(ESim) ((ESim)->incomingMsg.msg)
#define esGetRecvIncomingMsgFcn(ESim) ((ESim)->incomingMsg.recvIncomingMsgFcn)
#define esSetIncomingMsgDataBufSize(ESim, val) \
((ESim)->incomingMsg.bufSize = (val))
#define esSetIncomingMsgDataBuf(ESim, val) \
((ESim)->incomingMsg.buf = (val))
#define esSetIncomingLogDataBufSize(ESim, val) \
((ESim)->incomingLogData.bufSize = (val))
#define esSetIncomingLogDataBuf(ESim, val) \
((ESim)->incomingLogData.buf = (val))
#define esGetRecvIncomingLogDataFcn(ESim) \
((ESim)->incomingLogData.recvIncomingLogDataFcn)
/*
* Target data representation fields.
*/
#define esSetNumDataTypes(ESim, val) ((ESim)->TargetDataInfo.numDataTypes = (val));
#define esGetDoubleTargetToHostFcn(ESim) \
((ESim)->TargetDataInfo.doubleTargetToHostFcn)
#define esGetDoubleHostToTargetFcn(ESim) \
((ESim)->TargetDataInfo.doubleHostToTargetFcn)
#define esGetSingleTargetToHostFcn(ESim) \
((ESim)->TargetDataInfo.singleTargetToHostFcn)
#define esGetSingleHostToTargetFcn(ESim) \
((ESim)->TargetDataInfo.singleHostToTargetFcn)
#define esGetInt8TargetToHostFcn(ESim) \
((ESim)->TargetDataInfo.int8TargetToHostFcn)
#define esGetInt8HostToTargetFcn(ESim) \
((ESim)->TargetDataInfo.int8HostToTargetFcn)
#define esGetUInt8TargetToHostFcn(ESim) \
((ESim)->TargetDataInfo.uint8TargetToHostFcn)
#define esGetUInt8HostToTargetFcn(ESim) \
((ESim)->TargetDataInfo.uint8HostToTargetFcn)
#define esGetInt16TargetToHostFcn(ESim) \
((ESim)->TargetDataInfo.int16TargetToHostFcn)
#define esGetInt16HostToTargetFcn(ESim) \
((ESim)->TargetDataInfo.int16HostToTargetFcn)
#define esGetUInt16TargetToHostFcn(ESim) \
((ESim)->TargetDataInfo.uint16TargetToHostFcn)
#define esGetUInt16HostToTargetFcn(ESim) \
((ESim)->TargetDataInfo.uint16HostToTargetFcn)
#define esGetInt32TargetToHostFcn(ESim) \
((ESim)->TargetDataInfo.int32TargetToHostFcn)
#define esGetInt32HostToTargetFcn(ESim) \
((ESim)->TargetDataInfo.int32HostToTargetFcn)
#define esGetUInt32TargetToHostFcn(ESim) \
((ESim)->TargetDataInfo.uint32TargetToHostFcn)
#define esGetUInt32HostToTargetFcn(ESim) \
((ESim)->TargetDataInfo.uint32HostToTargetFcn)
#define esGetBoolTargetToHostFcn(ESim) \
((ESim)->TargetDataInfo.boolTargetToHostFcn)
#define esGetBoolHostToTargetFcn(ESim) \
((ESim)->TargetDataInfo.boolHostToTargetFcn)
/* Callbacks into Simulink to query data type info. */
#define esSetSizeOfTargetDataTypeFcn(ESim, fcn) \
((ESim)->DTypeFcn.sizeOfTargetDataType = (fcn))
#define esSetSizeOfDataTypeFcn(ESim, fcn) \
((ESim)->DTypeFcn.sizeOfDataType = (fcn))
#define esGetMexFuncGateWayFcn(ESim) \
((ESim)->mexFunc)
#endif /* !MATLAB_MEX_FILE */
#endif /* __EXTSTRUC__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -