Modified for W5500 Ethernet initialize Added the Ethernet interface re-initialize code Added the connection retry

Dependents:   ThingPlug_Ethernet_Example

Fork of GMMP_mbed by Eric Jung

Committer:
hkjung
Date:
Wed Aug 12 08:58:58 2015 +0000
Revision:
5:9bbb6933559b
Parent:
0:7e575e5f88ec
Ethernet interface reinitialize code added

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lesmin 0:7e575e5f88ec 1 /** GMMP Operation 중 제어 명령 수행 결과 보고 명령에 사용되는 구조체
lesmin 0:7e575e5f88ec 2 * @file Struct_ProfileInfo.h
lesmin 0:7e575e5f88ec 3 * @date 2013/11/21
lesmin 0:7e575e5f88ec 4 * @version 0.0.0.1
lesmin 0:7e575e5f88ec 5 * @ref GMMPHeader참조
lesmin 0:7e575e5f88ec 6 **/
lesmin 0:7e575e5f88ec 7
lesmin 0:7e575e5f88ec 8 #ifndef STRUCT_PROFILEINFO_H_
lesmin 0:7e575e5f88ec 9 #define STRUCT_PROFILEINFO_H_
lesmin 0:7e575e5f88ec 10
lesmin 0:7e575e5f88ec 11 #include "Define.h"
lesmin 0:7e575e5f88ec 12 #include "Struct_Common.h"
lesmin 0:7e575e5f88ec 13
lesmin 0:7e575e5f88ec 14 #pragma pack(1)
lesmin 0:7e575e5f88ec 15 /**
lesmin 0:7e575e5f88ec 16 * @struct stProfileReqHdr
lesmin 0:7e575e5f88ec 17 * @brief GMMP TCP Packet 구조 중 Request 수행 시 Message Header와 Message Body 영역
lesmin 0:7e575e5f88ec 18 * OMP에서 Profile Info 메시지를 OMP에 전송한다.
lesmin 0:7e575e5f88ec 19 */
lesmin 0:7e575e5f88ec 20 typedef struct {
lesmin 0:7e575e5f88ec 21 /**
lesmin 0:7e575e5f88ec 22 *@var usDomainCode
lesmin 0:7e575e5f88ec 23 *@brief 서비스 영역별 구분 코드\n
lesmin 0:7e575e5f88ec 24 - AlphaNumeric : 문자,숫자 조합, 특수문자제외, SPACE 허용 안하며 빈자리는 0x00(NULL)로 채운다.\n
lesmin 0:7e575e5f88ec 25 */
lesmin 0:7e575e5f88ec 26 /**
lesmin 0:7e575e5f88ec 27 *@var usGWID
lesmin 0:7e575e5f88ec 28 *@brief M2M GW ID
lesmin 0:7e575e5f88ec 29 */
lesmin 0:7e575e5f88ec 30 /**
lesmin 0:7e575e5f88ec 31 *@var usDeviceID
lesmin 0:7e575e5f88ec 32 *@brief M2M Device ID, 값이 0x0이면 GW 명령이다.
lesmin 0:7e575e5f88ec 33 */
lesmin 0:7e575e5f88ec 34 U8 usDomainCode[LEN_DOMAIN_CODE];
lesmin 0:7e575e5f88ec 35 U8 usGWID[LEN_GW_ID];
lesmin 0:7e575e5f88ec 36 U8 usDeviceID[LEN_DEVICE_ID];
lesmin 0:7e575e5f88ec 37 }stProfileReqHdr; //Profile Request
lesmin 0:7e575e5f88ec 38
lesmin 0:7e575e5f88ec 39 /**
lesmin 0:7e575e5f88ec 40 * @struct stProfileRspHdr
lesmin 0:7e575e5f88ec 41 * @brief GMMP TCP Packet 구조 중 Response 수행 시 Message Header와 Message Body 영역
lesmin 0:7e575e5f88ec 42 * OMP에서 Multimedia URL Info 제공 명령 수신 시 사용된다.
lesmin 0:7e575e5f88ec 43 */
lesmin 0:7e575e5f88ec 44 typedef struct {
lesmin 0:7e575e5f88ec 45 /**
lesmin 0:7e575e5f88ec 46 *@var usDomainCode
lesmin 0:7e575e5f88ec 47 *@brief 서비스 영역별 구분 코드\n
lesmin 0:7e575e5f88ec 48 - AlphaNumeric : 문자,숫자 조합, 특수문자제외, SPACE 허용 안하며 빈자리는 0x00(NULL)로 채운다.\n
lesmin 0:7e575e5f88ec 49 */
lesmin 0:7e575e5f88ec 50 /**
lesmin 0:7e575e5f88ec 51 *@var usGWID
lesmin 0:7e575e5f88ec 52 *@brief M2M GW ID
lesmin 0:7e575e5f88ec 53 */
lesmin 0:7e575e5f88ec 54 /**
lesmin 0:7e575e5f88ec 55 *@var usDeviceID
lesmin 0:7e575e5f88ec 56 *@brief M2M Device ID, 값이 0x0이면 GW 명령이다.
lesmin 0:7e575e5f88ec 57 */
lesmin 0:7e575e5f88ec 58 /**
lesmin 0:7e575e5f88ec 59 *@var ucResultCode
lesmin 0:7e575e5f88ec 60 *@brief Result Code (0x00 : Success, other : Fail Reason) @ref OMPErrorCode.h 참조
lesmin 0:7e575e5f88ec 61 */
lesmin 0:7e575e5f88ec 62 /**
lesmin 0:7e575e5f88ec 63 *@var unHeartbeatPeriod
lesmin 0:7e575e5f88ec 64 *@brief Heartbeat 주기로서 분(min)단위이다.\n
lesmin 0:7e575e5f88ec 65 *@brief 0x00 : Non Always On 단말\n
lesmin 0:7e575e5f88ec 66 *@brief other : TCP Always On 단말\n
lesmin 0:7e575e5f88ec 67 *@brief (Device Profile 조회시에는 해당 값이 0으로 전달)\n
lesmin 0:7e575e5f88ec 68 */
lesmin 0:7e575e5f88ec 69 /**
lesmin 0:7e575e5f88ec 70 *@var unReportPeriod
lesmin 0:7e575e5f88ec 71 *@brief 보고 주기로서 분(minute) 단위이다.\n
lesmin 0:7e575e5f88ec 72 *@brief (Device Profile 조회시에는 해당 값이 0으로 전달)
lesmin 0:7e575e5f88ec 73 */
lesmin 0:7e575e5f88ec 74 /**
lesmin 0:7e575e5f88ec 75 *@var unReportOffset
lesmin 0:7e575e5f88ec 76 *@brief 보고 주기 Offset 시간으로서 초(sec) 단위이다.\n
lesmin 0:7e575e5f88ec 77 @brief 0이면 보고주기때 보고하고, 0이 아니면 보고 주기가 되었을때 단말은 Reporting OffSet Time 이후에 주기보고 동작을 해야한다.
lesmin 0:7e575e5f88ec 78 @brief (Device Profile 조회시에는 해당 값이 0으로 전달)
lesmin 0:7e575e5f88ec 79 */
lesmin 0:7e575e5f88ec 80 /**
lesmin 0:7e575e5f88ec 81 *@var unResponseTimeout
lesmin 0:7e575e5f88ec 82 *@brief M2M 단말의 Request메시지에 대한 Response 메시지의 Timeout(최소 30sec 이상으로 설정한다.)\n
lesmin 0:7e575e5f88ec 83 *@brief (Device Profile 조회시에는 해당 값이 0으로 전달)\n
lesmin 0:7e575e5f88ec 84 */
lesmin 0:7e575e5f88ec 85 /**
lesmin 0:7e575e5f88ec 86 *@var usModel
lesmin 0:7e575e5f88ec 87 *@brief 제조사에서 부여한 Device 의 이름
lesmin 0:7e575e5f88ec 88 */
lesmin 0:7e575e5f88ec 89 /**
lesmin 0:7e575e5f88ec 90 *@var usFirmwareVersion
lesmin 0:7e575e5f88ec 91 *@brief Firmware Version
lesmin 0:7e575e5f88ec 92 */
lesmin 0:7e575e5f88ec 93 /**
lesmin 0:7e575e5f88ec 94 *@var usSoftwareVersion
lesmin 0:7e575e5f88ec 95 *@brief Software Version
lesmin 0:7e575e5f88ec 96 */
lesmin 0:7e575e5f88ec 97 /**
lesmin 0:7e575e5f88ec 98 *@var usHardwareVersion
lesmin 0:7e575e5f88ec 99 *@brief Hardware Version
lesmin 0:7e575e5f88ec 100 */
lesmin 0:7e575e5f88ec 101 U8 usDomainCode[LEN_DOMAIN_CODE];
lesmin 0:7e575e5f88ec 102 U8 usGWID[LEN_GW_ID];
lesmin 0:7e575e5f88ec 103 U8 usDeviceID[LEN_DEVICE_ID];
lesmin 0:7e575e5f88ec 104 U8 ucResultCode;
lesmin 0:7e575e5f88ec 105 U8 unHeartbeatPeriod[4];
lesmin 0:7e575e5f88ec 106 U8 unReportPeriod[4];
lesmin 0:7e575e5f88ec 107 U8 unReportOffset[4];
lesmin 0:7e575e5f88ec 108 U8 unResponseTimeout[4];
lesmin 0:7e575e5f88ec 109 U8 usModel[32];
lesmin 0:7e575e5f88ec 110 U8 usFirmwareVersion[16];
lesmin 0:7e575e5f88ec 111 U8 usSoftwareVersion[16];
lesmin 0:7e575e5f88ec 112 U8 usHardwareVersion[16];
lesmin 0:7e575e5f88ec 113 }stProfileRspHdr; //Profile Response
lesmin 0:7e575e5f88ec 114
lesmin 0:7e575e5f88ec 115 /**
lesmin 0:7e575e5f88ec 116 * @struct Profile_Req
lesmin 0:7e575e5f88ec 117 * @brief GMMP TCP Packet 구조 중 Request Profile Info 구조체
lesmin 0:7e575e5f88ec 118 * OMP에 Request Profile Info 데이터 전송한다.
lesmin 0:7e575e5f88ec 119 */
lesmin 0:7e575e5f88ec 120 typedef struct {
lesmin 0:7e575e5f88ec 121 /**
lesmin 0:7e575e5f88ec 122 *@var header
lesmin 0:7e575e5f88ec 123 *@brief @ref GMMPHeader 참조
lesmin 0:7e575e5f88ec 124 */
lesmin 0:7e575e5f88ec 125 /**
lesmin 0:7e575e5f88ec 126 *@var body
lesmin 0:7e575e5f88ec 127 *@brief @ref stProfileReqHdr 참조
lesmin 0:7e575e5f88ec 128 */
lesmin 0:7e575e5f88ec 129 GMMPHeader header;
lesmin 0:7e575e5f88ec 130 stProfileReqHdr body;
lesmin 0:7e575e5f88ec 131 }Profile_Req;
lesmin 0:7e575e5f88ec 132
lesmin 0:7e575e5f88ec 133 /**
lesmin 0:7e575e5f88ec 134 * @struct Profile_Rsp
lesmin 0:7e575e5f88ec 135 * @brief GMMP TCP Packet 구조 중 Response Profile Info 구조체
lesmin 0:7e575e5f88ec 136 * OMP에 Response Profile Info 데이터 수신한다.
lesmin 0:7e575e5f88ec 137 */
lesmin 0:7e575e5f88ec 138
lesmin 0:7e575e5f88ec 139 typedef struct {
lesmin 0:7e575e5f88ec 140 /**
lesmin 0:7e575e5f88ec 141 *@var header
lesmin 0:7e575e5f88ec 142 *@brief @ref GMMPHeader 참조
lesmin 0:7e575e5f88ec 143 */
lesmin 0:7e575e5f88ec 144 /**
lesmin 0:7e575e5f88ec 145 *@var body
lesmin 0:7e575e5f88ec 146 *@brief @ref stProfileRspHdr 참조
lesmin 0:7e575e5f88ec 147 */
lesmin 0:7e575e5f88ec 148 GMMPHeader header;
lesmin 0:7e575e5f88ec 149 stProfileRspHdr body;
lesmin 0:7e575e5f88ec 150 }Profile_Rsp;
lesmin 0:7e575e5f88ec 151 #pragma pack(0)
lesmin 0:7e575e5f88ec 152
lesmin 0:7e575e5f88ec 153 #endif /* STRUCT_PROFILEINFO_H_ */