Changeset 321 for EcnlProtoTool/trunk/mrbgems/mruby-ecnl/src/echonet_task.h
- Timestamp:
- Aug 23, 2017, 9:27:43 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/mrbgems/mruby-ecnl/src/echonet_task.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r270 r321 4 4 * Copyright (C) 2014-2016 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 … … 69 54 70 55 /* 71 * ECHONET Lite ã¿ã¹ã¯é¢é£ã®å®æ°ã®ããã©ã«ãå¤ã®å®ç¾©56 * ECHONET Lite タスク関連の定数のデフォルト値の定義 72 57 */ 73 58 #ifndef ECHONET_TASK_PRIORITY 74 #define ECHONET_TASK_PRIORITY 6 /* åæåªå 75 度 */ 59 #define ECHONET_TASK_PRIORITY 6 /* 初期優先度 */ 76 60 #endif /* ECHONET_TASK_PRIORITY */ 77 61 78 62 #ifndef ECHONET_TASK_STACK_SIZE 79 #define ECHONET_TASK_STACK_SIZE 1024 /* ã¹ã¿ãã¯é åã®ãµã¤ãº*/63 #define ECHONET_TASK_STACK_SIZE 1024 /* スタック領域のサイズ */ 80 64 #endif /* ECHONET_TASK_STACK_SIZE */ 81 65 … … 93 77 intptr_t exinf; 94 78 TMO api_timer; 95 /* ã¢ããªã±ã¼ã·ã§ã³ãè¦æ±ããé»æã®ã·ã¼ã±ã³ã¹çªå·*/79 /* アプリケーションが要求した電文のシーケンス番号 */ 96 80 uint16_t api_tid; 97 /* åä¿¡ã¡ãã»ã¼ã¸ãéæ¾ãããå¦ã*/81 /* 受信メッセージを開放するか否か */ 98 82 bool_t release_esv; 99 /* åä¿¡ã¡ãã»ã¼ã¸ã転éãããå¦ã*/83 /* 受信メッセージを転送するか否か */ 100 84 bool_t forward_esv; 101 /* ã³ã³ããã¼ã©ã¼åã*/85 /* コントローラー向け */ 102 86 ecn_agent_t agent; 103 /* ECHONET Lite ãªãã¸ã§ã¯ãIDã®æ大å¤*/87 /* ECHONET Lite オブジェクトIDの最大値 */ 104 88 ID tmax_eobjid; 105 /* ECHONET Lite ãªãã¸ã§ã¯ãåæåãããã¯ã®ã¨ãªã¢*/89 /* ECHONET Lite オブジェクト初期化ブロックのエリア */ 106 90 const EOBJINIB **eobjinib_table; 107 /* ECHONET Lite ãã¼ã管çãããã¯ã®æ°*/91 /* ECHONET Liteノード管理ブロックの数 */ 108 92 int tnum_enodid; 109 /* ECHONET Lite ãªãã¸ã§ã¯ã管çãããã¯ã®ã¨ãªã¢*/93 /* ECHONET Lite オブジェクト管理ブロックのエリア */ 110 94 EOBJCB eobjcb_table[1]; 111 /* ã¯ã©ã¹æ°*/95 /* クラス数 */ 112 96 uint_t eclscnt; 113 /* ã¯ã©ã¹ãªã¹ã*/97 /* クラスリスト */ 114 98 uint8_t *eclslst; 115 /* ã¡ã¼ã«ããã¯ã¹*/99 /* メールボックス */ 116 100 T_ECN_FBS_QUEUE api_mbxid; 117 101 T_ECN_FBS_QUEUE svc_mbxid; 118 102 T_ECN_FBS_QUEUE lcl_mbxid; 119 /* ã¢ã¸ã¥ã¼ã«åæåãã©ã°*/103 /* モジュール初期化フラグ */ 120 104 uint8_t eobjlist_need_init; 121 /* ã·ã¼ã±ã³ã¹çªå·*/105 /* シーケンス番号 */ 122 106 uint16_t current_tid; 123 /* ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãéç¥ä½ç½®*/107 /* インスタンスリスト通知位置 */ 124 108 int inst_list_pos; 125 109 }; … … 133 117 ID echonet_svctask_get_eobjid(ecnl_svc_task_t *svc, const EOBJINIB *eobjinib); 134 118 135 /* ECHONET Lite ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãã®1ã¢ãã¦ã³ã¹å½ããæ大ãã¼ãæ°*/119 /* ECHONET Lite インスタンスリストの1アナウンス当たり最大ノード数 */ 136 120 #define ECN_IST_LST_EOJ_MAX_CT (84) 137 121 138 /* ECHONET Lite ãªãã¸ã§ã¯ãã³ã¼ã x1,x2,x3(T_ECN_EOJ)ã24bitæ´æ°ã«å¤æ*/122 /* ECHONET Liteオブジェクトコード x1,x2,x3(T_ECN_EOJ)を24bit整数に変換 */ 139 123 #define _ECN_EOJ2VALUE(s) (((s).eojx1 << 16) | ((s).eojx2 << 8) | (s).eojx3) 140 124 141 125 enum ecn_epc_code 142 126 { 143 ECN_EPC_INL_BCS = 0xD5 /* ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãéç¥ããããã£*/127 ECN_EPC_INL_BCS = 0xD5 /* インスタンスリスト通知プロパティ */ 144 128 }; 145 129 … … 170 154 } T_ECN_INTERNAL_MSG; 171 155 172 /* ã¿ã¹ã¯åæå*/156 /* タスク初期化 */ 173 157 void _ecn_tsk_int_startup(ecnl_svc_task_t *svc); 174 /* ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãéç¥ã®éä¿¡*/158 /* インスタンスリスト通知の送信 */ 175 159 ER _ecn_tsk_ntf_inl(ecnl_svc_task_t *svc); 176 160 177 161 /* 178 * è¦æ±é»æä½æ162 * 要求電文作成 179 163 */ 180 164 ER _ecn_tsk_mk_esv(ecnl_svc_task_t *svc, ECN_FBS_ID *fp_fbs_id, ID fa_seoj, ID fa_deoj, … … 184 168 185 169 /* 186 * å¿çé»æå¾ 187 ã¡ã®å²ãè¾¼ã¿é»æä½æ 170 * 応答電文待ちの割り込み電文作成 188 171 */ 189 172 ER _ecn_mk_brk_wai(ecnl_svc_task_t *svc, ECN_FBS_ID *pk_fbs_id, const void *p_dat, size_t fa_size);
Note:
See TracChangeset
for help on using the changeset viewer.