12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- // gfamininetmst.h :
- //
- #if !defined(AGD_GFAMININETMST_H__FE13B563_B3D5_4AA2_81FD_B74220CF2D93__INCLUDED_)
- #define AGD_GFAMININETMST_H__FE13B563_B3D5_4AA2_81FD_B74220CF2D93__INCLUDED_
- #include <stdint.h>
- #include <stdbool.h>
- #include <sys/time.h>
- #include <gfamininetdev.h>
- #ifdef __cplusplus
- extern "C" {
- #endif // __cplusplus
- /////////////////////////////////////////////////////////////////////////////
- // gfamininetmst.h - Declarations:
- #ifndef ANY_SIZE
- #define ANY_SIZE 1
- #endif // ANY_SIZE
- #define MINET_SLAVE_RESPONSE_SUCCESS 0
- #define MINET_SLAVE_RESPONSE_ACK 1
- #define MINET_SLAVE_RESPONSE_INDEX_IS_STATUS_CODE 2
- #define MINET_SLAVE_RESPONSE_ERROR_STX_ERROR -1
- #define MINET_SLAVE_RESPONSE_ERROR_INVALID_ARGUMENT -2
- #define MINET_SLAVE_RESPONSE_ERROR_INVALID_LENGTH -3
- #define MINET_SLAVE_RESPONSE_ERROR_INVALID_SLAVE_INDICATOR -4
- #define MINET_SLAVE_RESPONSE_ERROR_INCOMPLETE_DATA -5
- #define MINET_SLAVE_RESPONSE_ERROR_INVALID_NODE_ADDRESS -6
- #define MINET_SLAVE_RESPONSE_ERROR_INDEX_OUT_OF_RANGE -7
- #define MINET_SLAVE_RESPONSE_ERROR_INDEX_NO_MATCH -8
- #define MINET_SLAVE_RESPONSE_ERROR_INVALID_CHECKSUM -9
- /////////////////////////////////////////////////////////////////////////////
- typedef struct _GFA_MININET_FRAME
- {
- uint8_t stx;
- uint8_t len;
- uint8_t node;
- uint8_t index;
- union
- {
- uint8_t by[ANY_SIZE];
- uint16_t wo[ANY_SIZE];
- uint32_t dw[ANY_SIZE];
- }data;
- }GFA_MININET_FRAME, *LPGFA_MININET_FRAME;
- typedef const GFA_MININET_FRAME *LPCGFA_MININET_FRAME;
- /////////////////////////////////////////////////////////////////////////////
- typedef void *HGFAMINEMST;
- /////////////////////////////////////////////////////////////////////////////
- typedef struct _GFA_MININET_MST_CFG_PARAMS
- {
- GFA_MININET_DEV_CFG_PARAMS devcfg;
- }GFA_MININET_MST_CFG_PARAMS, *LPGFA_MININET_MST_CFG_PARAMS;
- typedef const GFA_MININET_MST_CFG_PARAMS *LPCGFA_MININET_MST_CFG_PARAMS;
- /////////////////////////////////////////////////////////////////////////////
- HGFAMINEMST GfaMininetMasterOpen(LPGFA_MININET_MST_CFG_PARAMS pmmcp);
- void GfaMininetMasterClose(HGFAMINEMST hMst);
- size_t GfaMininetMasterBuildFrame(HGFAMINEMST hMst, uint8_t nNode, uint8_t nIndex, const void *pDataPayload, size_t nCbDataPayload, void *pFrameBuffer, size_t nCbFrameBuffer);
- ssize_t GfaMininetMasterTransmitFrame(HGFAMINEMST hMst, const void *pData, size_t nCbData);
- ssize_t GfaMininetMasterReceiveFrame(HGFAMINEMST hMst, void *pBuffer, size_t nCbBuffer, bool bAckPossible);
- int GfaMininetMasterEvaluateSlaveResponse(HGFAMINEMST hMst, uint8_t nNode, const void *pFrame, size_t nCbFrame, bool bAckPossible, uint8_t *pbIndex);
- uint8_t GfaMininetMasterCalcChk(const void *pData, size_t nCbData);
- ssize_t GfaMininetMasterResetSlaveIndex(HGFAMINEMST hMst, uint8_t nNode);
- ssize_t GfaMininetMasterResetLocalIndex(HGFAMINEMST hMst, uint8_t nNode);
- bool GfaMininetMasterGetTimeouts(HGFAMINEMST hMst, struct timeval *ptvRX, struct timeval *ptvTX);
- bool GfaMininetMasterSetTimeouts(HGFAMINEMST hMst, const struct timeval *ptvRX, const struct timeval *ptvTX);
- bool GfaMininetMasterSaveTimeouts(HGFAMINEMST hMst);
- bool GfaMininetMasterRestoreTimeouts(HGFAMINEMST hMst);
- ssize_t GfaMininetMasterGetConfigParams(HGFAMINEMST hMst, void *pDevParams, size_t nSizeDevParams);
- int GfaMininetMasterSetConfigParams(HGFAMINEMST hMst, const void *pDevParams, size_t nSizeDevParams);
- void GfaMininetMasterDumpFrame(FILE *pf, LPCGFA_MININET_FRAME pFrame);
- /////////////////////////////////////////////////////////////////////////////
- #ifdef __cplusplus
- }
- #endif // __cplusplus
- #endif // !defined(AGD_GFAMININETMST_H__FE13B563_B3D5_4AA2_81FD_B74220CF2D93__INCLUDED_)
|