⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 extsim.h

📁 simulink real-time workshop for dragon12 development board from
💻 H
📖 第 1 页 / 共 2 页
字号:

#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 + -