Changeset 389 for azure_iot_hub/trunk/ntshell/echonet/echonet_agent.h
- Timestamp:
- May 22, 2019, 10:03:37 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
azure_iot_hub/trunk/ntshell/echonet/echonet_agent.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r388 r389 4 4 * Copyright (C) 2015 Cores Co., Ltd. Japan 5 5 * 6 * ä¸è¨èä½æ¨©è 7 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 8 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 9 * å¤ã»åé 10 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 11 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 12 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 13 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 14 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 15 * ç¨ã§ããå½¢ã§åé 16 å¸ããå ´åã«ã¯ï¼åé 17 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 18 * è 19 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 20 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 21 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 22 * ç¨ã§ããªãå½¢ã§åé 23 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 24 * ã¨ï¼ 25 * (a) åé 26 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 27 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 28 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 29 * (b) åé 30 å¸ã®å½¢æ 31 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 32 * å ±åãããã¨ï¼ 33 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 34 * 害ãããï¼ä¸è¨èä½æ¨©è 35 ããã³TOPPERSããã¸ã§ã¯ããå 36 責ãããã¨ï¼ 37 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 38 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 39 ããã³TOPPERSããã¸ã§ã¯ãã 40 * å 41 責ãããã¨ï¼ 6 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 7 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 8 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 9 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 10 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 11 * スコード中に含まれていること. 12 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 13 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 14 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 15 * の無保証規定を掲載すること. 16 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 17 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 18 * と. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 20 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 22 * 報告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 25 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 26 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 27 * 免責すること. 42 28 * 43 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 44 ã 45 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 46 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 47 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 48 * ã®è²¬ä»»ãè² ããªãï¼ 29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 49 34 * 50 35 * @(#) $Id$ … … 52 37 53 38 /* 54 * ECHONET Lite åççæãã¼ã39 * ECHONET Lite 動的生成ノード 55 40 */ 56 41 … … 67 52 68 53 /* 69 * ãã¥ã¼ã®ãã¼ã¿æ§é ã®å®ç¾©54 * キューのデータ構造の定義 70 55 */ 71 56 typedef struct ecn_agent_queue { 72 57 #ifdef _DEBUG 73 struct ecn_agent_queue *p_parent; /* 親ãã¥ã¼ã¸ã®ãã¤ã³ã¿*/58 struct ecn_agent_queue *p_parent; /* 親キューへのポインタ */ 74 59 #endif 75 struct ecn_agent_queue *p_next; /* 次ã¨ã³ããªã¸ã®ãã¤ã³ã¿*/76 struct ecn_agent_queue *p_prev; /* åã¨ã³ããªã¸ã®ãã¤ã³ã¿*/60 struct ecn_agent_queue *p_next; /* 次エントリへのポインタ */ 61 struct ecn_agent_queue *p_prev; /* 前エントリへのポインタ */ 77 62 } ecn_agent_queue_t; 78 63 … … 86 71 EOBJINIB inib; 87 72 uint8_t pmapFlag; 88 uint8_t pmapSet[16]; /* SETããããã£ããã */ 89 uint8_t pmapGet[16]; /* GETããããã£ããã */ 90 uint8_t pmapAnno[16]; /* ç¶æ 91 å¤åæéç¥ããããã£ããã */ 92 uint_t eprpcnt; /* ECHONET Lite ããããã£æ° */ 73 uint8_t pmapSet[16]; /* SETプロパティマップ */ 74 uint8_t pmapGet[16]; /* GETプロパティマップ */ 75 uint8_t pmapAnno[16]; /* 状態変化時通知プロパティマップ */ 76 uint_t eprpcnt; /* ECHONET Lite プロパティ数 */ 93 77 } ecn_obj_t; 94 78 … … 126 110 typedef struct ecn_inm_get_device_item 127 111 { 128 ID eobjid; /* ECHONET Lite ãªãã¸ã§ã¯ãID */129 ID enodid; /* ECHONET Lite ãã¼ããããã¡ã¤ã«ãªãã¸ã§ã¯ãID */130 uint8_t eojx1; /* ECHONET Lite ãªãã¸ã§ã¯ãã®ã¯ã©ã¹ã°ã«ã¼ãã³ã¼ã*/131 uint8_t eojx2; /* ECHONET Lite ãªãã¸ã§ã¯ãã®ã¯ã©ã¹ã³ã¼ã*/132 uint8_t eojx3; /* ECHONET Lite ãªãã¸ã§ã¯ãã®ã¤ã³ã¹ã¿ã³ã¹ã³ã¼ã*/133 ECN_ENOD_ID addrid; /* IP ã¢ãã¬ã¹åå¾ç¨ID */112 ID eobjid; /* ECHONET Lite オブジェクトID */ 113 ID enodid; /* ECHONET Lite ノードプロファイルオブジェクトID */ 114 uint8_t eojx1; /* ECHONET Lite オブジェクトのクラスグループコード */ 115 uint8_t eojx2; /* ECHONET Lite オブジェクトのクラスコード */ 116 uint8_t eojx3; /* ECHONET Lite オブジェクトのインスタンスコード */ 117 ECN_ENOD_ID addrid; /* IPアドレス取得用ID */ 134 118 } ecn_inm_get_device_item_t; 135 119 … … 156 140 } ecn_inm_get_device_info_res_t; 157 141 158 /* åæå*/142 /* 初期化 */ 159 143 void ecn_agent_init(void); 160 /* ãã¼ããæ¤ç´¢*/144 /* ノードを検索 */ 161 145 ecn_node_t *ecn_agent_find_node(ECN_ENOD_ID enodid); 162 /* æ©å¨ãæ¤ç´¢*/146 /* 機器を検索 */ 163 147 ecn_obj_t *ecn_agent_find_eobj(const EOBJCB *pk_nod, T_ECN_EOJ eoj); 164 /* ãªãã¸ã§ã¯ãIDãåå¾*/148 /* オブジェクトIDを取得 */ 165 149 ID ecn_agent_get_eobj(const EOBJINIB *pk_obj); 166 /* 次ã®æ©å¨ãåå¾*/150 /* 次の機器を取得 */ 167 151 const EOBJINIB *ecn_agent_next_eobj(const EOBJCB *pk_nod, const EOBJINIB *pk_obj); 168 /* ãªãã¸ã§ã¯ãIDããEOJã¨ãã¼ãIDãåå¾*/152 /* オブジェクトIDからEOJとノードIDを取得 */ 169 153 bool_t ecn_agent_get_eoj_enodid(ID eobjid, T_ECN_EOJ *eoj, ECN_ENOD_ID *enodid); 170 /* ã¿ã¤ã ã¢ã¦ãå¤ãè¿ã*/154 /* タイムアウト値を返す */ 171 155 int ecn_agent_get_timer(); 172 /* ã¿ã¤ãã¼ã®æéãé²ãã*/156 /* タイマーの時間を進める */ 173 157 void ecn_agent_progress(int interval); 174 /* ã¿ã¤ã ã¢ã¦ãå¦çï¼ã®ããã®å¼ã³åºãï¼*/158 /* タイムアウト処理(のための呼び出し) */ 175 159 void ecn_agent_timeout(); 176 /* å 177 é¨ã¡ãã»ã¼ã¸å¦ç */ 160 /* 内部メッセージ処理 */ 178 161 bool_t ecn_agent_proc_int_msg(ECN_FBS_ID fbs, uint8_t cmd); 179 /* ECHONET é»æåä¿¡å¦ç*/162 /* ECHONET電文受信処理 */ 180 163 void ecn_agent_proc_ecn_msg(const EOBJCB **snod, const EOBJINIB **sobj, T_EDATA *esv); 181 /* ECHONET é»æåä¿¡å¦ççµäº*/164 /* ECHONET電文受信処理終了 */ 182 165 void ecn_agent_proc_ecn_msg_end(); 183 /* ããããã£ãåå¾*/166 /* プロパティを取得 */ 184 167 const EPRPINIB *ecn_agent_get_property(const EOBJINIB *fp_obj, uint8_t fa_epc, const EPRPINIB *item); 185 168
Note:
See TracChangeset
for help on using the changeset viewer.