ThingPlug GMMP library for mbed

Dependents:   ThingPlug_WiFi_Example

Committer:
lesmin
Date:
Thu Jul 23 00:55:15 2015 +0000
Revision:
0:32c20cfb2b30
initial commit

Who changed what in which revision?

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