Changeset 389 for azure_iot_hub/trunk/ntshell
- Timestamp:
- May 22, 2019, 10:03:37 PM (5 years ago)
- Location:
- azure_iot_hub/trunk/ntshell
- Files:
-
- 95 edited
Legend:
- Unmodified
- Added
- Removed
-
azure_iot_hub/trunk/ntshell/echonet/MANIFEST
-
Property svn:eol-style
set to
native
-
Property svn:mime-type
set to
text/plain;charset=UTF-8
-
Property svn:eol-style
set to
-
azure_iot_hub/trunk/ntshell/echonet/echonet.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 4 4 * Copyright (C) 2014 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$ … … 63 48 64 49 /* 65 * ECHONET Lite ãµã¼ãã¹å¦çéå§50 * ECHONET Liteサービス処理開始 66 51 */ 67 52 ER ecn_sta_svc() … … 71 56 72 57 /* 73 * ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãéç¥ã®éä¿¡58 * インスタンスリスト通知の送信 74 59 */ 75 60 ER ecn_ntf_inl() … … 79 64 80 65 /* 81 * ECHONETãªãã¸ã§ã¯ãåç 82 § 83 * å¼æ° 84 * ID fa_eobjid ECHONETãªãã¸ã§ã¯ãID 85 * T_REOBJ *fp_eobj ECHONETãªãã¸ã§ã¯ãã®è¨å®å 86 容ã³ãã¼å 87 66 * ECHONETオブジェクト参照 67 * 引数 68 * ID fa_eobjid ECHONETオブジェクトID 69 * T_REOBJ *fp_eobj ECHONETオブジェクトの設定内容コピー先 88 70 * 89 * eobjidã§æå®ããECHONETãªãã¸ã§ã¯ãã®è¨å®å 90 容ãåç 91 §ããã 92 * åç 93 §ããè¨å®å 94 容ã¯pk_eobjã«æå®ããã¡ã¢ãªã«è¿ãããã 71 * eobjidで指定したECHONETオブジェクトの設定内容を参照する。 72 * 参照した設定内容はpk_eobjに指定したメモリに返される。 95 73 */ 96 74 ER ecn_ref_eobj(ID fa_eobjid, T_REOBJ *fp_eobj) … … 99 77 100 78 if (!fp_eobj) 101 return E_PAR; /* ãã©ã¡ã¼ã¿ã¨ã©ã¼*/79 return E_PAR; /* パラメータエラー */ 102 80 103 81 if ((fa_eobjid <= 0) || (fa_eobjid > tmax_eobjid)) 104 return E_OBJ; /* ãªãã¸ã§ã¯ãæªç»é²*/82 return E_OBJ; /* オブジェクト未登録 */ 105 83 106 84 p_obj = &eobjinib_table[fa_eobjid - 1]; … … 112 90 113 91 /* 114 * ECHONETããããã£åç 115 § 116 * å¼æ° 117 * ID fa_eobjid ECHONETãªãã¸ã§ã¯ãID 118 * uint8_t fa_epc ããããã£ã³ã¼ã 119 * T_RPRP *fp_eprp ECHONETãªãã¸ã§ã¯ãã®ããããã£è¨å®å 120 容ã³ãã¼å 121 92 * ECHONETプロパティ参照 93 * 引数 94 * ID fa_eobjid ECHONETオブジェクトID 95 * uint8_t fa_epc プロパティコード 96 * T_RPRP *fp_eprp ECHONETオブジェクトのプロパティ設定内容コピー先 122 97 * 123 * eobjidã§æå®ããECHONETãªãã¸ã§ã¯ãã®ãepcã§æå®ããããããã£ã®è¨å®å 124 容ãåç 125 §ããã 126 * åç 127 §ããè¨å®å 128 容ã¯pk_eprpã«æå®ããã¡ã¢ãªã«è¿ãããã 98 * eobjidで指定したECHONETオブジェクトの、epcで指定したプロパティの設定内容を参照する。 99 * 参照した設定内容はpk_eprpに指定したメモリに返される。 129 100 */ 130 101 ER ecn_ref_eprp(ID fa_eobjid, uint8_t fa_epc, T_RPRP *fp_eprp) … … 135 106 136 107 if (!fp_eprp) 137 return E_PAR; /* ãã©ã¡ã¼ã¿ã¨ã©ã¼*/108 return E_PAR; /* パラメータエラー */ 138 109 139 110 if ((fa_eobjid <= 0) || (fa_eobjid > tmax_eobjid)) 140 return E_OBJ; /* ãªãã¸ã§ã¯ãæªç»é²*/111 return E_OBJ; /* オブジェクト未登録 */ 141 112 142 113 p_obj = &eobjinib_table[fa_eobjid - 1]; 143 114 144 /* eojã®æã¤ããããã£åæåå®ç¾©é 145 åããæ¤ç´¢ */ 115 /* eojの持つプロパティ初期化定義配列から検索 */ 146 116 p = p_obj->eprp; 147 117 for (i = 0; i < p_obj->eprpcnt; i++, p++) { … … 152 122 } 153 123 154 return E_PAR; /* ãã©ã¡ã¼ã¿ã¨ã©ã¼ */ 155 } 156 157 /* 158 * ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ï¼å¿çä¸è¦ï¼é»æä½æ 159 * å¼æ° 160 * T_EDATA **ppk_esv åå¾ããé»æã®æ ¼ç´å 161 162 * ID fa_deoj å®å 163 ã®ECHONETãªãã¸ã§ã¯ãID 164 * uint8_t fa_epc ããããã£ã³ã¼ã 165 * uint8_t fa_pdc ããããã£å¤ãã¼ã¿ãµã¤ãº 166 * const void *p_edt ããããã£å¤ãã¼ã¿ 124 return E_PAR; /* パラメータエラー */ 125 } 126 127 /* 128 * プロパティ値書き込み要求(応答不要)電文作成 129 * 引数 130 * T_EDATA **ppk_esv 取得した電文の格納先 131 * ID fa_deoj 宛先のECHONETオブジェクトID 132 * uint8_t fa_epc プロパティコード 133 * uint8_t fa_pdc プロパティ値データサイズ 134 * const void *p_edt プロパティ値データ 167 135 * 168 * ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ï¼å¿çä¸è¦ï¼é»æãä½æããã 169 * é»æã¯deojã§æå®ããECHONETãªãã¸ã§ã¯ããå®å 170 ã¨ãã 171 * é»æã®åãã®ããããã£å¤ã¨ãã¦ãepcã¨pdcãp_edtã§æå®ããã 172 * ããããã£ã³ã¼ãããã¼ã¿ãµã¤ãºããã¼ã¿ãé»æã«è¨å®ããã 173 * ä½æããé»æã®å 174 é ã¢ãã¬ã¹ã¯ãã¤ã³ã¿çµç±ã§è¿ãããã 136 * プロパティ値書き込み要求(応答不要)電文を作成する。 137 * 電文はdeojで指定したECHONETオブジェクトを宛先とし、 138 * 電文の初めのプロパティ値として、epcとpdc、p_edtで指定された 139 * プロパティコード、データサイズ、データを電文に設定する。 140 * 作成した電文の先頭アドレスはポインタ経由で返される。 175 141 */ 176 142 ER ecn_esv_seti(T_EDATA **ppk_esv, ID fa_deoj, uint8_t fa_epc, uint8_t fa_pdc, … … 181 147 182 148 /* 183 * ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ï¼å¿çè¦ï¼é»æä½æ 184 * å¼æ° 185 * T_EDATA **ppk_esv åå¾ããé»æã®æ ¼ç´å 186 187 * ID fa_deoj å®å 188 ã®ECHONETãªãã¸ã§ã¯ãID 189 * uint8_t fa_epc ããããã£ã³ã¼ã 190 * uint8_t fa_pdc ããããã£å¤ãã¼ã¿ãµã¤ãº 191 * const void *p_edt ããããã£å¤ãã¼ã¿ 149 * プロパティ値書き込み要求(応答要)電文作成 150 * 引数 151 * T_EDATA **ppk_esv 取得した電文の格納先 152 * ID fa_deoj 宛先のECHONETオブジェクトID 153 * uint8_t fa_epc プロパティコード 154 * uint8_t fa_pdc プロパティ値データサイズ 155 * const void *p_edt プロパティ値データ 192 156 * 193 * ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ï¼å¿çè¦ï¼é»æãä½æããã 194 * é»æã¯deojã§æå®ããECHONETãªãã¸ã§ã¯ããå®å 195 ã¨ãã 196 * é»æã®åãã®ããããã£å¤ã¨ãã¦ãepcã¨pdcãp_edtã§æå®ããã 197 * ããããã£ã³ã¼ãããã¼ã¿ãµã¤ãºããã¼ã¿ãé»æã«è¨å®ããã 198 * ä½æããé»æã®å 199 é ã¢ãã¬ã¹ã¯ãã¤ã³ã¿çµç±ã§è¿ãããã 157 * プロパティ値書き込み要求(応答要)電文を作成する。 158 * 電文はdeojで指定したECHONETオブジェクトを宛先とし、 159 * 電文の初めのプロパティ値として、epcとpdc、p_edtで指定された 160 * プロパティコード、データサイズ、データを電文に設定する。 161 * 作成した電文の先頭アドレスはポインタ経由で返される。 200 162 */ 201 163 ER ecn_esv_setc(T_EDATA **ppk_esv, ID fa_deoj, uint8_t fa_epc, uint8_t fa_pdc, … … 206 168 207 169 /* 208 * ããããã£å¤èªã¿åºãè¦æ±é»æä½æ 209 * å¼æ° 210 * T_EDATA **ppk_esv åå¾ããé»æã®æ ¼ç´å 211 212 * ID fa_deoj å®å 213 ã®ECHONETãªãã¸ã§ã¯ãID 214 * uint8_t fa_epc ããããã£ã³ã¼ã 170 * プロパティ値読み出し要求電文作成 171 * 引数 172 * T_EDATA **ppk_esv 取得した電文の格納先 173 * ID fa_deoj 宛先のECHONETオブジェクトID 174 * uint8_t fa_epc プロパティコード 215 175 * 216 * ããããã£å¤èªã¿åºãè¦æ±é»æãä½æããã 217 * é»æã¯deojã§æå®ããECHONETãªãã¸ã§ã¯ããå®å 218 ã¨ãã 219 * é»æã®åãã®ããããã£å¤ã¨ãã¦ãepcã§æå®ããã 220 * ããããã£ã³ã¼ããé»æã«è¨å®ããã 221 * ä½æããé»æã®å 222 é ã¢ãã¬ã¹ã¯ãã¤ã³ã¿çµç±ã§è¿ãããã 176 * プロパティ値読み出し要求電文を作成する。 177 * 電文はdeojで指定したECHONETオブジェクトを宛先とし、 178 * 電文の初めのプロパティ値として、epcで指定された 179 * プロパティコードを電文に設定する。 180 * 作成した電文の先頭アドレスはポインタ経由で返される。 223 181 */ 224 182 ER ecn_esv_get(T_EDATA **ppk_esv, ID fa_deoj, uint8_t fa_epc) … … 228 186 229 187 /* 230 * ããããã£å¤éç¥è¦æ±é»æä½æ 231 * å¼æ° 232 * T_EDATA **ppk_esv åå¾ããé»æã®æ ¼ç´å 233 234 * ID fa_deoj å®å 235 ã®ECHONETãªãã¸ã§ã¯ãID 236 * uint8_t fa_epc ããããã£ã³ã¼ã 188 * プロパティ値通知要求電文作成 189 * 引数 190 * T_EDATA **ppk_esv 取得した電文の格納先 191 * ID fa_deoj 宛先のECHONETオブジェクトID 192 * uint8_t fa_epc プロパティコード 237 193 * 238 * ããããã£å¤éç¥è¦æ±é»æãä½æããã 239 * é»æã¯deojã§æå®ããECHONETãªãã¸ã§ã¯ããå®å 240 ã¨ãã 241 * é»æã®åãã®ããããã£å¤ã¨ãã¦ãepcã§æå®ããã 242 * ããããã£ã³ã¼ããé»æã«è¨å®ããã 243 * ä½æããé»æã®å 244 é ã¢ãã¬ã¹ã¯ãã¤ã³ã¿çµç±ã§è¿ãããã 194 * プロパティ値通知要求電文を作成する。 195 * 電文はdeojで指定したECHONETオブジェクトを宛先とし、 196 * 電文の初めのプロパティ値として、epcで指定された 197 * プロパティコードを電文に設定する。 198 * 作成した電文の先頭アドレスはポインタ経由で返される。 245 199 */ 246 200 ER ecn_esv_inf_req(T_EDATA **ppk_esv, ID fa_deoj, uint8_t fa_epc) … … 250 204 251 205 /* 252 * ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãè¦æ±é»æä½æ 253 * å¼æ° 254 * T_EDATA **ppk_esv åå¾ããé»æã®æ ¼ç´å 255 256 * ID fa_deoj å®å 257 ã®ECHONETãªãã¸ã§ã¯ãID 258 * uint8_t fa_epc ããããã£ã³ã¼ã 259 * uint8_t fa_pdc ããããã£å¤ãã¼ã¿ãµã¤ãº 260 * const void *p_edt ããããã£å¤ãã¼ã¿ 206 * プロパティ値書き込み・読み出し要求電文作成 207 * 引数 208 * T_EDATA **ppk_esv 取得した電文の格納先 209 * ID fa_deoj 宛先のECHONETオブジェクトID 210 * uint8_t fa_epc プロパティコード 211 * uint8_t fa_pdc プロパティ値データサイズ 212 * const void *p_edt プロパティ値データ 261 213 * 262 * ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãè¦æ±é»æãä½æããã 263 * é»æã¯deojã§æå®ããECHONETãªãã¸ã§ã¯ããå®å 264 ã¨ãã 265 * é»æã®åãã®ããããã£å¤ã¨ãã¦ãepcã¨pdcãp_edtã§æå®ããã 266 * ããããã£ã³ã¼ãããã¼ã¿ãµã¤ãºããã¼ã¿ãé»æã«è¨å®ããã 267 * ä½æããé»æã®å 268 é ã¢ãã¬ã¹ã¯ãã¤ã³ã¿çµç±ã§è¿ãããã 214 * プロパティ値書き込み・読み出し要求電文を作成する。 215 * 電文はdeojで指定したECHONETオブジェクトを宛先とし、 216 * 電文の初めのプロパティ値として、epcとpdc、p_edtで指定された 217 * プロパティコード、データサイズ、データを電文に設定する。 218 * 作成した電文の先頭アドレスはポインタ経由で返される。 269 219 */ 270 220 ER ecn_esv_set_get(T_EDATA **ppk_esv, ID fa_deoj, uint8_t fa_epc, uint8_t fa_pdc, … … 275 225 276 226 /* 277 * ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãè¦æ±é»æä½æï¼æãè¿ãæå® 278 * ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãè¦æ±é»æä½æä¸ã®ãæ¸ãè¾¼ã¿ããããã£é 279 åãçµã㦠280 * èªã¿åºãããããã£é 281 åã«ç§»ãæã«ç¨ããã 227 * プロパティ値書き込み・読み出し要求電文作成:折り返し指定 228 * プロパティ値書き込み・読み出し要求電文作成中の、書き込みプロパティ配列を終えて 229 * 読み出しプロパティ配列に移る時に用いる。 282 230 */ 283 231 ER ecn_trn_set_get(T_EDATA *ppk_esv, int *p_trn_pos) … … 290 238 return E_PAR; 291 239 292 /* ããããã£èªã¿è¾¼ã¿ä»¶æ°æ¸ãè¾¼ã¿æã®ãããæ 293 å ±ãè¨é² */ 240 /* プロパティ読み込み件数書き込み時のヘッド情報を記録 */ 294 241 *p_trn_pos = _ecn_fbs_get_datalen(*(ECN_FBS_ID *)&ppk_esv); 295 242 296 /* å¿çé»æç¨ã¡ã¢ãªã«ãã¼ã¿è¿½å ã»ãã®æç¹ã§ã®å¿çé»æä¸ããããã£ä»¶æ°ãè¨é²*/243 /* 応答電文用メモリにデータ追加・この時点での応答電文中プロパティ件数を記録 */ 297 244 a_ret = _ecn_fbs_add_data_ex(*(ECN_FBS_ID *)&ppk_esv, &ppk_esv->hdr.edata.opc, 1); 298 245 if (a_ret) { … … 301 248 } 302 249 303 /* å¿çé»æä¸ããããã£ä»¶æ°ã 0 ã«æ»ãï¼ä»å¾ãçµäºæå®ããã¾ã§ã¯èªã¿åºãããããã£ä»¶æ°ã«ãªãï¼*/250 /* 応答電文中プロパティ件数を 0 に戻す(今後、終了指定するまでは読み出しプロパティ件数になる) */ 304 251 ppk_esv->hdr.edata.opc = 0; 305 252 … … 308 255 309 256 /* 310 * ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãè¦æ±é»æä½æï¼çµäºæå® 311 * ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãè¦æ±é»æä½æä¸ã®ãèªã¿åºãããããã£é 312 åãçµããæã«ç¨ããã 257 * プロパティ値書き込み・読み出し要求電文作成:終了指定 258 * プロパティ値書き込み・読み出し要求電文作成中の、読み出しプロパティ配列を終える時に用いる。 313 259 */ 314 260 ER ecn_end_set_get(T_EDATA *ppk_esv, int fa_trn_pos) … … 321 267 return E_PAR; 322 268 323 /* ãã®æç¹ã§ã®å¿çé»æä¸ããããã£ä»¶æ°(èªã¿åºãããããã£ä»¶æ°)ãä¿æ*/269 /* この時点での応答電文中プロパティ件数(読み出しプロパティ件数)を保持 */ 324 270 a_rd_opc = ppk_esv->hdr.edata.opc; 325 271 326 /* å¿çé»æä¸ããããã£ä»¶æ°(æ¸ãè¾¼ã¿ããããã£ä»¶æ°)ãä¿åä½ç½®ããèªã¿åã*/272 /* 応答電文中プロパティ件数(書き込みプロパティ件数)を保存位置から読み取り */ 327 273 a_wr_opc = _ecn_fbs_peek(*(ECN_FBS_ID *)&ppk_esv, fa_trn_pos); 328 274 if (a_wr_opc < 0) { … … 331 277 } 332 278 333 /* å¿çé»æä¸ããããã£ä»¶æ°(æ¸ãè¾¼ã¿ããããã£ä»¶æ°)ã復å 334 */ 279 /* 応答電文中プロパティ件数(書き込みプロパティ件数)を復元 */ 335 280 ppk_esv->hdr.edata.opc = (uint8_t)a_wr_opc; 336 281 337 /* å¿çé»æä¸ããããã£ä»¶æ°(èªã¿åºãããããã£ä»¶æ°)ãä¿åä½ç½®ã«æ¸ãè¾¼ã¿*/282 /* 応答電文中プロパティ件数(読み出しプロパティ件数)を保存位置に書き込み */ 338 283 a_ret = _ecn_fbs_poke(*(ECN_FBS_ID *)&ppk_esv, fa_trn_pos, a_rd_opc); 339 284 if (a_ret) { … … 346 291 347 292 /* 348 * ããããã£å¤éç¥ï¼å¿çè¦ï¼é»æä½æ 349 * å¼æ° 350 * T_EDATA **ppk_esv åå¾ããé»æã®æ ¼ç´å 351 352 * ID fa_deoj å®å 353 ã®ECHONETãªãã¸ã§ã¯ãID 354 * ID fa_seoj éä¿¡å 355 ã®ECHONETãªãã¸ã§ã¯ãID 356 * uint8_t fa_sepc éä¿¡å 357 ã®ããããã£ã³ã¼ã 293 * プロパティ値通知(応答要)電文作成 294 * 引数 295 * T_EDATA **ppk_esv 取得した電文の格納先 296 * ID fa_deoj 宛先のECHONETオブジェクトID 297 * ID fa_seoj 送信元のECHONETオブジェクトID 298 * uint8_t fa_sepc 送信元のプロパティコード 358 299 */ 359 300 ER ecn_esv_infc(T_EDATA **ppk_esv, ID fa_deoj, ID fa_seoj, uint8_t fa_sepc) … … 363 304 364 305 /* 365 * è¦æ±é»æã¸ã®ããããã£æå®è¿½å (ããããã£ãã¼ã¿ãä»éããªãå ´åã«ç¨ãã)306 * 要求電文へのプロパティ指定追加 (プロパティデータが付随しない場合に用いる) 366 307 */ 367 308 ER ecn_add_epc(T_EDATA *pk_esv, uint8_t epc) … … 371 312 372 313 /* 373 * è¦æ±é»æã¸ã®ããããã£ãã¼ã¿è¿½å (ããããã£ããã³ä»éãã¼ã¿ã追å ãã)314 * 要求電文へのプロパティデータ追加 (プロパティおよび付随データを追加する) 374 315 */ 375 316 ER ecn_add_edt(T_EDATA *pk_esv, uint8_t fa_epc, uint8_t fa_pdc, const void *p_edt) … … 380 321 381 322 if (!pk_esv) 382 return E_PAR; /* åå¾ããFBS_IDã®æ ¼ç´å 383 ãNULL */ 323 return E_PAR; /* 取得したFBS_IDの格納先がNULL */ 384 324 if (ECHONET_MEMPOOL_BLOCK_SIZE <= fa_pdc) 385 return E_PAR; /* ããããã£å¤ãµã¤ãºã大ãããã*/325 return E_PAR; /* プロパティ値サイズが大きすぎる */ 386 326 if (!p_edt && 0 < fa_pdc) 387 return E_PAR; /* ããããã£å¤ãµã¤ãºã1以ä¸ãªã®ã«ãã¼ã¿ãã¤ã³ã¿ãNULL */327 return E_PAR; /* プロパティ値サイズが1以上なのにデータポインタがNULL */ 388 328 389 329 a_fbs_id.ptr = (T_ECN_FST_BLK *)pk_esv; 390 330 if (((T_EDATA *)a_fbs_id.ptr)->hdr.edata.opc == 0xFF) 391 return E_PAR; /* ããããã£ãå¤ããã*/392 393 /* è¦æ±é»æç¨ã¡ã¢ãªã«ãã¼ã¿è¿½å*/331 return E_PAR; /* プロパティが多すぎる */ 332 333 /* 要求電文用メモリにデータ追加 */ 394 334 memset(&a_ecn_prp, 0, sizeof(a_ecn_prp)); 395 335 a_ecn_prp.epc = fa_epc; … … 403 343 } 404 344 if (0 < fa_pdc) { 405 /* ä»éãã¼ã¿è¿½å*/345 /* 付随データ追加 */ 406 346 a_ret = _ecn_fbs_add_data_ex(a_fbs_id, p_edt, fa_pdc); 407 347 if (a_ret) { … … 412 352 } 413 353 } 414 /* ããããã£æ°ã¤ã³ã¯ãªã¡ã³ã*/354 /* プロパティ数インクリメント */ 415 355 ((T_EDATA *)a_fbs_id.ptr)->hdr.edata.opc++; 416 356 … … 420 360 421 361 /* 422 * è¦æ±é»æã®éä¿¡ 423 * esvã§æå®ãããè¦æ±é»æãéä¿¡ããã 424 * é»æã«æå®ãããå®å 425 ããIPã¢ãã¬ã¹ãç¹å®ããUDPãã±ããã¨ãã¦éä¿¡ããã 362 * 要求電文の送信 363 * esvで指定された要求電文を送信する。 364 * 電文に指定された宛先からIPアドレスを特定し、UDPパケットとして送信する。 426 365 */ 427 366 ER ecn_snd_esv(T_EDATA *pk_esv) … … 433 372 434 373 /* 435 * å¿çé»æã®åä¿¡æ°¸é å¾ 436 ã¡ 437 * å¿çé»æãåä¿¡ããã®ãå¾ 438 ã¤ã 439 * åä¿¡ããå¿çé»æã¯ppk_esvã§æå®ãããã¤ã³ã¿ã¼ã«å 440 é ã¢ãã¬ã¹ãè¿ãããã 441 * è¦æ±é»æã®å®å 442 ã®ECHONETãªãã¸ã§ã¯ãããããã¯ã¼ã¯ã«åå¨ããªãå ´åã 443 * å¿çé»æã¯è¿éãããªãã®ã§ãæ°¸é ã«å¾ 444 ã¤ãã¨ã«ãªãã®ã§ã¿ã¤ã ã¢ã¦ãä»ãã® 445 * ecn_trcv_esvã使ç¨ãããã¨ãæ¨å¥¨ããã 374 * 応答電文の受信永遠待ち 375 * 応答電文を受信するのを待つ。 376 * 受信した応答電文はppk_esvで指定したポインターに先頭アドレスが返される。 377 * 要求電文の宛先のECHONETオブジェクトがネットワークに存在しない場合、 378 * 応答電文は返送されないので、永遠に待つことになるのでタイムアウト付きの 379 * ecn_trcv_esvを使用することを推奨する。 446 380 */ 447 381 ER ecn_rcv_esv(T_EDATA **ppk_esv) … … 451 385 452 386 /* 453 * å¿çé»æã®åä¿¡å¾ 454 ã¡ã¿ã¤ã ã¢ã¦ããã 455 * å¿çé»æãåä¿¡ããã®ãå¾ 456 ã¤ã 457 * åä¿¡ããå¿çé»æã¯ppk_esvã§æå®ãããã¤ã³ã¿ã¼ã«å 458 é ã¢ãã¬ã¹ãè¿ãããã 459 * tmoã§æå®ãããã¿ã¤ã ã¢ã¦ãæéãçµéãã¦ãå¿çé»æãåä¿¡ããªãå ´åã 460 * å¾ 461 ã¡ã解é¤ãããæ»ãå¤ãE_TMOã§è¿ãããã 462 * tmoã«TMO_FEVRãæå®ããã¨ecn_rcv_esvã¨åãæ¯ãèããããã 463 * tmoã«0ãæå®ããã¨ecn_prcv_esvã¨åãæ¯ãèããããã 387 * 応答電文の受信待ちタイムアウトあり 388 * 応答電文を受信するのを待つ。 389 * 受信した応答電文はppk_esvで指定したポインターに先頭アドレスが返される。 390 * tmoで指定されたタイムアウト時間が経過しても応答電文を受信しない場合、 391 * 待ちが解除され、戻り値がE_TMOで返される。 392 * tmoにTMO_FEVRを指定するとecn_rcv_esvと同じ振る舞いをする。 393 * tmoに0を指定するとecn_prcv_esvと同じ振る舞いをする。 464 394 */ 465 395 ER ecn_trcv_esv(T_EDATA **ppk_esv, int fa_tmout) … … 482 412 483 413 /* 484 * å¿çé»æã®åä¿¡ãã¼ãªã³ã° 485 * å¿çé»æãåä¿¡ããã®ãå¾ 486 ã¤ã 487 * åä¿¡ããå¿çé»æã¯ppk_esvã§æå®ãããã¤ã³ã¿ã¼ã«å 488 é ã¢ãã¬ã¹ãè¿ãããã 489 * å¿çé»æã®åä¿¡ã®æç¡ã«ããããããå¾ 490 ããã«é¢æ°ãæããã 414 * 応答電文の受信ポーリング 415 * 応答電文を受信するのを待つ。 416 * 受信した応答電文はppk_esvで指定したポインターに先頭アドレスが返される。 417 * 応答電文の受信の有無にかかわらず、待たずに関数を抜ける。 491 418 */ 492 419 ER ecn_prcv_esv(T_EDATA **ppk_esv) … … 496 423 497 424 /* 498 * å¿çé»æã®ç ´æ£425 * 応答電文の破棄 499 426 */ 500 427 ER ecn_rel_esv(T_EDATA *pk_esv) … … 509 436 510 437 /* 511 * å¿çé»æã®éä¿¡å 512 ãã¼ããåå¾ãã 438 * 応答電文の送信元ノードを取得する 513 439 */ 514 440 ID ecn_get_enod(T_EDATA *pk_esv) … … 532 458 533 459 /* 534 * å¿çé»æã®éä¿¡å 535 æ©å¨ãªãã¸ã§ã¯ããåå¾ãã 460 * 応答電文の送信元機器オブジェクトを取得する 536 461 */ 537 462 ID ecn_get_eobj(T_EDATA *pk_esv) … … 544 469 p_snod = _ecn_eno_fnd(((T_ECN_FST_BLK *)pk_esv)->hdr.sender.id); 545 470 if (p_snod != NULL) { 546 /* ãã¼ããããã¡ã¤ã«ã®å ´å*/471 /* ノードプロファイルの場合 */ 547 472 if ((p_esv->edata.seoj.eojx1 == EOJ_X1_PROFILE) 548 473 && (p_esv->edata.seoj.eojx2 == EOJ_X2_NODE_PROFILE)) { 549 474 p_sobj = p_snod->profile; 550 475 } 551 /* æ©å¨ãªãã¸ã§ã¯ãã®å ´å*/476 /* 機器オブジェクトの場合 */ 552 477 else { 553 478 p_sobj = _ecn_eoj_fnd(p_snod, &p_esv->edata.seoj); … … 565 490 566 491 /* 567 * å¿çé»æ解æã¤ãã¬ã¼ã¿ã¼åæå492 * 応答電文解析イテレーター初期化 568 493 */ 569 494 ER ecn_itr_ini(T_ENUM_EPC *pk_itr, T_EDATA *pk_esv) … … 577 502 pk_itr->pk_esv = pk_esv; 578 503 pk_itr->count = pk_esv->hdr.edata.opc; 579 /* ä»ã®ãããã¯ã§ã®ããããã£ç·æ°*/580 pk_itr->got_ct = 0; /* ä»ã®ãããã¯ã§ãèªã¿åã£ãæ°*/581 pk_itr->next_blk_ct = 0; /* å¾ç¶ãããã¯æ°*/582 pk_itr->is_eof = 0; /* çµç«¯ã«éããæãé0 */504 /* 今のブロックでのプロパティ総数 */ 505 pk_itr->got_ct = 0; /* 今のブロックで、読み取った数 */ 506 pk_itr->next_blk_ct = 0; /* 後続ブロック数 */ 507 pk_itr->is_eof = 0; /* 終端に達した時、非0 */ 583 508 pk_itr->cur = offsetof(T_ECN_EDT_HDR, ecn_prp); 584 509 585 510 switch (pk_esv->hdr.edata.esv) { 586 case ESV_SET_GET: /* 0x6E ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãè¦æ±*/587 case ESV_SET_GET_RES: /* 0x7E ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãå¿ç*/588 case ESV_SET_GET_SNA: /* 0x5E ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãä¸å¯å¿ç*/511 case ESV_SET_GET: /* 0x6E プロパティ値書き込み・読み出し要求 */ 512 case ESV_SET_GET_RES: /* 0x7E プロパティ値書き込み・読み出し応答 */ 513 case ESV_SET_GET_SNA: /* 0x5E プロパティ値書き込み・読み出し不可応答 */ 589 514 pk_itr->next_blk_ct ++; 590 515 default: … … 596 521 597 522 /* 598 * å¿çé»æ解æã¤ãã¬ã¼ã¿ã¼ã¤ã³ã¯ãªã¡ã³ã523 * 応答電文解析イテレーターインクリメント 599 524 */ 600 525 ER ecn_itr_nxt(T_ENUM_EPC *pk_itr, uint8_t *p_epc, uint8_t *p_pdc, void *p_edt) … … 616 541 617 542 if (pk_itr->is_eof) 618 return E_BOVR; /* ãã¼ã¿çµäº*/543 return E_BOVR; /* データ終了 */ 619 544 if (pk_itr->count <= pk_itr->got_ct && pk_itr->next_blk_ct < 1) { 620 pk_itr->is_eof = 1; /* çµç«¯ã«éããæãé0 */621 return E_BOVR; /* ãã¼ã¿çµäº*/545 pk_itr->is_eof = 1; /* 終端に達した時、非0 */ 546 return E_BOVR; /* データ終了 */ 622 547 } 623 548 624 549 a_fbs_id.ptr = (T_ECN_FST_BLK *)pk_itr->pk_esv; 625 550 626 /* å 627 ã®ã«ã¼ã½ã«ä½ç½®ãä¿åããã¤ãã¬ã¼ã¿ã®ã«ã¼ã½ã«ä½ç½®ã«ãã */ 551 /* 元のカーソル位置を保存し、イテレータのカーソル位置にする */ 628 552 a_rd_bak = a_fbs_id.ptr->hdr.rd; 629 553 a_fbs_id.ptr->hdr.rd = pk_itr->cur; … … 633 557 #endif 634 558 if (pk_itr->count <= pk_itr->got_ct && 0 < pk_itr->next_blk_ct) { 635 /* 次ãããã¯ã«ç§»å*/559 /* 次ブロックに移動 */ 636 560 pk_itr->next_blk_ct --; 637 pk_itr->count = 0; /* ä»ã®ãããã¯ã§ã®ããããã£ç·æ°*/638 pk_itr->got_ct = 0; /* ä»ã®ãããã¯ã§ãèªã¿åã£ãæ°*/639 640 /* 次ãããã¯ã®ããããã£æ°ãèªã¿åã*/561 pk_itr->count = 0; /* 今のブロックでのプロパティ総数 */ 562 pk_itr->got_ct = 0; /* 今のブロックで、読み取った数 */ 563 564 /* 次ブロックのプロパティ数を読み取る */ 641 565 a_rd_len = 0; 642 566 a_ret = _ecn_fbs_get_data(a_fbs_id, &a_ecn_prp.pdc, 1, &a_rd_len); … … 644 568 goto lb_except; 645 569 if (0 < a_rd_len) { 646 pk_itr->count = a_ecn_prp.pdc; /* ä»ã®ãããã¯ã§ã®ããããã£ç·æ°*/570 pk_itr->count = a_ecn_prp.pdc; /* 今のブロックでのプロパティ総数 */ 647 571 } 648 a_ret = E_BOVR; /* ãã¼ã¿çµäº*/572 a_ret = E_BOVR; /* データ終了 */ 649 573 goto lb_finally; 650 574 } 651 575 652 /* ããããã£ã³ã¼ãã¨ãã¼ã¿ãµã¤ãºãèªã¿åã*/576 /* プロパティコードとデータサイズを読み取る */ 653 577 memset(&a_ecn_prp, 0, sizeof(a_ecn_prp)); 654 578 a_rd_len = 0; … … 658 582 if (a_rd_len < sizeof(a_ecn_prp)) { 659 583 ECN_DBG_PUT_1("ecn_itr_nxt() ecn_prp read fault. rd.cur=%d", pk_itr->cur); 660 pk_itr->is_eof = 1; /* çµç«¯ã«éããæãé0 */661 a_ret = E_BOVR; /* ãã¼ã¿çµäº*/584 pk_itr->is_eof = 1; /* 終端に達した時、非0 */ 585 a_ret = E_BOVR; /* データ終了 */ 662 586 goto lb_finally; 663 587 } … … 672 596 } 673 597 else { 674 /* ä»éãã¼ã¿ãèªã¿åã*/598 /* 付随データを読み取る */ 675 599 a_rd_len = 0; 676 600 a_ret = _ecn_fbs_get_data(a_fbs_id, p_edt, a_ecn_prp.pdc, &a_rd_len); … … 680 604 ECN_DBG_PUT_3("ecn_itr_nxt() edt read fault. rd.cur=%d,epc=0x%02X,pdc=%u", 681 605 pk_itr->cur, a_ecn_prp.epc , a_ecn_prp.pdc); 682 pk_itr->is_eof = 1; /* çµç«¯ã«éããæãé0 */683 a_ret = E_BOVR; /* ãã¼ã¿çµäº*/606 pk_itr->is_eof = 1; /* 終端に達した時、非0 */ 607 a_ret = E_BOVR; /* データ終了 */ 684 608 goto lb_finally; 685 609 } … … 693 617 694 618 lb_finally: 695 /* ã¤ãã¬ã¼ã¿ã®ã«ã¼ã½ã«ä½ç½®ãæ´æ°*/619 /* イテレータのカーソル位置を更新 */ 696 620 pk_itr->cur = a_fbs_id.ptr->hdr.rd; 697 621 698 622 lb_except: 699 /* å 700 ã®ã«ã¼ã½ã«ä½ç½®ã«æ»ã */ 623 /* 元のカーソル位置に戻す */ 701 624 a_fbs_id.ptr->hdr.rd = a_rd_bak; 702 625 return a_ret; … … 704 627 705 628 /* 706 * å¿çé»æå¾ 707 ã¡ã®å²ãè¾¼ã¿éä¿¡ 629 * 応答電文待ちの割り込み送信 708 630 */ 709 631 ER ecn_brk_wai(const void *p_dat, int fa_datsz) 710 632 { 711 633 ER a_ret; 712 ECN_FBS_ID a_fbs_id = { 0 }; /* è¦æ±é»æç¨ã¡ã¢ãª */ 713 714 /* å¿çé»æå¾ 715 ã¡ã®å²ãè¾¼ã¿é»æä½æ */ 634 ECN_FBS_ID a_fbs_id = { 0 }; /* 要求電文用メモリ */ 635 636 /* 応答電文待ちの割り込み電文作成 */ 716 637 a_ret = _ecn_mk_brk_wai(&a_fbs_id, p_dat, fa_datsz); 717 638 if (a_ret) 718 639 return a_ret; 719 640 720 /* å²ãè¾¼ã¿éä¿¡*/641 /* 割り込み送信 */ 721 642 a_ret = _ecn_tsk_snd_dtq(a_fbs_id, true); 722 643 if (a_ret) { … … 725 646 } 726 647 727 /* æ£å¸¸çµäº*/648 /* 正常終了 */ 728 649 return a_ret; 729 650 730 651 lb_except: 731 /* ãã¼ã¿ä½æ失æãããé å解æ¾*/652 /* データ作成失敗したら領域解放 */ 732 653 if (a_fbs_id.ptr) 733 654 _ecn_fbs_del(a_fbs_id); … … 737 658 738 659 /* 739 * å²ãè¾¼ã¿ãã¼ã¿ã®åå¾660 * 割り込みデータの取得 740 661 */ 741 662 ER ecn_get_brk_dat(T_EDATA *pk_esv, void *p_buf, int fa_bufsz, int *p_datsz) … … 757 678 } 758 679 759 /* èªã¿åãä½ç½®ãå 760 é ã«æ»ã */ 680 /* 読み取り位置を先頭に戻す */ 761 681 a_ret = _ecn_fbs_set_rpos(a_fbs, 0); 762 682 if (a_ret) { … … 766 686 } 767 687 768 /* ä»éãã¼ã¿ãèªã¿è¾¼ã*/688 /* 付随データを読み込む */ 769 689 if (p_buf && 0 < fa_bufsz) { 770 690 a_len = 0; … … 783 703 #ifndef ECN_USER_DATA_PROP_SET 784 704 /* 785 * ãã¼ã¿è¨å®é¢æ°705 * データ設定関数 786 706 */ 787 707 int ecn_data_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno) … … 801 721 #ifndef ECN_USER_DATA_PROP_GET 802 722 /* 803 * ãã¼ã¿åå¾é¢æ°723 * データ取得関数 804 724 */ 805 725 int ecn_data_prop_get(const EPRPINIB *item, void *dst, int size) -
azure_iot_hub/trunk/ntshell/echonet/echonet.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) 2014 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$ … … 68 53 69 54 #define EOBJ_NULL 0x00 70 #define EOBJ_LOCAL_NODE 0x01 /* èªãã¼ã*/71 #define EOBJ_SYNC_REMOTE_NODE 0x02 /* ä»ãã¼ã*/72 #define EOBJ_ASYNC_REMOTE_NODE 0x04 /* ä»ãã¼ãï¼éåæï¼*/73 #define EOBJ_DEVICE 0x08 /* æ©å¨ãªãã¸ã§ã¯ã*/55 #define EOBJ_LOCAL_NODE 0x01 /* 自ノード */ 56 #define EOBJ_SYNC_REMOTE_NODE 0x02 /* 他ノード */ 57 #define EOBJ_ASYNC_REMOTE_NODE 0x04 /* 他ノード(非同期) */ 58 #define EOBJ_DEVICE 0x08 /* 機器オブジェクト */ 74 59 75 60 #define EPC_NONE 0x00 76 #define EPC_RULE_SET 0x01 /* ã¢ã¯ã»ã¹ã«ã¼ã« Set */ 77 #define EPC_RULE_GET 0x02 /* ã¢ã¯ã»ã¹ã«ã¼ã« Get */ 78 #define EPC_RULE_ANNO 0x04 /* ã¢ã¯ã»ã¹ã«ã¼ã« Anno */ 79 #define EPC_ANNOUNCE 0x40 /* ç¶æ 80 å¤åæéç¥ */ 81 #define EPC_VARIABLE 0x80 /* å¯å¤é·ãã¼ã¿ */ 61 #define EPC_RULE_SET 0x01 /* アクセスルール Set */ 62 #define EPC_RULE_GET 0x02 /* アクセスルール Get */ 63 #define EPC_RULE_ANNO 0x04 /* アクセスルール Anno */ 64 #define EPC_ANNOUNCE 0x40 /* 状態変化時通知 */ 65 #define EPC_VARIABLE 0x80 /* 可変長データ */ 82 66 83 67 typedef enum _echonet_enod_id 84 68 { 85 ENOD_NOT_MATCH_ID = -1, /* ã¢ãã¬ã¹IDç»é²ãªã*/86 ENOD_MULTICAST_ID = 0, /* ãã«ããã£ã¹ãã¢ãã¬ã¹ID */87 ENOD_LOCAL_ID = 1, /* èªãã¼ãã¢ãã¬ã¹ID */88 ENOD_API_ID = 2, /* API ã¢ãã¬ã¹ID */89 ENOD_REMOTE_ID = 3, /* ä»ãã¼ãã¢ãã¬ã¹ID */69 ENOD_NOT_MATCH_ID = -1, /* アドレスID登録なし */ 70 ENOD_MULTICAST_ID = 0, /* マルチキャストアドレスID */ 71 ENOD_LOCAL_ID = 1, /* 自ノードアドレスID */ 72 ENOD_API_ID = 2, /* APIアドレスID */ 73 ENOD_REMOTE_ID = 3, /* 他ノードアドレスID */ 90 74 } ECN_ENOD_ID; 91 75 92 /* ECHONET Lite è¦æ ¼*/76 /* ECHONET Lite規格 */ 93 77 typedef enum 94 78 { … … 96 80 } ECN_EHD1_ECL_VERSION; 97 81 98 /* é»æå½¢å¼1/2 */82 /* 電文形式1/2 */ 99 83 typedef enum 100 84 { 101 ECN_EDH2_FORMAT_1 = 0x81, /* é»æå½¢å¼1 */102 ECN_EDH2_FORMAT_2 = 0x82 /* é»æå½¢å¼2 */85 ECN_EDH2_FORMAT_1 = 0x81, /* 電文形式1 */ 86 ECN_EDH2_FORMAT_2 = 0x82 /* 電文形式2 */ 103 87 } ECN_EHD2_FORMAT; 104 88 105 /* ECHONET Lite ãµã¼ãã¹ã³ã¼ã*/89 /* ECHONET Liteサービスコード */ 106 90 typedef enum _echonet_service_code 107 91 { 108 ESV_NOP = 0, /* ( æ©è½æå®ãªã) */109 ESV_SET_I = 0x60, /* ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ï¼å¿çä¸è¦ï¼*/110 ESV_SET_C = 0x61, /* ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ï¼å¿çè¦ï¼*/111 ESV_GET = 0x62, /* ããããã£å¤èªã¿åºãè¦æ±*/112 ESV_INF_REQ = 0x63, /* ããããã£å¤éç¥è¦æ±*/113 ESV_SET_GET = 0x6E, /* ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãè¦æ±*/114 ESV_SET_RES = 0x71, /* ããããã£å¤æ¸ãè¾¼ã¿å¿ç*/115 ESV_GET_RES = 0x72, /* ããããã£å¤èªã¿åºãå¿ç*/116 ESV_INF = 0x73, /* ããããã£å¤éç¥*/117 ESV_INFC = 0x74, /* ããããã£å¤éç¥ï¼å¿çè¦ï¼*/118 ESV_INFC_RES = 0x7A, /* ããããã£å¤éç¥å¿ç*/119 ESV_SET_GET_RES = 0x7E, /* ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãå¿ç*/120 ESV_SET_I_SNA = 0x50, /* ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ä¸å¯å¿ç*/121 ESV_SET_C_SNA = 0x51, /* ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ä¸å¯å¿ç*/122 ESV_GET_SNA = 0x52, /* ããããã£å¤èªã¿åºãä¸å¯å¿ç*/123 ESV_INF_SNA = 0x53, /* ããããã£å¤éç¥ä¸å¯å¿ç*/124 ESV_SET_GET_SNA = 0x5E /* ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãä¸å¯å¿ç*/92 ESV_NOP = 0, /* (機能指定なし) */ 93 ESV_SET_I = 0x60, /* プロパティ値書き込み要求(応答不要) */ 94 ESV_SET_C = 0x61, /* プロパティ値書き込み要求(応答要) */ 95 ESV_GET = 0x62, /* プロパティ値読み出し要求 */ 96 ESV_INF_REQ = 0x63, /* プロパティ値通知要求 */ 97 ESV_SET_GET = 0x6E, /* プロパティ値書き込み・読み出し要求 */ 98 ESV_SET_RES = 0x71, /* プロパティ値書き込み応答 */ 99 ESV_GET_RES = 0x72, /* プロパティ値読み出し応答 */ 100 ESV_INF = 0x73, /* プロパティ値通知 */ 101 ESV_INFC = 0x74, /* プロパティ値通知(応答要) */ 102 ESV_INFC_RES = 0x7A, /* プロパティ値通知応答 */ 103 ESV_SET_GET_RES = 0x7E, /* プロパティ値書き込み・読み出し応答 */ 104 ESV_SET_I_SNA = 0x50, /* プロパティ値書き込み要求不可応答 */ 105 ESV_SET_C_SNA = 0x51, /* プロパティ値書き込み要求不可応答 */ 106 ESV_GET_SNA = 0x52, /* プロパティ値読み出し不可応答 */ 107 ESV_INF_SNA = 0x53, /* プロパティ値通知不可応答 */ 108 ESV_SET_GET_SNA = 0x5E /* プロパティ値書き込み・読み出し不可応答 */ 125 109 } ECN_SRV_CODE; 126 110 127 111 /* 128 * ECHONET Lite é»æãããã¼112 * ECHONET Lite電文ヘッダー 129 113 */ 130 114 typedef struct 131 115 { 132 uint8_t ehd1; /* ECHONET Lite é»æãããã¼1 ECN_EHD1_ECL_VERSION */133 uint8_t ehd2; /* ECHONET Lite é»æãããã¼2 ECN_EHD2_FORMAT */134 uint16_t tid; /* ãã©ã³ã¶ã¯ã·ã§ã³ID */116 uint8_t ehd1; /* ECHONET Lite電文ヘッダー1 ECN_EHD1_ECL_VERSION */ 117 uint8_t ehd2; /* ECHONET Lite電文ヘッダー2 ECN_EHD2_FORMAT */ 118 uint16_t tid; /* トランザクションID */ 135 119 } __attribute__((packed)) T_ECN_HDR; 136 120 137 121 /* 138 * ECHONET Lite ãªãã¸ã§ã¯ãã³ã¼ã122 * ECHONET Liteオブジェクトコード 139 123 */ 140 124 typedef struct 141 125 { 142 uint8_t eojx1; /* ã¯ã©ã¹ã°ã«ã¼ãã³ã¼ã*/143 uint8_t eojx2; /* ã¯ã©ã¹ã³ã¼ã*/144 uint8_t eojx3; /* ã¤ã³ã¹ã¿ã³ã¹ã³ã¼ã*/126 uint8_t eojx1; /* クラスグループコード */ 127 uint8_t eojx2; /* クラスコード */ 128 uint8_t eojx3; /* インスタンスコード */ 145 129 } __attribute__((packed)) T_ECN_EOJ; 146 130 147 131 /* 148 * ECHONET Lite ãã¼ã¿ãããã¼132 * ECHONET Liteデータヘッダー 149 133 */ 150 134 typedef struct 151 135 { 152 T_ECN_EOJ seoj; /* éä¿¡å 153 ECHONET Liteãªãã¸ã§ã¯ãæå® */ 154 T_ECN_EOJ deoj; /* ç¸æå 155 ECHONET Liteãªãã¸ã§ã¯ãæå® */ 156 uint8_t esv; /* ECHONET Liteãµã¼ãã¹ (ECN_SRV_CODE) */ 157 uint8_t opc; /* å¦çããããã£æ° */ 136 T_ECN_EOJ seoj; /* 送信元ECHONET Liteオブジェクト指定 */ 137 T_ECN_EOJ deoj; /* 相手先ECHONET Liteオブジェクト指定 */ 138 uint8_t esv; /* ECHONET Liteサービス (ECN_SRV_CODE) */ 139 uint8_t opc; /* 処理プロパティ数 */ 158 140 } __attribute__((packed)) T_ECN_EDATA_BODY; 159 141 160 142 /* 161 * ECHONET Lite ããããã£143 * ECHONET Liteプロパティ 162 144 */ 163 145 typedef struct 164 146 { 165 uint8_t epc; /* ECHONET Lite ããããã£ã³ã¼ã*/166 uint8_t pdc; /* EDT ã®ãã¤ãæ°*/167 /*void *p_edt;*/ /* ããããã£å¤ãã¼ã¿*/147 uint8_t epc; /* ECHONET Liteプロパティコード */ 148 uint8_t pdc; /* EDTのバイト数 */ 149 /*void *p_edt;*/ /* プロパティ値データ */ 168 150 } __attribute__((packed)) T_ECN_PRP; 169 151 170 152 /* 171 * ECHONET Lite ãã¼ã¿153 * ECHONET Liteデータ 172 154 */ 173 155 typedef struct … … 179 161 180 162 /* 181 * ECHONET Lite é»æ163 * ECHONET Lite 電文 182 164 */ 183 165 typedef struct echonet_object_data … … 189 171 190 172 /* 191 * å¿çé»æ解æã¤ãã¬ã¼ã¿ã¼173 * 応答電文解析イテレーター 192 174 */ 193 175 typedef struct echonet_epc_enumerator 194 176 { 195 177 T_EDATA *pk_esv; 196 uint8_t count; /* ä»èªã¿åãä¸ã®ãããã¯ã«ããããããã£ç·æ°*/197 uint8_t got_ct; /* ä»èªã¿åãä¸ã®ãããã¯ã§ãèªã¿åã£ãæ°*/198 uint8_t next_blk_ct; /* å¾ç¶ãããã¯æ°*/199 uint8_t is_eof; /* çµç«¯ã«éããæãé0 */178 uint8_t count; /* 今読み取り中のブロックにあるプロパティ総数 */ 179 uint8_t got_ct; /* 今読み取り中のブロックで、読み取った数 */ 180 uint8_t next_blk_ct; /* 後続ブロック数 */ 181 uint8_t is_eof; /* 終端に達した時、非0 */ 200 182 int cur; 201 183 } T_ENUM_EPC; … … 204 186 205 187 /* 206 * ECHONET Lite ããããã£ã®è¨å®é¢æ°188 * ECHONET Lite プロパティの設定関数 207 189 */ 208 190 typedef int (EPRP_SETTER)(const EPRPINIB *item, const void *src, int size, bool_t *anno); 209 191 210 192 /* 211 * ECHONET Lite ããããã£ã®åå¾é¢æ°193 * ECHONET Lite プロパティの取得関数 212 194 */ 213 195 typedef int (EPRP_GETTER)(const EPRPINIB *item, void *dst, int size); 214 196 215 197 /* 216 * ECHONET Lite ããããã£åæåãããã¯198 * ECHONET Lite プロパティ初期化ブロック 217 199 */ 218 200 struct echonet_property_initialization_block 219 201 { 220 uint8_t eprpcd; /* ECHONET Lite ããããã£ã³ã¼ã */ 221 ATR eprpatr; /* ECHONET Lite ããããã£å±æ§ */ 222 uint8_t eprpsz; /* ECHONET Lite ããããã£ã®ãµã¤ãº */ 223 intptr_t exinf; /* ECHONET Lite ããããã£ã®æ¡å¼µæ 224 å ± */ 225 EPRP_SETTER *eprpset; /* ECHONET Lite ããããã£ã®è¨å®é¢æ° */ 226 EPRP_GETTER *eprpget; /* ECHONET Lite ããããã£ã®åå¾é¢æ° */ 202 uint8_t eprpcd; /* ECHONET Lite プロパティコード */ 203 ATR eprpatr; /* ECHONET Lite プロパティ属性 */ 204 uint8_t eprpsz; /* ECHONET Lite プロパティのサイズ */ 205 intptr_t exinf; /* ECHONET Lite プロパティの拡張情報 */ 206 EPRP_SETTER *eprpset; /* ECHONET Lite プロパティの設定関数 */ 207 EPRP_GETTER *eprpget; /* ECHONET Lite プロパティの取得関数 */ 227 208 }; 228 209 229 #define TMIN_EOBJID 1 /* ECHONET Lite ãªãã¸ã§ã¯ãIDã®æå°å¤*/230 231 /* 232 * ECHONET Lite ãªãã¸ã§ã¯ãåæåãããã¯210 #define TMIN_EOBJID 1 /* ECHONET Lite オブジェクトIDの最小値 */ 211 212 /* 213 * ECHONET Lite オブジェクト初期化ブロック 233 214 */ 234 215 typedef struct echonet_object_initialization_block 235 216 { 236 ATR eobjatr; /* ECHONET Lite ãªãã¸ã§ã¯ãå±æ§ */ 237 ID enodid; /* ECHONET Lite ãã¼ããããã¡ã¤ã«ãªãã¸ã§ã¯ãID */ 238 intptr_t exinf; /* ECHONET Lite ãªãã¸ã§ã¯ãã®æ¡å¼µæ 239 å ± */ 240 uint8_t eojx1; /* ECHONET Lite ãªãã¸ã§ã¯ãã®ã¯ã©ã¹ã°ã«ã¼ãã³ã¼ã */ 241 uint8_t eojx2; /* ECHONET Lite ãªãã¸ã§ã¯ãã®ã¯ã©ã¹ã³ã¼ã */ 242 uint8_t eojx3; /* ECHONET Lite ãªãã¸ã§ã¯ãã®ã¤ã³ã¹ã¿ã³ã¹ã³ã¼ã */ 243 const EPRPINIB *eprp; /* ECHONET Lite ããããã£åæåããã㯠*/ 244 uint_t eprpcnt; /* ECHONET Lite ããããã£åæåãããã¯æ° */ 217 ATR eobjatr; /* ECHONET Lite オブジェクト属性 */ 218 ID enodid; /* ECHONET Lite ノードプロファイルオブジェクトID */ 219 intptr_t exinf; /* ECHONET Lite オブジェクトの拡張情報 */ 220 uint8_t eojx1; /* ECHONET Lite オブジェクトのクラスグループコード */ 221 uint8_t eojx2; /* ECHONET Lite オブジェクトのクラスコード */ 222 uint8_t eojx3; /* ECHONET Lite オブジェクトのインスタンスコード */ 223 const EPRPINIB *eprp; /* ECHONET Lite プロパティ初期化ブロック */ 224 uint_t eprpcnt; /* ECHONET Lite プロパティ初期化ブロック数 */ 245 225 } EOBJINIB; 246 226 247 227 /* 248 * ECHONET Lite ãã¼ã管çãããã¯228 * ECHONET Lite ノード管理ブロック 249 229 */ 250 230 typedef struct echonet_object_control_block 251 231 { 252 const EOBJINIB *profile; /* ECHONET Lite ãã¼ããããã¡ã¤ã«ã¸ã®ãã¤ã³ã¿*/253 const EOBJINIB **eobjs; /* ECHONET Lite ãªãã¸ã§ã¯ããªã¹ãã¸ã®ãã¤ã³ã¿*/254 uint_t eobjcnt; /* ECHONET Lite ãªãã¸ã§ã¯ãæ°*/232 const EOBJINIB *profile; /* ECHONET Lite ノードプロファイルへのポインタ */ 233 const EOBJINIB **eobjs; /* ECHONET Lite オブジェクトリストへのポインタ */ 234 uint_t eobjcnt; /* ECHONET Lite オブジェクト数 */ 255 235 } EOBJCB; 256 236 257 237 /* 258 * ECHONET Lite ãã¼ãã¨IPã¢ãã¬ã¹ã®å¯¾å¿æ 259 å ±ãããã¯ã®å®ç¾© 238 * ECHONET Lite ノードとIPアドレスの対応情報ブロックの定義 260 239 */ 261 240 typedef struct echonet_node_address_block 262 241 { 263 bool_t inuse; /* 使ç¨ç¶æ³*/264 uint8_t ipaddr[16]; /* IP ã¢ãã¬ã¹*/242 bool_t inuse; /* 使用状況 */ 243 uint8_t ipaddr[16]; /* IPアドレス */ 265 244 } ENODADRB; 266 245 267 246 /* 268 * ECHONET Lite ãªãã¸ã§ã¯ãIDã®æ大å¤ï¼echonet_cfg.cï¼247 * ECHONET Lite オブジェクトIDの最大値(echonet_cfg.c) 269 248 */ 270 249 extern const ID tmax_eobjid; 271 250 272 251 /* 273 * ECHONET Lite ãªãã¸ã§ã¯ãåæåãããã¯ã®ã¨ãªã¢ï¼echonet_cfg.cï¼252 * ECHONET Lite オブジェクト初期化ブロックのエリア(echonet_cfg.c) 274 253 */ 275 254 extern const EOBJINIB eobjinib_table[]; 276 255 277 256 /* 278 * ECHONET Lite ãã¼ã管çãããã¯ã®æ°257 * ECHONET Liteノード管理ブロックの数 279 258 */ 280 259 extern const int tnum_enodid; 281 260 282 261 /* 283 * ECHONET Lite ãªãã¸ã§ã¯ã管çãããã¯ã®ã¨ãªã¢ï¼echonet_cfg.cï¼262 * ECHONET Lite オブジェクト管理ブロックのエリア(echonet_cfg.c) 284 263 */ 285 264 extern EOBJCB eobjcb_table[]; 286 265 287 266 /* 288 * ECHONET Liteãã¼ãã¨IPã¢ãã¬ã¹ã®å¯¾å¿æ 289 å ±ã®æ° 267 * ECHONET LiteノードとIPアドレスの対応情報の数 290 268 */ 291 269 extern const int tnum_enodadr; 292 270 293 271 /* 294 * ECHONET Lite ãã¼ãã¨IPã¢ãã¬ã¹ã®å¯¾å¿æ 295 å ±ãããã¯ã®ã¨ãªã¢ï¼echonet_cfg.cï¼ 272 * ECHONET Lite ノードとIPアドレスの対応情報ブロックのエリア(echonet_cfg.c) 296 273 */ 297 274 extern ENODADRB enodadrb_table[]; 298 275 299 276 /* 300 * ECHONET Lite ã«ã¼ãã«ãªãã¸ã§ã¯ãID277 * ECHONET Lite カーネルオブジェクトID 301 278 */ 302 279 extern const ID ecn_svc_taskid; … … 311 288 312 289 /* 313 * ECHONET Lite ãªãã¸ã§ã¯ã管çãããã¯ããECHONET Lite ãªãã¸ã§ã¯ãIDãåãåºãããã®ãã¯ã290 * ECHONET Lite オブジェクト管理ブロックからECHONET Lite オブジェクトIDを取り出すためのマクロ 314 291 */ 315 292 #define EOBJID(p_eobjcb) ((ID)(((p_eobjcb) - eobjcb_table) + TMIN_EOBJID)) 316 293 317 294 /* 318 * ECHONET Lite ãªãã¸ã§ã¯ãæ©è½ã®åæå295 * ECHONET Lite オブジェクト機能の初期化 319 296 */ 320 297 extern void initialize_echonet_object(void); … … 327 304 328 305 /* 329 * ECHONET Lite ãµã¼ãã¹å¦çéå§306 * ECHONET Liteサービス処理開始 330 307 */ 331 308 ER ecn_sta_svc(); 332 309 333 310 /* 334 * ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãéç¥ã®éä¿¡311 * インスタンスリスト通知の送信 335 312 */ 336 313 ER ecn_ntf_inl(); 337 314 338 315 /* 339 * ECHONETãªãã¸ã§ã¯ãåç 340 § 316 * ECHONETオブジェクト参照 341 317 */ 342 318 ER ecn_ref_eobj(ID eobjid, T_REOBJ *pk_eobj); 343 319 344 320 /* 345 * ECHONETããããã£åç 346 § 321 * ECHONETプロパティ参照 347 322 */ 348 323 ER ecn_ref_eprp(ID eobjid, uint8_t epc, T_RPRP *pk_eprp); 349 324 350 325 /* 351 * ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ï¼å¿çä¸è¦ï¼é»æä½æ326 * プロパティ値書き込み要求(応答不要)電文作成 352 327 */ 353 328 ER ecn_esv_seti(T_EDATA **ppk_esv, ID eobjid, uint8_t epc, uint8_t pdc, const void *p_edt); 354 329 355 330 /* 356 * ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ï¼å¿çè¦ï¼é»æä½æ331 * プロパティ値書き込み要求(応答要)電文作成 357 332 */ 358 333 ER ecn_esv_setc(T_EDATA **ppk_esv, ID eobjid, uint8_t epc, uint8_t pdc, const void *p_edt); 359 334 360 335 /* 361 * ããããã£å¤èªã¿åºãè¦æ±é»æä½æ336 * プロパティ値読み出し要求電文作成 362 337 */ 363 338 ER ecn_esv_get(T_EDATA **ppk_esv, ID eobjid, uint8_t epc); 364 339 365 340 /* 366 * ããããã£å¤éç¥è¦æ±é»æä½æ341 * プロパティ値通知要求電文作成 367 342 */ 368 343 ER ecn_esv_inf_req(T_EDATA **ppk_esv, ID eobjid, uint8_t epc); 369 344 370 345 /* 371 * ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãè¦æ±é»æä½æ346 * プロパティ値書き込み・読み出し要求電文作成 372 347 */ 373 348 ER ecn_esv_set_get(T_EDATA **ppk_esv, ID eobjid, uint8_t epc, uint8_t pdc, const void *p_edt); 374 349 375 350 /* 376 * ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãè¦æ±é»ææãè¿ãæå®351 * プロパティ値書き込み・読み出し要求電文折り返し指定 377 352 */ 378 353 ER ecn_trn_set_get(T_EDATA *pk_esv, int *p_trn_pos); 379 354 380 355 /* 381 * ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãè¦æ±é»æçµäºæå®356 * プロパティ値書き込み・読み出し要求電文終了指定 382 357 */ 383 358 ER ecn_end_set_get(T_EDATA *pk_esv, int trn_pos); 384 359 385 360 /* 386 * ããããã£å¤éç¥ï¼å¿çè¦ï¼é»æä½æ361 * プロパティ値通知(応答要)電文作成 387 362 */ 388 363 ER ecn_esv_infc(T_EDATA **ppk_esv, ID eobjid, ID seobjid, uint8_t sepc); 389 364 390 365 /* 391 * è¦æ±é»æã¸ã®ããããã£æå®è¿½å366 * 要求電文へのプロパティ指定追加 392 367 */ 393 368 ER ecn_add_epc(T_EDATA *pk_esv, uint8_t epc); 394 369 395 370 /* 396 * è¦æ±é»æã¸ã®ããããã£ãã¼ã¿è¿½å371 * 要求電文へのプロパティデータ追加 397 372 */ 398 373 ER ecn_add_edt(T_EDATA *pk_esv, uint8_t epc, uint8_t pdc, const void *p_edt); 399 374 400 375 /* 401 * è¦æ±é»æã®éä¿¡376 * 要求電文の送信 402 377 */ 403 378 ER ecn_snd_esv(T_EDATA *pk_esv); 404 379 405 380 /* 406 * å¿çé»æã®åä¿¡æ°¸é å¾ 407 ã¡ 381 * 応答電文の受信永遠待ち 408 382 */ 409 383 ER ecn_rcv_esv(T_EDATA **ppk_esv); 410 384 411 385 /* 412 * å¿çé»æã®åä¿¡å¾ 413 ã¡ã¿ã¤ã ã¢ã¦ããã 386 * 応答電文の受信待ちタイムアウトあり 414 387 */ 415 388 ER ecn_trcv_esv(T_EDATA **ppk_esv, int tmout); 416 389 417 390 /* 418 * å¿çé»æã®åä¿¡ãã¼ãªã³ã°391 * 応答電文の受信ポーリング 419 392 */ 420 393 ER ecn_prcv_esv(T_EDATA **ppk_esv); 421 394 422 395 /* 423 * å¿çé»æã®ç ´æ£396 * 応答電文の破棄 424 397 */ 425 398 ER ecn_rel_esv(T_EDATA *pk_esv); 426 399 427 400 /* 428 * å¿çé»æã®éä¿¡å 429 ãã¼ããåå¾ãã 401 * 応答電文の送信元ノードを取得する 430 402 */ 431 403 ID ecn_get_enod(T_EDATA *pk_esv); 432 404 433 405 /* 434 * å¿çé»æã®éä¿¡å 435 æ©å¨ãªãã¸ã§ã¯ããåå¾ãã 406 * 応答電文の送信元機器オブジェクトを取得する 436 407 */ 437 408 ID ecn_get_eobj(T_EDATA *pk_esv); 438 409 439 410 /* 440 * å¿çé»æ解æã¤ãã¬ã¼ã¿ã¼åæå411 * 応答電文解析イテレーター初期化 441 412 */ 442 413 ER ecn_itr_ini(T_ENUM_EPC *pk_itr, T_EDATA *pk_esv); 443 414 444 415 /* 445 * å¿çé»æ解æã¤ãã¬ã¼ã¿ã¼ã¤ã³ã¯ãªã¡ã³ã416 * 応答電文解析イテレーターインクリメント 446 417 */ 447 418 ER ecn_itr_nxt(T_ENUM_EPC *pk_itr, uint8_t *p_epc, uint8_t *p_pdc, void *p_edt); 448 419 449 420 /* 450 * å¿çé»æå¾ 451 ã¡ã®å²ãè¾¼ã¿éä¿¡ 421 * 応答電文待ちの割り込み送信 452 422 */ 453 423 ER ecn_brk_wai(const void *p_dat, int datsz); 454 424 455 425 /* 456 * å²ãè¾¼ã¿ãã¼ã¿ã®åå¾426 * 割り込みデータの取得 457 427 */ 458 428 ER ecn_get_brk_dat(T_EDATA *pk_esv, void *p_buf, int bufsz, int *p_datsz); 459 429 460 430 /* 461 * ãã¼ã¿è¨å®é¢æ°431 * データ設定関数 462 432 */ 463 433 int ecn_data_prop_set(const EPRPINIB *item, const void *src, int size, bool_t *anno); 464 434 465 435 /* 466 * ãã¼ã¿åå¾é¢æ°436 * データ取得関数 467 437 */ 468 438 int ecn_data_prop_get(const EPRPINIB *item, void *dst, int size); -
azure_iot_hub/trunk/ntshell/echonet/echonet.trb
-
Property svn:mime-type
changed from
text/x-ruby
totext/x-ruby;charset=UTF-8
r388 r389 5 5 # Copyright (C) 2014-2017 Cores Co., Ltd. Japan 6 6 # 7 # ä¸è¨èä½æ¨©è 8 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 9 # ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 10 # å¤ã»åé 11 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 12 # (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 13 # 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 14 # ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 15 # (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 16 # ç¨ã§ããå½¢ã§åé 17 å¸ããå ´åã«ã¯ï¼åé 18 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 19 # è 20 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 21 # ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 22 # (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 23 # ç¨ã§ããªãå½¢ã§åé 24 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 25 # ã¨ï¼ 26 # (a) åé 27 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 28 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 29 # ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 30 # (b) åé 31 å¸ã®å½¢æ 32 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 33 # å ±åãããã¨ï¼ 34 # (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 35 # 害ãããï¼ä¸è¨èä½æ¨©è 36 ããã³TOPPERSããã¸ã§ã¯ããå 37 責ãããã¨ï¼ 38 # ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 39 # ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 40 ããã³TOPPERSããã¸ã§ã¯ãã 41 # å 42 責ãããã¨ï¼ 43 # 44 # æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 45 ã 46 # ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 47 # ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 48 # ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 49 # ã®è²¬ä»»ãè² ããªãï¼ 7 # 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 8 # ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 9 # 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 # (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 11 # 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 12 # スコード中に含まれていること. 13 # (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 14 # 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 15 # 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 16 # の無保証規定を掲載すること. 17 # (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 18 # 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 19 # と. 20 # (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 21 # 作権表示,この利用条件および下記の無保証規定を掲載すること. 22 # (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 23 # 報告すること. 24 # (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 25 # 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 26 # また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 27 # 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 28 # 免責すること. 29 # 30 # 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 31 # よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 32 # に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 33 # アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 34 # の責任を負わない. 50 35 # 51 36 # @(#) $Id$ … … 54 39 55 40 # ===================================================================== 56 # echonet_cfg.h ã®çæ41 # echonet_cfg.hの生成 57 42 # ===================================================================== 58 43 … … 66 51 EOS 67 52 68 # ãã¼ããªã¹ãã®ä½æ53 # ノードリストの作成 69 54 $ENOD_LIST = [] 70 55 $LOCAL_NODE = [] … … 72 57 73 58 $cfgData[:ECN_CRE_EOBJ].sort.each do |key, params| 74 # ãã¼ããããã¡ã¤ã«ãªãã¸ã§ã¯ãã®å ´å59 # ノードプロファイルオブジェクトの場合 75 60 if (params[:eobjatr] & $EOBJ_LOCAL_NODE) != 0 76 61 $LOCAL_NODE << key 77 # æ©å¨ãªãã¸ã§ã¯ãã®å ´å62 # 機器オブジェクトの場合 78 63 elsif (params[:eobjatr] & ($EOBJ_SYNC_REMOTE_NODE | $EOBJ_ASYNC_REMOTE_NODE)) != 0 79 64 $REMOTE_NODE << key … … 81 66 end 82 67 83 # ãã¼ã«ã«ã®ãã¼ããããã¡ã¤ã«ã¯ï¼ã¤ã ã68 # ローカルのノードプロファイルは1つだけ 84 69 if $LOCAL_NODE.length != 1 85 70 error_exit("Local node must be only one.") … … 100 85 eprp_list = [] 101 86 prp_map_cnt = 3 102 # ãã¼ããããã¡ã¤ã«ã®å ´å87 # ノードプロファイルの場合 103 88 if (params[:eobjatr] & ($EOBJ_LOCAL_NODE | $EOBJ_SYNC_REMOTE_NODE | $EOBJ_ASYNC_REMOTE_NODE)) != 0 104 89 prp_map_cnt = prp_map_cnt + 5 … … 114 99 end 115 100 116 # ãã¼ããããã¡ã¤ã«ã®å ´å101 # ノードプロファイルの場合 117 102 if (params[:eobjatr] & ($EOBJ_LOCAL_NODE | $EOBJ_SYNC_REMOTE_NODE | $EOBJ_ASYNC_REMOTE_NODE)) != 0 118 103 if (params2[:eprpcd] >= 0xD3) && (params2[:eprpcd] <= 0xD7) … … 149 134 150 135 # ===================================================================== 151 # echonet_cfg.c ã®çæ136 # echonet_cfg.cの生成 152 137 # ===================================================================== 153 138 … … 161 146 162 147 # 163 # ã¤ã³ã¯ã«ã¼ããã£ã¬ã¯ãã£ãï¼#includeï¼148 # インクルードディレクティブ(#include) 164 149 # 165 150 $echonetCfgC.add(<<EOS) … … 178 163 179 164 # 180 # ãªãã¸ã§ã¯ãã®IDçªå·ãä¿æããå¤æ°165 # オブジェクトのID番号を保持する変数 181 166 # 182 167 if $USE_EXTERNAL_ID … … 191 176 192 177 # 193 # ECHONET Lite ããããã£178 # ECHONET Liteプロパティ 194 179 # 195 180 $echonetCfgC.add(<<EOS) … … 201 186 IncludeTrb("echonet_chk.trb") 202 187 203 # ECHONET Lite ããããã£åæåãããã¯ã®çæ188 # ECHONET Liteプロパティ初期化ブロックの生成 204 189 if $cfgData[:ECN_CRE_EOBJ].length > 0 && $cfgData[:ECN_DEF_EPRP].length > 0 205 190 $ENOD_LIST.each do |enodid| … … 225 210 226 211 $echonetCfgC.add("/*") 227 $echonetCfgC.add(" * ã¤ã³ã¹ã¿ã³ã¹æ°")212 $echonetCfgC.add(" * インスタンス数") 228 213 $echonetCfgC.add(" */") 229 214 inst_list_len = $INST_LIST.length … … 233 218 234 219 $echonetCfgC.add("/*") 235 $echonetCfgC.add(" * ã¯ã©ã¹æ°")236 $echonetCfgC.add(" */") 237 # ãã¼ããããã¡ã¤ã«ãå«ããï¼ + 1ï¼220 $echonetCfgC.add(" * クラス数") 221 $echonetCfgC.add(" */") 222 # ノードプロファイルも含める( + 1) 238 223 class_list_len = $CLASS_LIST.length + 1 239 224 $echonetCfgC.add("const uint8_t _echonet_#{$cfgData[:ECN_CRE_EOBJ][enodid][:eobjid]}_class_count[] = {") … … 242 227 243 228 $echonetCfgC.add("/*") 244 $echonetCfgC.add(" * ã¤ã³ã¹ã¿ã³ã¹ãªã¹ã")229 $echonetCfgC.add(" * インスタンスリスト") 245 230 $echonetCfgC.add(" */") 246 231 pos = 0 … … 262 247 263 248 $echonetCfgC.add("/*") 264 $echonetCfgC.add(" * ã¯ã©ã¹ãªã¹ã")249 $echonetCfgC.add(" * クラスリスト") 265 250 $echonetCfgC.add(" */") 266 251 pos = 0 … … 296 281 get_map[i] = 0x00 297 282 end 298 # 0x9D ã0x9Eã0x9Fã¯ONã«ãã¦ãã283 # 0x9D、0x9E、0x9FはONにしておく 299 284 for i in 13..15 do 300 285 anno_map[i] = anno_map[i] | 0x02 301 286 get_map[i] = get_map[i] | 0x02 302 287 end 303 # ãã¼ããããã¡ã¤ã«ã®å ´å288 # ノードプロファイルの場合 304 289 if (params[:eobjatr] & ($EOBJ_LOCAL_NODE | $EOBJ_SYNC_REMOTE_NODE | $EOBJ_ASYNC_REMOTE_NODE)) != 0 305 290 anno_map[5] = anno_map[5] | 0x20 … … 313 298 $cfgData[:ECN_DEF_EPRP].each do |key2, params2| 314 299 if params2[:eobjid] == params[:eobjid].str 315 # (0x80 <= eprpcd && eprpcd <= 0xFF) ã§ãªãå ´åï¼E_PARï¼300 # (0x80 <= eprpcd && eprpcd <= 0xFF)でない場合(E_PAR) 316 301 if !(0x80 <= params2[:eprpcd] && params2[:eprpcd] <= 0xFF) 317 302 error_illegal_sym("E_PAR", params2, :eprpcd, :eprpno) 318 303 end 319 304 320 # eprpatr ãï¼ï¼»EPC_RULE_SET] | [EPC_RULE_GET] | [EPC_RULE_ANNO] | [EPC_ANNOUNCEï¼½| [EPC_VARIABLE]ï¼ã§ãªãå ´åï¼E_RSATRï¼305 # eprpatrが([EPC_RULE_SET] | [EPC_RULE_GET] | [EPC_RULE_ANNO] | [EPC_ANNOUNCE]| [EPC_VARIABLE])でない場合(E_RSATR) 321 306 if (params2[:eprpatr] & ~($EPC_RULE_SET | $EPC_RULE_GET | $EPC_RULE_ANNO | $EPC_ANNOUNCE | $EPC_VARIABLE)) != 0 322 307 error_illegal_sym("E_RSATR", params2, :eprpatr, :eprpno) 323 308 end 324 309 325 # (0 <= eprpsz && eprpsz <= 255) ã§ãªãå ´åï¼E_PARï¼310 # (0 <= eprpsz && eprpsz <= 255)でない場合(E_PAR) 326 311 if !(0 <= params2[:eprpsz] && params2[:eprpsz] <= 255) 327 312 error_illegal_sym("E_PAR", params2, :eprpsz, :eprpno) 328 313 end 329 314 330 # ããããã£ãããã«è¨å®315 # プロパティマップに設定 331 316 pos = params2[:eprpcd] & 0xF 332 317 bit = (params2[:eprpcd] >> 4) - 8 … … 348 333 end 349 334 350 # å¿ 351 é ã¢ãã¦ã³ã¹ããããã£ãããããã§ã㯠335 # 必須アナウンスプロパティがあるかチェック 352 336 must_anno_map = getPropertyInfo(params[:eojx1], params[:eojx2], $EPC_ANNOUNCE) 353 337 i = 0 … … 359 343 end 360 344 361 # å¿ 362 é SETããããã£ãããããã§ã㯠345 # 必須SETプロパティがあるかチェック 363 346 must_set_map = getPropertyInfo(params[:eojx1], params[:eojx2], $EPC_RULE_SET) 364 347 i = 0 … … 370 353 end 371 354 372 # å¿ 373 é GETããããã£ãããããã§ã㯠355 # 必須GETプロパティがあるかチェック 374 356 must_get_map = getPropertyInfo(params[:eojx1], params[:eojx2], $EPC_RULE_GET) 375 357 i = 0 … … 382 364 383 365 $echonetCfgC.add("/*") 384 $echonetCfgC.add(" * ã¢ãã¦ã³ã¹ããããã£ããã")366 $echonetCfgC.add(" * アナウンスプロパティマップ") 385 367 $echonetCfgC.add(" */") 386 368 anno_list = anno_list.sort … … 406 388 407 389 $echonetCfgC.add("/*") 408 $echonetCfgC.add(" * SET ããããã£ããã")390 $echonetCfgC.add(" * SETプロパティマップ") 409 391 $echonetCfgC.add(" */") 410 392 set_list = set_list.sort … … 430 412 431 413 $echonetCfgC.add("/*") 432 $echonetCfgC.add(" * GET ããããã£ããã")414 $echonetCfgC.add(" * GETプロパティマップ") 433 415 $echonetCfgC.add(" */") 434 416 get_list = get_list.sort … … 454 436 455 437 $echonetCfgC.add("/*") 456 $echonetCfgC.add(" * ããããã£å®ç¾©")438 $echonetCfgC.add(" * プロパティ定義") 457 439 $echonetCfgC.add(" */") 458 440 $echonetCfgC.add("const EPRPINIB _echonet_#{params[:eobjid]}_eprpinib_table[TNUM_#{params[:eobjid]}_EPRPNO] = {") 459 441 eprp_list.each do |eprpno| 460 # ECHONET Lite ããããã£åæåãããã¯442 # ECHONET Liteプロパティ初期化ブロック 461 443 $echonetCfgC.add(" { (#{$cfgData[:ECN_DEF_EPRP][eprpno][:eprpcd]}), (#{$cfgData[:ECN_DEF_EPRP][eprpno][:eprpatr]}), (#{$cfgData[:ECN_DEF_EPRP][eprpno][:eprpsz]}), (#{$cfgData[:ECN_DEF_EPRP][eprpno][:exinf]}), (#{$cfgData[:ECN_DEF_EPRP][eprpno][:eprpset]}), (#{$cfgData[:ECN_DEF_EPRP][eprpno][:eprpget]}) },") 462 444 end 463 # ç¶æ 464 ã¢ãã¦ã³ã¹ããããã£ããã 445 # 状態アナウンスプロパティマップ 465 446 $echonetCfgC.add(" { (0x9D), (EPC_RULE_GET), #{sprintf("0x%1$x", anno_len)}, (intptr_t)_echonet_#{params[:eobjid]}_anno_prpmap, ((EPRP_SETTER *)NULL), ((EPRP_GETTER *)ecn_data_prop_get) },") 466 # Set ããããã£ããã447 # Setプロパティマップ 467 448 $echonetCfgC.add(" { (0x9E), (EPC_RULE_GET), #{sprintf("0x%1$x", set_len)}, (intptr_t)_echonet_#{params[:eobjid]}_set_prpmap, ((EPRP_SETTER *)NULL), ((EPRP_GETTER *)ecn_data_prop_get) },") 468 # Get ããããã£ããã449 # Getプロパティマップ 469 450 $echonetCfgC.append(" { (0x9F), (EPC_RULE_GET), #{sprintf("0x%1$x", get_len)}, (intptr_t)_echonet_#{params[:eobjid]}_get_prpmap, ((EPRP_SETTER *)NULL), ((EPRP_GETTER *)ecn_data_prop_get) }") 470 # ãã¼ããããã¡ã¤ã«ã®å ´å451 # ノードプロファイルの場合 471 452 if (params[:eobjatr] & ($EOBJ_LOCAL_NODE | $EOBJ_SYNC_REMOTE_NODE | $EOBJ_ASYNC_REMOTE_NODE)) != 0 472 453 $echonetCfgC.add(",") 473 # ã¤ã³ã¹ã¿ã³ã¹æ°454 # インスタンス数 474 455 $echonetCfgC.add(" { (0xD3), (EPC_RULE_GET), (3), (intptr_t)_echonet_#{params[:eobjid]}_inst_count, ((EPRP_SETTER *)NULL), ((EPRP_GETTER *)ecn_data_prop_get) },") 475 # ã¯ã©ã¹æ°456 # クラス数 476 457 $echonetCfgC.add(" { (0xD4), (EPC_RULE_GET), (2), (intptr_t)_echonet_#{params[:eobjid]}_class_count, ((EPRP_SETTER *)NULL), ((EPRP_GETTER *)ecn_data_prop_get) },") 477 # ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãéç¥458 # インスタンスリスト通知 478 459 $echonetCfgC.add(" { (0xD5), (EPC_RULE_ANNO), sizeof(_echonet_#{params[:eobjid]}_inst_list), (intptr_t)_echonet_#{params[:eobjid]}_inst_list, ((EPRP_SETTER *)NULL), ((EPRP_GETTER *)ecn_data_prop_get) },") 479 # ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãS460 # インスタンスリストS 480 461 $echonetCfgC.add(" { (0xD6), (EPC_RULE_GET), sizeof(_echonet_#{params[:eobjid]}_inst_list), (intptr_t)_echonet_#{params[:eobjid]}_inst_list, ((EPRP_SETTER *)NULL), ((EPRP_GETTER *)ecn_data_prop_get) },") 481 # ã¯ã©ã¹ãªã¹ãS462 # クラスリストS 482 463 $echonetCfgC.add(" { (0xD7), (EPC_RULE_GET), sizeof(_echonet_#{params[:eobjid]}_class_list), (intptr_t)_echonet_#{params[:eobjid]}_class_list, ((EPRP_SETTER *)NULL), ((EPRP_GETTER *)ecn_data_prop_get) }") 483 464 else … … 492 473 493 474 # 494 # ECHONET Lite ãªãã¸ã§ã¯ã475 # ECHONET Liteオブジェクト 495 476 # 496 477 $echonetCfgC.add("/*") … … 499 480 $echonetCfgC.add 500 481 501 # ECHONET Lite ãªãã¸ã§ã¯ãIDçªå·ã®æ大å¤482 # ECHONET LiteオブジェクトID番号の最大値 502 483 $echonetCfgC.add("const ID _echonet_tmax_eobjid = (TMIN_EOBJID + TNUM_EOBJID - 1);") 503 484 $echonetCfgC.add 504 485 505 # ECHONET Lite ãªãã¸ã§ã¯ãåæåãããã¯ã®çæ486 # ECHONET Liteオブジェクト初期化ブロックの生成 506 487 if $cfgData[:ECN_CRE_EOBJ].length > 0 507 488 $echonetCfgC.add("const EOBJINIB _echonet_eobjinib_table[TNUM_EOBJID] = {") 508 489 $cfgData[:ECN_CRE_EOBJ].each_with_index do |(key, params), index| 509 490 $echonetCfgC.add(",") if index > 0 510 # eobjatr ãï¼ï¼»EOBJ_LOCAL_NODE] | [EOBJ_SYNC_REMOTE_NODE] | [EOBJ_ASYNC_REMOTE_NODE] | [EOBJ_DEVICEï¼½ï¼ã§ãªãå ´åï¼E_RSATRï¼491 # eobjatrが([EOBJ_LOCAL_NODE] | [EOBJ_SYNC_REMOTE_NODE] | [EOBJ_ASYNC_REMOTE_NODE] | [EOBJ_DEVICE])でない場合(E_RSATR) 511 492 if (params[:eobjatr] & ~($EOBJ_LOCAL_NODE | $EOBJ_SYNC_REMOTE_NODE | $EOBJ_ASYNC_REMOTE_NODE | $EOBJ_DEVICE)) != 0 512 493 error_illegal_sym("E_RSATR", params, :eobjatr, :eobjid) 513 494 end 514 495 515 # ãã¼ããããã¡ã¤ã«ãªãã¸ã§ã¯ãã®å ´å496 # ノードプロファイルオブジェクトの場合 516 497 if (params[:eobjatr] & ($EOBJ_LOCAL_NODE | $EOBJ_SYNC_REMOTE_NODE | $EOBJ_ASYNC_REMOTE_NODE)) != 0 517 # (enodid == EOBJ_NULL) ã§ãªãå ´åï¼E_PARï¼498 # (enodid == EOBJ_NULL)でない場合(E_PAR) 518 499 if params[:enodid] != "EOBJ_NULL" 519 500 error_illegal_sym("E_PAR", params, :enodid, :eobjid) 520 501 end 521 502 522 # (eojx1 == EOJ_X1_PROFILE) ã§ãªãå ´åï¼E_PARï¼503 # (eojx1 == EOJ_X1_PROFILE)でない場合(E_PAR) 523 504 if params[:eojx1] != $EOJ_X1_PROFILE 524 505 error_illegal_sym("E_PAR", params, :eojx1, :eobjid) 525 506 end 526 507 527 # (eojx2 == EOJ_X2_NODE_PROFILE) ã§ãªãå ´åï¼E_PARï¼508 # (eojx2 == EOJ_X2_NODE_PROFILE)でない場合(E_PAR) 528 509 if params[:eojx2] != $EOJ_X2_NODE_PROFILE 529 510 error_illegal_sym("E_PAR", params, :eojx2, :eobjid) 530 511 end 531 512 532 # (1 <= eojx3 && eojx3 <= 2) ã§ãªãå ´åï¼E_PARï¼513 # (1 <= eojx3 && eojx3 <= 2)でない場合(E_PAR) 533 514 if !(1 <= params[:eojx3] && params[:eojx3] <= 2) 534 515 error_illegal_sym("E_PAR", params, :eojx3, :eobjid) 535 516 end 536 # æ©å¨ãªãã¸ã§ã¯ãã®å ´å537 else 538 # (enodid != EOBJ_NULL) ã§ãªãå ´åï¼E_PARï¼517 # 機器オブジェクトの場合 518 else 519 # (enodid != EOBJ_NULL)でない場合(E_PAR) 539 520 if params[:enodid] == "EOBJ_NULL" 540 521 error_illegal_sym("E_PAR", params, :enodid, :eobjid) 541 522 end 542 523 543 # (0 <= eojx1 && eojx1 <= 255) ã§ãªãå ´åï¼E_PARï¼524 # (0 <= eojx1 && eojx1 <= 255)でない場合(E_PAR) 544 525 if !(0 <= params[:eojx1] && params[:eojx1] <= 255) 545 526 error_illegal_sym("E_PAR", params, :eojx1, :eobjid) 546 527 end 547 528 548 # (0 <= eojx2 && eojx2 <= 255) ã§ãªãå ´åï¼E_PARï¼529 # (0 <= eojx2 && eojx2 <= 255)でない場合(E_PAR) 549 530 if !(0 <= params[:eojx2] && params[:eojx2] <= 255) 550 531 error_illegal_sym("E_PAR", params, :eojx2, :eobjid) 551 532 end 552 533 553 # (0 <= eojx3 && eojx3 <= 255) ã§ãªãå ´åï¼E_PARï¼534 # (0 <= eojx3 && eojx3 <= 255)でない場合(E_PAR) 554 535 if !(0 <= params[:eojx3] && params[:eojx3] <= 255) 555 536 error_illegal_sym("E_PAR", params, :eojx3, :eobjid) … … 557 538 end 558 539 559 # ECHONET Lite ãªãã¸ã§ã¯ãåæåãããã¯540 # ECHONET Liteオブジェクト初期化ブロック 560 541 $echonetCfgC.append(" { (#{params[:eobjatr]}), (#{params[:enodid]}), (#{params[:exinf]}), (#{params[:eojx1]}), (#{params[:eojx2]}), (#{params[:eojx3]}), _echonet_#{params[:eobjid]}_eprpinib_table, TNUM_#{params[:eobjid]}_EPRPNO }") 561 542 end … … 567 548 $echonetCfgC.add 568 549 569 # ECHONET Lite ãã¼ã管çãããã¯ã®æ°550 # ECHONET Liteノード管理ブロックの数 570 551 $echonetCfgC.add2("const int _echonet_tnum_enodid = TNUM_ENODID;") 571 552 572 553 # 573 # ECHONET Lite ãã¼ã管çãããã¯554 # ECHONET Liteノード管理ブロック 574 555 # 575 556 $echonetCfgC.add("/*") … … 577 558 $echonetCfgC.add(" */") 578 559 $echonetCfgC.add 579 # ECHONET Liteãã¼ãã¨IPã¢ãã¬ã¹ã®å¯¾å¿æ 580 å ±ãããã¯ã®çæ 560 # ECHONET LiteノードとIPアドレスの対応情報ブロックの生成 581 561 $ENOD_LIST.each do |enodid| 582 562 eobjid = $cfgData[:ECN_CRE_EOBJ][enodid][:eobjid].str … … 588 568 end 589 569 $echonetCfgC.add("/*") 590 $echonetCfgC.add(" * ãã¼ãã«æå±ããæ©å¨ãªãã¸ã§ã¯ãã®ä¸è¦§")570 $echonetCfgC.add(" * ノードに所属する機器オブジェクトの一覧") 591 571 $echonetCfgC.add(" */") 592 572 $echonetCfgC.add("const EOBJINIB *_echonet_#{$cfgData[:ECN_CRE_EOBJ][enodid][:eobjid]}_eobjinib_table[TNUM_#{$cfgData[:ECN_CRE_EOBJ][enodid][:eobjid]}_EOBJNO] = {") … … 602 582 if $ENOD_LIST.length > 0 603 583 $echonetCfgC.add("/*") 604 $echonetCfgC.add(" * ECHONET Lite ãã¼ã管çãããã¯")584 $echonetCfgC.add(" * ECHONET Liteノード管理ブロック") 605 585 $echonetCfgC.add(" */") 606 586 $echonetCfgC.add("EOBJCB _echonet_eobjcb_table[TNUM_ENODID] = {") … … 616 596 $echonetCfgC.add 617 597 618 # ECHONET Liteãã¼ãã¨IPã¢ãã¬ã¹ã®å¯¾å¿æ 619 å ±ã®æ° 598 # ECHONET LiteノードとIPアドレスの対応情報の数 620 599 $echonetCfgC.add("const int _echonet_tnum_enodadr = TNUM_ENODADR;") 621 600 $echonetCfgC.add 622 601 623 602 # 624 # ECHONET Liteãã¼ãã¨IPã¢ãã¬ã¹ã®å¯¾å¿æ 625 å ± 603 # ECHONET LiteノードとIPアドレスの対応情報 626 604 # 627 605 $echonetCfgC.add("/*") … … 630 608 $echonetCfgC.add 631 609 632 # ECHONET Liteãã¼ãã¨IPã¢ãã¬ã¹ã®å¯¾å¿æ 633 å ±ãããã¯ã®çæ 610 # ECHONET LiteノードとIPアドレスの対応情報ブロックの生成 634 611 if $cfgData[:ECN_CRE_EOBJ].length > 0 635 612 $echonetCfgC.add("ENODADRB _echonet_enodadrb_table[TNUM_ENODADR] = {") … … 652 629 653 630 # 654 # ECHONET Lite ã«ã¼ãã«ãªãã¸ã§ã¯ãID631 # ECHONET Lite カーネルオブジェクトID 655 632 # 656 633 $echonetCfgC.add(<<EOS) … … 670 647 671 648 # 672 # ECHONET Lite TINET ãªãã¸ã§ã¯ãID649 # ECHONET Lite TINETオブジェクトID 673 650 # 674 651 $echonetCfgC.add2("const ID _echonet_ecn_udp_cepid = ECHONET_UDP_CEPID;") -
Property svn:mime-type
changed from
-
azure_iot_hub/trunk/ntshell/echonet/echonet_agent.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;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 … … 194 179 195 180 /* 196 * ãã¥ã¼ã®åæå181 * キューの初期化 197 182 * 198 * p_queue ã«ã¯ãã¥ã¼ããããæå®ããï¼183 * p_queueにはキューヘッダを指定する. 199 184 */ 200 185 Inline void … … 209 194 210 195 /* 211 * ãã¥ã¼ã®åã¨ã³ããªã¸ã®æ¿å 212 ¥ 196 * キューの前エントリへの挿入 213 197 * 214 * p_queueã®åã«p_entryãæ¿å 215 ¥ããï¼p_queueã«ãã¥ã¼ããããæå®ããå ´ 216 * åã«ã¯ï¼ãã¥ã¼ã®æ«å°¾ã«p_entryãæ¿å 217 ¥ãããã¨ã«ãªãï¼ 198 * p_queueの前にp_entryを挿入する.p_queueにキューヘッダを指定した場 199 * 合には,キューの末尾にp_entryを挿入することになる. 218 200 */ 219 201 Inline void … … 231 213 232 214 /* 233 * ã¨ã³ããªã®åé¤215 * エントリの削除 234 216 * 235 * p_entry ããã¥ã¼ããåé¤ããï¼217 * p_entryをキューから削除する. 236 218 */ 237 219 Inline void … … 346 328 int i = eobjid; 347 329 348 /* ãªãã¸ã§ã¯ãIDããå®ä½ãåå¾*/330 /* オブジェクトIDから実体を取得 */ 349 331 i -= (tmax_eobjid + 1); 350 332 if ((i < 0) … … 357 339 return false; 358 340 359 /* ãªãã¸ã§ã¯ãã®EOJãã³ãã¼*/341 /* オブジェクトのEOJをコピー */ 360 342 memcpy(eoj, &buf->obj.inib.eojx1, sizeof(*eoj)); 361 343 362 /* æå±ãããã¼ãã®ãªãã¸ã§ã¯ãIDãåå¾*/344 /* 所属するノードのオブジェクトIDを取得 */ 363 345 if(buf->obj.inib.enodid == 0) 364 346 i = buf->obj.eobjId; … … 372 354 } 373 355 374 /* ãã¼ãIDãåå¾*/356 /* ノードIDを取得 */ 375 357 buf = &agent->blockes[i]; 376 358 *enodid = buf->node.enodId; … … 413 395 T_ECN_EOJ *eoj, *end; 414 396 415 // ããããã£éç¥ãåå¾å¿çã§ã397 // プロパティ通知か取得応答で、 416 398 switch (esv->hdr.edata.esv) { 417 399 case ESV_GET_RES: … … 423 405 } 424 406 425 // ãã¼ããããã¡ã¤ã«å®ã®å ´å407 // ノードプロファイル宛の場合 426 408 eoj = &esv->hdr.edata.seoj; 427 409 if ((eoj->eojx1 != EOJ_X1_PROFILE) || (eoj->eojx2 != EOJ_X2_NODE_PROFILE) … … 436 418 while (ecn_itr_nxt(&enm, &epc, &pdc, &edt) == E_OK) { 437 419 switch (epc) { 438 // ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãéç¥ã®å ´å420 // インスタンスリスト通知の場合 439 421 case 0xD5: 440 // èªãã¼ãã¤ã³ã¹ã¿ã³ã¹ãªã¹ãï¼³éç¥ã®å ´å422 // 自ノードインスタンスリストS通知の場合 441 423 case 0xD6: 442 // ãµã¤ãºãåããªãå ´å424 // サイズが合わない場合 443 425 if (pdc != (1 + edt[0] * sizeof(T_ECN_EOJ))) 444 426 return NULL; … … 736 718 ecn_obj_t *sobj; 737 719 738 /* éçã«å®ç¾©ãããéä¿¡å 739 ã®å ´å */ 720 /* 静的に定義された送信元の場合 */ 740 721 if ((*ppk_snod != NULL) && (*ppk_snod)->eobjs != NULL) { 741 /* å¦çããªã*/722 /* 処理しない */ 742 723 return; 743 724 } … … 745 726 snod = ecn_agent_find_node2(*ppk_snod); 746 727 747 /* éä¿¡å 748 ãç¥ããªãã£ãã */ 728 /* 送信元を知らなかったら */ 749 729 if (snod == NULL) { 750 /* éä¿¡å 751 ã®ãã¼ãæ 752 å ±ãæ°è¦ã«ä½æ */ 730 /* 送信元のノード情報を新規に作成 */ 753 731 snod = ecn_agent_create_node(agent, esv); 754 732 if (snod == NULL) … … 758 736 sobj = ecn_agent_find_obj2(snod, *ppk_sobj); 759 737 760 /* ãã¼ããããã¡ã¤ã«ã®å ´å*/738 /* ノードプロファイルの場合 */ 761 739 if ((esv->hdr.edata.seoj.eojx1 == EOJ_X1_PROFILE) 762 740 && (esv->hdr.edata.seoj.eojx2 == EOJ_X2_NODE_PROFILE)) { 763 741 sobj = &snod->base; 764 742 } 765 /* æ©å¨ãªãã¸ã§ã¯ãã®å ´å*/743 /* 機器オブジェクトの場合 */ 766 744 else { 767 745 sobj = ecn_agent_find_eobj(&snod->eobj, esv->hdr.edata.seoj); … … 808 786 ecn_obj_t *obj = node->current; 809 787 810 // ããããã£å¤èªã¿åºãè¦æ±788 // プロパティ値読み出し要求 811 789 ecn_esv_get(&esv, obj->eobjId, 0x9E); 812 790 ecn_snd_esv(esv); … … 821 799 ecn_obj_t *obj = node->current; 822 800 823 // ããããã£å¤èªã¿åºãè¦æ±801 // プロパティ値読み出し要求 824 802 ecn_esv_get(&esv, obj->eobjId, 0x9F); 825 803 ecn_snd_esv(esv); … … 834 812 ecn_obj_t *obj = node->current; 835 813 836 // ããããã£å¤èªã¿åºãè¦æ±814 // プロパティ値読み出し要求 837 815 ecn_esv_get(&esv, obj->eobjId, 0x9D); 838 816 ecn_snd_esv(esv); … … 848 826 ecn_device_t *device; 849 827 850 /* obj ãæå®ããã¦ããªãå ´å*/828 /* objが指定されていない場合 */ 851 829 if(obj == NULL){ 852 /* ãã®ãã¼ããè¿ã*/830 /* このノードを返す */ 853 831 node->current = &node->base; 854 832 return; 855 833 } 856 /* ãã¼ãã®å ´å*/834 /* ノードの場合 */ 857 835 else if((obj->inib.eojx1 == EOJ_X1_PROFILE) && (obj->inib.eojx2 == EOJ_X2_NODE_PROFILE)){ 858 836 node = (ecn_node_t *)obj; 859 837 860 /* é 861 ä¸ã®æ©å¨ãè¿ã */ 838 /* 配下の機器を返す */ 862 839 queue = node->devices.p_next; 863 840 device = (ecn_device_t *)cast_obj(queue); 864 841 } 865 /* æ©å¨ã®å ´å*/842 /* 機器の場合 */ 866 843 else{ 867 /* 次ã®æ©å¨ãè¿ã*/844 /* 次の機器を返す */ 868 845 node = ((ecn_device_t *)obj)->node; 869 846 queue = cast_queue(obj)->p_next; … … 871 848 } 872 849 873 /* ãã®æ©å¨ãæ«å°¾ã ã£ãå ´å*/850 /* その機器が末尾だった場合 */ 874 851 if(&node->devices == queue){ 875 852 node->current = NULL; … … 1000 977 bool_t has = false; 1001 978 1002 /* ãã¼ãã®å ´åã¯ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãéç¥ã¨èªãã¼ãã¤ã³ã¹ã¿ã³ã¹ãªã¹ãï¼³éç¥ãå¿ 1003 é ã§åãåã */ 979 /* ノードの場合はインスタンスリスト通知と自ノードインスタンスリストS通知を必須で受け取る */ 1004 980 if ((fp_obj->enodid == 0) && ((fa_epc == 0xD5) || (fa_epc == 0xD6))) 1005 981 has = true; … … 1035 1011 1036 1012 switch (item->eprpcd) { 1037 /* ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãéç¥ã®å ´å*/1013 /* インスタンスリスト通知の場合 */ 1038 1014 case 0xD5: 1039 /* èªãã¼ãã¤ã³ã¹ã¿ã³ã¹ãªã¹ãï¼³éç¥ã®å ´å*/1015 /* 自ノードインスタンスリストS通知の場合 */ 1040 1016 case 0xD6: 1041 1017 if ((node != NULL) && (node->state == ecn_node_state_idle)) { … … 1055 1031 } 1056 1032 break; 1057 /* éç¥ããããã£ãããã®å ´å*/1033 /* 通知プロパティマップの場合 */ 1058 1034 case 0x9D: 1059 1035 eprpcnt = edt[0]; 1060 1036 1061 1037 if (eprpcnt < 16) { 1062 /* ãµã¤ãºãã§ãã¯*/1038 /* サイズチェック */ 1063 1039 if (eprpcnt + 1 != size) 1064 1040 return 0; … … 1068 1044 } 1069 1045 else { 1070 /* ãµã¤ãºãã§ãã¯*/1046 /* サイズチェック */ 1071 1047 if (size != 17) 1072 1048 return 0; … … 1077 1053 sobj->pmapFlag |= PMAP_FLAG_ANNO; 1078 1054 break; 1079 /* SET ããããã£ãããã®å ´å*/1055 /* SETプロパティマップの場合 */ 1080 1056 case 0x9E: 1081 1057 eprpcnt = edt[0]; 1082 1058 1083 1059 if (eprpcnt < 16) { 1084 /* ãµã¤ãºãã§ãã¯*/1060 /* サイズチェック */ 1085 1061 if (eprpcnt + 1 != size) 1086 1062 return 0; … … 1090 1066 } 1091 1067 else { 1092 /* ãµã¤ãºãã§ãã¯*/1068 /* サイズチェック */ 1093 1069 if (size != 17) 1094 1070 return 0; … … 1099 1075 sobj->pmapFlag |= PMAP_FLAG_SET; 1100 1076 break; 1101 /* GET ããããã£ãããã®å ´å*/1077 /* GETプロパティマップの場合 */ 1102 1078 case 0x9F: 1103 1079 eprpcnt = edt[0]; 1104 1080 1105 1081 if (eprpcnt < 16) { 1106 /* ãµã¤ãºãã§ãã¯*/1082 /* サイズチェック */ 1107 1083 if (eprpcnt + 1 != size) 1108 1084 return 0; … … 1112 1088 } 1113 1089 else { 1114 /* ãµã¤ãºãã§ãã¯*/1090 /* サイズチェック */ 1115 1091 if (size != 17) 1116 1092 return 0; -
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 -
azure_iot_hub/trunk/ntshell/echonet/echonet_api.def
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/echonet/echonet_asp.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain;charset=UTF-8
r388 r389 4 4 * Copyright (C) 2014 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 … … 59 44 60 45 /* 61 * ECHONET Lite é»æç¨ã¡ã¢ãª46 * ECHONET Lite 電文用メモリ 62 47 */ 63 48 #ifndef ECHONET_USE_MALLOC … … 66 51 67 52 /* 68 * ECHONET Lite API ç¨ãã¼ã¿ãã¥ã¼53 * ECHONET Lite API用データキュー 69 54 */ 70 55 CRE_DTQ(ECHONET_API_DATAQUEUE, { TA_TFIFO, ECHONET_API_DATAQUEUE_COUNT, NULL }); 71 56 72 57 /* 73 * ECHONET Lite ãµã¼ãã¹å¦çã¿ã¹ã¯ç¨ãã¼ã¿ãã¥ã¼58 * ECHONET Lite サービス処理タスク用データキュー 74 59 */ 75 60 CRE_DTQ(ECHONET_SVC_DATAQUEUE, { TA_TFIFO, ECHONET_SVC_DATAQUEUE_COUNT, NULL }); 76 61 77 62 /* 78 * ECHONET Lite ãµã¼ãã¹å¦çã¿ã¹ã¯63 * ECHONET Lite サービス処理タスク 79 64 */ 80 65 CRE_TSK(ECHONET_SVC_TASK, { TA_HLNG, 0, echonet_task, ECHONET_TASK_PRIORITY, ECHONET_TASK_STACK_SIZE, NULL }); 81 66 82 67 /* 83 * ECHONET Lite UDP éä¿¡å¦çç¨ãã¼ã¿ãã¥ã¼68 * ECHONET Lite UDP通信処理用データキュー 84 69 */ 85 70 CRE_DTQ(ECHONET_UDP_DATAQUEUE, { TA_TFIFO, ECHONET_UDP_DATAQUEUE_COUNT, NULL }); 86 71 87 72 /* 88 * ECHONET Lite UDP éä¿¡å¦çã¿ã¹ã¯73 * ECHONET Lite UDP通信処理タスク 89 74 */ 90 75 CRE_TSK(ECHONET_UDP_TASK, { TA_HLNG, 0, echonet_udp_task, ECHONET_UDP_TASK_PRIORITY, ECHONET_UDP_TASK_STACK_SIZE, NULL }); -
azure_iot_hub/trunk/ntshell/echonet/echonet_chk.trb
-
Property svn:mime-type
changed from
text/x-ruby
totext/x-ruby;charset=UTF-8
r388 r389 5 5 # Copyright (C) 2014 Cores Co., Ltd. Japan 6 6 # 7 # ä¸è¨èä½æ¨©è 8 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 9 # ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 10 # å¤ã»åé 11 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 12 # (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 13 # 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 14 # ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 15 # (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 16 # ç¨ã§ããå½¢ã§åé 17 å¸ããå ´åã«ã¯ï¼åé 18 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 19 # è 20 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 21 # ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 22 # (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 23 # ç¨ã§ããªãå½¢ã§åé 24 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 25 # ã¨ï¼ 26 # (a) åé 27 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 28 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 29 # ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 30 # (b) åé 31 å¸ã®å½¢æ 32 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 33 # å ±åãããã¨ï¼ 34 # (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 35 # 害ãããï¼ä¸è¨èä½æ¨©è 36 ããã³TOPPERSããã¸ã§ã¯ããå 37 責ãããã¨ï¼ 38 # ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 39 # ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 40 ããã³TOPPERSããã¸ã§ã¯ãã 41 # å 42 責ãããã¨ï¼ 7 # 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 8 # ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 9 # 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 # (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 11 # 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 12 # スコード中に含まれていること. 13 # (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 14 # 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 15 # 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 16 # の無保証規定を掲載すること. 17 # (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 18 # 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 19 # と. 20 # (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 21 # 作権表示,この利用条件および下記の無保証規定を掲載すること. 22 # (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 23 # 報告すること. 24 # (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 25 # 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 26 # また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 27 # 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 28 # 免責すること. 43 29 # 44 # æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 45 ã 46 # ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 47 # ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 48 # ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 49 # ã®è²¬ä»»ãè² ããªãï¼ 30 # 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 31 # よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 32 # に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 33 # アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 34 # の責任を負わない. 50 35 # 51 36 # @(#) $Id$ … … 54 39 55 40 # ===================================================================== 56 # å¿ 57 é ããããã£ã®ãã§ã㯠41 # 必須プロパティのチェック 58 42 # ===================================================================== 59 43 60 # ãããã¡ã¤ã«ãªãã¸ã§ã¯ãã¹ã¼ãã¼ã¯ã©ã¹44 # プロファイルオブジェクトスーパークラス 61 45 class ProfileObjectSuperClass 62 46 EPC = [ 0x88, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x9D, 0x9E, 0x9F ] … … 64 48 end 65 49 66 # ãã¼ããããã¡ã¤ã«ã¯ã©ã¹50 # ノードプロファイルクラス 67 51 class NodeProfileClass 68 52 EPC = [ 0x80, 0x82, 0x83, 0x89, 0xBF, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7 ] … … 70 54 end 71 55 72 # æ©å¨ãªãã¸ã§ã¯ãã¹ã¼ãã¼ã¯ã©ã¹56 # 機器オブジェクトスーパークラス 73 57 class DeviceSuperClass 74 58 EPC = [ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x93, 0x97, 0x98, 0x99, 0x9A, 0x9D, 0x9E, 0x9F ] -
Property svn:mime-type
changed from
-
azure_iot_hub/trunk/ntshell/echonet/echonet_class.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) 2014 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$ … … 54 39 #define ECHONET_CLASS_H 55 40 56 /* ã»ã³ãµã¼é¢é£æ©å¨*/41 /* センサー関連機器 */ 57 42 #define EOJ_X1_SENSOR 0x00 58 43 59 /* 空調é¢é£æ©å¨*/44 /* 空調関連機器 */ 60 45 #define EOJ_X1_AIR_CONDITIONER 0x01 61 46 62 /* ä½å® 63 ã»è¨åé¢é£æ©å¨ */ 47 /* 住宅・設備関連機器 */ 64 48 #define EOJ_X1_AMENITY 0x02 65 49 66 /* 調çã»å®¶äºé¢é£æ©å¨*/50 /* 調理・家事関連機器 */ 67 51 #define EOJ_X1_HOUSEWORK 0x03 68 52 69 /* å¥åº·é¢é£æ©å¨*/53 /* 健康関連機器 */ 70 54 #define EOJ_X1_WELLNESS 0x04 71 55 72 /* 管çã»æä½é¢é£æ©å¨*/56 /* 管理・操作関連機器 */ 73 57 #define EOJ_X1_CONTROLLER 0x05 74 58 75 /* AV é¢é£æ©å¨*/59 /* AV関連機器 */ 76 60 #define EOJ_X1_AUDIO_VISUAL 0x06 77 61 78 /* ãããã¡ã¤ã«*/62 /* プロファイル */ 79 63 #define EOJ_X1_PROFILE 0x0E 80 64 81 /* ã¦ã¼ã¶ã¼å®ç¾©*/65 /* ユーザー定義 */ 82 66 #define EOJ_X1_USER_DEFINED 0x0F 83 67 84 68 /* 85 * ã»ã³ãµé¢é£æ©å¨ã¯ã©ã¹ã°ã«ã¼ã*86 */ 87 /* ã¬ã¹æ¼ãã»ã³ãµ*/69 * センサ関連機器クラスグループ * 70 */ 71 /* ガス漏れセンサ */ 88 72 #define EOJ_X2_GAS_LEAK_SENSOR 0x01 89 73 90 /* é²ç¯ã»ã³ãµ*/74 /* 防犯センサ */ 91 75 #define EOJ_X2_CRIME_PREVENTION_SENSOR 0x02 92 76 93 /* é常ãã¿ã³*/77 /* 非常ボタン */ 94 78 #define EOJ_X2_EMERGENCY_BUTTON 0x03 95 79 96 /* ææ¥ç¨ã»ã³ãµ*/80 /* 救急用センサ */ 97 81 #define EOJ_X2_FIRST_AID_SENSOR 0x04 98 82 99 /* å°éã»ã³ãµ*/83 /* 地震センサ */ 100 84 #define EOJ_X2_EARTHQUAKE_SENSOR 0x05 101 85 102 /* æ¼é»ã»ã³ãµ*/86 /* 漏電センサ */ 103 87 #define EOJ_X2_ELECTRIC_LEAK_SENSOR 0x06 104 88 105 /* 人ä½æ¤ç¥ã»ã³ãµ*/89 /* 人体検知センサ */ 106 90 #define EOJ_X2_HUMAN_DETECTION_SENSOR 0x07 107 91 108 /* æ¥å®¢ã»ã³ãµ*/92 /* 来客センサ */ 109 93 #define EOJ_X2_VISITOR_SENSOR 0x08 110 94 111 /* å¼ã³åºãã»ã³ãµ*/95 /* 呼び出しセンサ */ 112 96 #define EOJ_X2_CALL_SENSOR 0x09 113 97 114 /* çµé²ã»ã³ãµ*/98 /* 結露センサ */ 115 99 #define EOJ_X2_CONDENSATION_SENSOR 0x0A 116 100 117 /* 空æ°æ±æã»ã³ãµ*/101 /* 空気汚染センサ */ 118 102 #define EOJ_X2_AIR_POLLUTION_SENSOR 0x0B 119 103 120 /* é 121 ¸ç´ ã»ã³ãµ */ 104 /* 酸素センサ */ 122 105 #define EOJ_X2_OXYGEN_SENSOR 0x0C 123 106 124 /* ç 125 §åº¦ã»ã³ãµ */ 107 /* 照度センサ */ 126 108 #define EOJ_X2_ILLUMINANCE_SENSOR 0x0D 127 109 128 /* é³ã»ã³ãµ*/110 /* 音センサ */ 129 111 #define EOJ_X2_SOUND_SENSOR 0x0E 130 112 131 /* æå½ã»ã³ãµ*/113 /* 投函センサ */ 132 114 #define EOJ_X2_MAILING_SENSOR 0x0F 133 115 134 /* éè·ã»ã³ãµ*/116 /* 重荷センサ */ 135 117 #define EOJ_X2_WEIGHT_SENSOR 0x10 136 118 137 /* 温度ã»ã³ãµ*/119 /* 温度センサ */ 138 120 #define EOJ_X2_TEMPERATURE_SENSOR 0x11 139 121 140 /* 湿度ã»ã³ãµ*/122 /* 湿度センサ */ 141 123 #define EOJ_X2_HUMIDITY_SENSOR 0x12 142 124 143 /* é¨ã»ã³ãµ*/125 /* 雨センサ */ 144 126 #define EOJ_X2_RAIN_SENSOR 0x13 145 127 146 /* æ°´ä½ã»ã³ãµ*/128 /* 水位センサ */ 147 129 #define EOJ_X2_WATER_LEVEL_SENSOR 0x14 148 130 149 /* 風åæ°´ä½ã»ã³ãµ*/131 /* 風呂水位センサ */ 150 132 #define EOJ_X2_BATH_WATER_LEVEL_SENSOR 0x15 151 133 152 /* 風å沸ãä¸ããã»ã³ãµ*/134 /* 風呂沸き上がりセンサ */ 153 135 #define EOJ_X2_BATH_HEATING_STATUS_SENSOR 0x16 154 136 155 /* æ°´æ¼ãã»ã³ãµ*/137 /* 水漏れセンサ */ 156 138 #define EOJ_X2_WATER_LEAK_SENSOR 0x17 157 139 158 /* æ°´ããµãã»ã³ãµ*/140 /* 水あふれセンサ */ 159 141 #define EOJ_X2_WATER_OVERFLOW_SENSOR 0x18 160 142 161 /* ç«ç½ã»ã³ãµ*/143 /* 火災センサ */ 162 144 #define EOJ_X2_FIRE_SENSOR 0x19 163 145 164 /* ã¿ãã³ç 165 ã»ã³ãµ */ 146 /* タバコ煙センサ */ 166 147 #define EOJ_X2_CIGARETTE_SMOKE_SENSOR 0x1A 167 148 168 /* COï¼ã»ã³ãµ*/149 /* CO2センサ */ 169 150 #define EOJ_X2_CO2_SENSOR 0x1B 170 151 171 /* ã¬ã¹ã»ã³ãµ*/152 /* ガスセンサ */ 172 153 #define EOJ_X2_GAS_SENSOR 0x1C 173 154 174 /* VOCã»ã³ãµ*/155 /* VOCセンサ */ 175 156 #define EOJ_X2_VOC_SENSOR 0x1D 176 157 177 /* å·®å§ã»ã³ãµ*/158 /* 差圧センサ */ 178 159 #define EOJ_X2_DIFFERENTIAL_PRESSURE_SENSOR 0x1E 179 160 180 /* 風éã»ã³ãµ*/161 /* 風速センサ */ 181 162 #define EOJ_X2_AIR_SPEED_SENSOR 0x1F 182 163 183 /* èãã»ã³ãµ*/164 /* 臭いセンサ */ 184 165 #define EOJ_X2_ODOR_SENSOR 0x20 185 166 186 /* çã»ã³ãµ*/167 /* 炎センサ */ 187 168 #define EOJ_X2_FLAME_SENSOR 0x21 188 169 189 /* é»åéã»ã³ãµ*/170 /* 電力量センサ */ 190 171 #define EOJ_X2_ELECTRIC_ENERGY_SENSOR 0x22 191 172 192 /* é»æµéã»ã³ãµ*/173 /* 電流量センサ */ 193 174 #define EOJ_X2_CURRENT_VALUE_SENSOR 0x23 194 175 195 /* æ¼å 196 ã»ã³ãµ */ 176 /* 昼光センサ */ 197 177 #define EOJ_X2_DAYLIGHT_SENSOR 0x24 198 178 199 /* æ°´æµéã»ã³ãµ*/179 /* 水流量センサ */ 200 180 #define EOJ_X2_WATER_FLOW_RATE_SENSOR 0x25 201 181 202 /* å¾®åã»ã³ãµ*/182 /* 微動センサ */ 203 183 #define EOJ_X2_MICROMOTION_SENSOR 0x26 204 184 205 /* ééã»ã³ãµ*/185 /* 通過センサ */ 206 186 #define EOJ_X2_PASSAGE_SENSOR 0x27 207 187 208 /* å¨åºã»ã³ãµ*/188 /* 在床センサ */ 209 189 #define EOJ_X2_BED_PRESENCE_SENSOR 0x28 210 190 211 /* ééã»ã³ãµ*/191 /* 開閉センサ */ 212 192 #define EOJ_X2_OPEN_CLOSE_SENSOR 0x29 213 193 214 /* æ´»åéã»ã³ãµ*/194 /* 活動量センサ */ 215 195 #define EOJ_X2_ACTIVITY_AMOUNT_SENSOR 0x2A 216 196 217 /* 人ä½ä½ç½®ã»ã³ãµ*/197 /* 人体位置センサ */ 218 198 #define EOJ_X2_HUMAN_BODY_LOCATION_SENSOR 0x2B 219 199 220 /* éªã»ã³ãµ*/200 /* 雪センサ */ 221 201 #define EOJ_X2_SNOW_SENSOR 0x2C 222 202 223 203 /* 224 * 空調é¢é£æ©å¨ã¯ã©ã¹ã°ã«ã¼ã*225 */ 226 /* 家åºç¨ã¨ã¢ã³ã³*/204 * 空調関連機器クラスグループ * 205 */ 206 /* 家庭用エアコン */ 227 207 #define EOJ_X2_HOME_AIR_CONDITIONER 0x30 228 208 229 /* å·é¢¨æ©*/209 /* 冷風機 */ 230 210 #define EOJ_X2_COLD_BLASTER 0x31 231 211 232 /* æ風æ©*/212 /* 扇風機 */ 233 213 #define EOJ_X2_ELECTRIC_FAN 0x32 234 214 235 /* ææ°æ*/215 /* 換気扇 */ 236 216 #define EOJ_X2_VENTILATION_FAN 0x33 237 217 238 /* 空調ææ°æ*/218 /* 空調換気扇 */ 239 219 #define EOJ_X2_AIR_CONDITIONING_VENTILATION_FAN 0x34 240 220 241 /* 空æ°æ¸ 242 æµå¨ */ 221 /* 空気清浄器 */ 243 222 #define EOJ_X2_AIR_CLEANER 0x35 244 223 245 /* å·é¢¨æ*/224 /* 冷風扇 */ 246 225 #define EOJ_X2_COLD_BLAST_FAN 0x36 247 226 248 /* ãµã¼ãã¥ã¬ã¼ã¿*/227 /* サーキュレータ */ 249 228 #define EOJ_X2_CIRCULATOR 0x37 250 229 251 /* é¤æ¹¿æ©*/230 /* 除湿機 */ 252 231 #define EOJ_X2_DEHUMIDIFIER 0x38 253 232 254 /* å 湿å¨*/233 /* 加湿器 */ 255 234 #define EOJ_X2_HUMIDIFIER 0x39 256 235 257 /* 天äºæ*/236 /* 天井扇 */ 258 237 #define EOJ_X2_CEILING_FAN 0x3A 259 238 260 /* é»æ°ããã¤*/239 /* 電気こたつ */ 261 240 #define EOJ_X2_ELECTRIC_KOTATSU 0x3B 262 241 263 /* é»æ°ããã*/242 /* 電気あんか */ 264 243 #define EOJ_X2_ELECTRIC_HEATING_PAD 0x3C 265 244 266 /* é»æ°æ¯å¸*/245 /* 電気毛布 */ 267 246 #define EOJ_X2_ELECTRIC_BLANKET 0x3D 268 247 269 /* ã¹ãã¼ã*/248 /* ストーブ */ 270 249 #define EOJ_X2_SPACE_HEATER 0x3E 271 250 272 /* ããã«ãã¼ã¿*/251 /* パネルヒータ */ 273 252 #define EOJ_X2_PANEL_HEATER 0x3F 274 253 275 /* é»æ°ã«ã¼ããã*/254 /* 電気カーペット */ 276 255 #define EOJ_X2_ELECTRIC_CARPET 0x40 277 256 278 /* ããã¢ãã¼ã¿*/257 /* フロアヒータ */ 279 258 #define EOJ_X2_FLOOR_HEATER 0x41 280 259 281 /* é»æ°ææ¿å¨*/260 /* 電気暖房器 */ 282 261 #define EOJ_X2_ELECTRIC_HEATER 0x42 283 262 284 /* ãã¡ã³ãã¼ã¿*/263 /* ファンヒータ */ 285 264 #define EOJ_X2_FAN_HEATER 0x43 286 265 287 /* å 288 289 é»å¨ */ 266 /* 充電器 */ 290 267 #define EOJ_X2_BATTERY_CHARGER 0x44 291 268 292 /* æ¥åç¨ããã±ã¼ã¸ã¨ã¢ã³ã³å®¤å 293 æ© */ 269 /* 業務用パッケージエアコン室内機 */ 294 270 #define EOJ_X2_PACKAGE_TYPE_COMMERCIAL_AIR_CONDITIONER_INDOOR_UNIT 0x45 295 271 296 /* æ¥åç¨ããã±ã¼ã¸ã¨ã¢ã³ã³å®¤å¤æ©*/272 /* 業務用パッケージエアコン室外機 */ 297 273 #define EOJ_X2_PACKAGE_TYPE_COMMERCIAL_AIR_CONDITIONER_OUTDOOR_UNIT 0x46 298 274 299 /* æ¥åç¨ããã±ã¼ã¸ã¨ã¢ã³ã³èç±ã¦ããã*/275 /* 業務用パッケージエアコン蓄熱ユニット */ 300 276 #define EOJ_X2_PACKAGE_TYPE_COMMERCIAL_AIR_CONDITIONER_THERMAL_STORAGE_UNIT 0x47 301 277 302 /* æ¥åç¨ãã¡ã³ã³ã¤ã«ã¦ããã*/278 /* 業務用ファンコイルユニット */ 303 279 #define EOJ_X2_COMMERCIAL_FAN_COIL_UNIT 0x48 304 280 305 /* æ¥åç¨ç©ºèª¿å·ç±æº(ãã©ã¼) */281 /* 業務用空調冷熱源(チラー) */ 306 282 #define EOJ_X2_COMMERCIAL_AIR_CONDITIONING_COLD_SOURCE_CHILLER 0x49 307 283 308 /* æ¥åç¨ç©ºèª¿æ¸©ç±æº(ãã¤ã©ã¼) */284 /* 業務用空調温熱源(ボイラー) */ 309 285 #define EOJ_X2_COMMERCIAL_AIR_CONDITIONING_HEAT_SOURCE_BOILER 0x50 310 286 311 /* æ¥åç¨ç©ºèª¿VAV */287 /* 業務用空調VAV */ 312 288 #define EOJ_X2_AIR_CONDITIONING_VAV_FOR_COMMERCIAL_APPLICATION 0x51 313 289 314 /* æ¥åç¨ç©ºèª¿ã¨ã¢ãã³ããªã³ã°ã¦ããã*/290 /* 業務用空調エアハンドリングユニット */ 315 291 #define EOJ_X2_AIR_HANDLING_UNIT_AIR_CONDITIONING_FOR_COMMERCIAL_APPLICATION 0x52 316 292 317 /* ã¦ãããã¯ã¼ã©ã¼*/293 /* ユニットクーラー */ 318 294 #define EOJ_X2_UNIT_COOLER 0x53 319 295 320 /* æ¥åç¨ã³ã³ãã³ã·ã³ã°ã¦ããã*/296 /* 業務用コンデンシングユニット */ 321 297 #define EOJ_X2_CONDENSING_UNIT_FOR_COMMERCIAL_APPLICATION 0x54 322 298 323 299 /* 324 * ä½å® 325 ã»è¨åé¢é£æ©å¨ã¯ã©ã¹ã°ã«ã¼ã * 326 */ 327 /* é»åãã©ã¤ã³ã */ 300 * 住宅・設備関連機器クラスグループ * 301 */ 302 /* 電動ブラインド */ 328 303 #define EOJ_X2_ELECTRICALLY_OPERATED_SHADE 0x60 329 304 330 /* é»åã·ã£ãã¿ã¼*/305 /* 電動シャッター */ 331 306 #define EOJ_X2_ELECTRICALLY_OPERATED_SHUTTER 0x61 332 307 333 /* é»åã«ã¼ãã³*/308 /* 電動カーテン */ 334 309 #define EOJ_X2_ELECTRICALLY_OPERATED_CURTAIN 0x62 335 310 336 /* é»åé¨æ¸*/311 /* 電動雨戸 */ 337 312 #define EOJ_X2_ELECTRICALLY_OPERATED_STORM_WINDOW 0x63 338 313 339 /* é»åã¬ã¬ã¼ã¸*/314 /* 電動ガレージ */ 340 315 #define EOJ_X2_ELECTRICALLY_OPERATED_DOOR 0x64 341 316 342 /* é»å天çª*/317 /* 電動天窓 */ 343 318 #define EOJ_X2_ELECTRICALLY_OPERATED_SKYLIGHT 0x65 344 319 345 /* ãªã¼ãã³ã°ï¼æ¥ããï¼*/320 /* オーニング(日よけ) */ 346 321 #define EOJ_X2_AWNING 0x66 347 322 348 /* æ£æ°´å¨ï¼åºç¨ï¼*/323 /* 散水器(庭用) */ 349 324 #define EOJ_X2_GARDEN_SPRINKLER 0x67 350 325 351 /* æ£æ°´å¨ï¼ç«ç½ç¨ï¼*/326 /* 散水器(火災用) */ 352 327 #define EOJ_X2_FIRE_SPRINKLER 0x68 353 328 354 /* å´æ°´*/329 /* 噴水 */ 355 330 #define EOJ_X2_FOUNTAIN 0x69 356 331 357 /* ç¬é湯沸å¨*/332 /* 瞬間湯沸器 */ 358 333 #define EOJ_X2_INSTANTANEOUS_WATER_HEATERS 0x6A 359 334 360 /* é»æ°æ¸©æ°´å¨*/335 /* 電気温水器 */ 361 336 #define EOJ_X2_ELECTRIC_WATER_HEATER 0x6B 362 337 363 /* 太é½ç±æ¸©æ°´å¨*/338 /* 太陽熱温水器 */ 364 339 #define EOJ_X2_SOLAR_WATER_HEATER 0x6C 365 340 366 /* 循ç°ãã³ã*/341 /* 循環ポンプ */ 367 342 #define EOJ_X2_CIRCULATION_PUMP 0x6D 368 343 369 /* é»æ°ä¾¿åº§ï¼æ¸©æ°´æ´æµä¾¿åº§ãææ¿ä¾¿åº§ãªã©ï¼*/344 /* 電気便座(温水洗浄便座、暖房便座など) */ 370 345 #define EOJ_X2_BIDET_EQUIPPED_TOILET 0x6E 371 346 372 /* é»æ°é*/347 /* 電気錠 */ 373 348 #define EOJ_X2_ELECTRIC_KEY 0x6F 374 349 375 /* ã¬ã¹å 376 å¼ */ 350 /* ガス元弁 */ 377 351 #define EOJ_X2_GAS_LINE_VALVE 0x70 378 352 379 /* ãã¼ã ãµã¦ã*/353 /* ホームサウナ */ 380 354 #define EOJ_X2_HOME_SAUNA 0x71 381 355 382 /* ç¬éå¼çµ¦æ¹¯å¨*/356 /* 瞬間式給湯器 */ 383 357 #define EOJ_X2_HOT_WATER_GENERATOR 0x72 384 358 385 /* 浴室ææ¿ä¹¾ç¥æ©*/359 /* 浴室暖房乾燥機 */ 386 360 #define EOJ_X2_BATHROOM_DRYER 0x73 387 361 388 /* ãã¼ã ã¨ã¬ãã¼ã¿*/362 /* ホームエレベータ */ 389 363 #define EOJ_X2_HOME_ELEVATOR 0x74 390 364 391 /* é»åéä»åã*/365 /* 電動間仕切り */ 392 366 #define EOJ_X2_ELECTRICALLY_OPERATED_ROOM_DIVIDER 0x75 393 367 394 /* æ°´å¹³ãã©ã³ã¹ãã¡*/368 /* 水平トランスファ */ 395 369 #define EOJ_X2_HORIZONTAL_TRANSFER 0x76 396 370 397 /* é»åç©å¹²ã*/371 /* 電動物干し */ 398 372 #define EOJ_X2_ELECTRICALLY_OPERATED_CLOTHES_DRYING_POLE 0x77 399 373 400 /* æµå槽*/374 /* 浄化槽 */ 401 375 #define EOJ_X2_SEPTIC_TANK 0x78 402 376 403 /* ä½å® 404 ç¨å¤ªé½å 405 çºé» */ 377 /* 住宅用太陽光発電 */ 406 378 #define EOJ_X2_HOME_SOLAR_POWER_GENERATION 0x79 407 379 408 /* å·æ¸©æ°´ç±æºæ©*/380 /* 冷温水熱源機 */ 409 381 #define EOJ_X2_COLD_AND_HOT_WATER_HEAT_SOURCE_EQUIPMENT 0x7A 410 382 411 /* åºææ¿*/383 /* 床暖房 */ 412 384 #define EOJ_X2_FLOOR_HEATING 0x7B 413 385 414 /* çæé»æ±*/386 /* 燃料電池 */ 415 387 #define EOJ_X2_FUEL_CELL 0x7C 416 388 417 /* èé»æ±*/389 /* 蓄電池 */ 418 390 #define EOJ_X2_STORAGE_BATTERY 0x7D 419 391 420 /* é»æ°èªåè»å 421 422 æ¾é»ã·ã¹ãã */ 392 /* 電気自動車充放電システム */ 423 393 #define EOJ_X2_ELECTRIC_VEHICLE 0x7E 424 394 425 /* é»åéã¡ã¼ã¿*/395 /* 電力量メータ */ 426 396 #define EOJ_X2_ELECTRIC_ENERGY_METER 0x80 427 397 428 /* æ°´æµéã¡ã¼ã¿*/398 /* 水流量メータ */ 429 399 #define EOJ_X2_WATER_FLOW_METER 0x81 430 400 431 /* ã¬ã¹ã¡ã¼ã¿*/401 /* ガスメータ */ 432 402 #define EOJ_X2_GAS_METER 0x82 433 403 434 /* LP ã¬ã¹ã¡ã¼ã¿*/404 /* LPガスメータ */ 435 405 #define EOJ_X2_LP_GAS_METERS 0x83 436 406 437 /* æè¨*/407 /* 時計 */ 438 408 #define EOJ_X2_CLOCK 0x84 439 409 440 /* èªåãã¢*/410 /* 自動ドア */ 441 411 #define EOJ_X2_AUTOMATIC_DOOR 0x85 442 412 443 /* æ¥åç¨ã¨ã¬ãã¼ã¿*/413 /* 業務用エレベータ */ 444 414 #define EOJ_X2_COMMERCIAL_ELEVATOR 0x86 445 415 446 /* åé»ç¤ã¡ã¼ã¿ãªã³ã°*/416 /* 分電盤メータリング */ 447 417 #define EOJ_X2_DISTRIBUTION_PANEL_METERING 0x87 448 418 449 /* ã¹ãã¼ãé»åéã¡ã¼ã¿*/419 /* スマート電力量メータ */ 450 420 #define EOJ_X2_SMART_ELECTRIC_ENERGY_METER 0x88 451 421 452 /* ã¹ãã¼ãã¬ã¹ã¡ã¼ã¿*/422 /* スマートガスメータ */ 453 423 #define EOJ_X2_SMART_GAS_METER 0x89 454 424 455 /* ä¸è¬ç 456 §æ */ 425 /* 一般照明 */ 457 426 #define EOJ_X2_GENERAL_LIGHTING_CLASS 0x90 458 427 459 /* é常ç 460 §æ */ 428 /* 非常照明 */ 461 429 #define EOJ_X2_EMERGENCY_LIGHTING 0x99 462 430 463 /* è¨åç 464 §æ */ 431 /* 設備照明 */ 465 432 #define EOJ_X2_EQUIPMENT_LIGHT 0x9D 466 433 467 /* ãã¶ã¼*/434 /* ブザー */ 468 435 #define EOJ_X2_BUZZER 0xA0 469 436 470 437 /* 471 * 調çã»å®¶äºé¢é£æ©å¨ã¯ã©ã¹ã°ã«ã¼ã*472 */ 473 /* ã³ã¼ãã¼ã¡ã¼ã«*/438 * 調理・家事関連機器クラスグループ * 439 */ 440 /* コーヒーメーカ */ 474 441 #define EOJ_X2_COFFEE_MACHINE 0xB0 475 442 476 /* ã³ã¼ãã¼ãã«*/443 /* コーヒーミル */ 477 444 #define EOJ_X2_COFFEE_MILL 0xB1 478 445 479 /* é»æ°ããã*/446 /* 電気ポット */ 480 447 #define EOJ_X2_ELECTRIC_HOT_WATER_POT 0xB2 481 448 482 /* é»æ°ããã*/449 /* 電気こんろ */ 483 450 #define EOJ_X2_ELECTRIC_STOVE 0xB3 484 451 485 /* ãã¼ã¹ã¿*/452 /* トースタ */ 486 453 #define EOJ_X2_TOASTER 0xB4 487 454 488 /* ã¸ã¥ã¼ãµã»ãããµ*/455 /* ジューサ・ミキサ */ 489 456 #define EOJ_X2_JUICER_FOOD_MIXER 0xB5 490 457 491 /* ãã¼ãããã»ããµ*/458 /* フードプロセッサ */ 492 459 #define EOJ_X2_FOOD_PROCESSOR 0xB6 493 460 494 /* å·åå·èµåº«*/461 /* 冷凍冷蔵庫 */ 495 462 #define EOJ_X2_REFRIGERATOR_FREEZER 0xB7 496 463 497 /* ãªã¼ãã³ã¬ã³ã¸*/464 /* オーブンレンジ */ 498 465 #define EOJ_X2_COMBINATION_MICROWAVE_OVEN 0xB8 499 466 500 /* ã¯ããã³ã°ãã¼ã¿*/467 /* クッキングヒータ */ 501 468 #define EOJ_X2_COOKING_HEATER 0xB9 502 469 503 /* ãªã¼ãã³*/470 /* オーブン */ 504 471 #define EOJ_X2_OVEN 0xBA 505 472 506 /* ç飯å¨*/473 /* 炊飯器 */ 507 474 #define EOJ_X2_RICE_COOKER 0xBB 508 475 509 /* é»åã¸ã£ã¼*/476 /* 電子ジャー */ 510 477 #define EOJ_X2_ELECTRONIC_JAR 0xBC 511 478 512 /* é£å¨æ´ãæ©*/479 /* 食器洗い機 */ 513 480 #define EOJ_X2_DISH_WASHER 0xBD 514 481 515 /* é£å¨ä¹¾ç¥æ©*/482 /* 食器乾燥機 */ 516 483 #define EOJ_X2_DISH_DRYER 0xBE 517 484 518 /* é»æ°ãã¡ã¤ãæ©*/485 /* 電気もちつき機 */ 519 486 #define EOJ_X2_ELECTRIC_RICE_CAKE_COOKER 0xBF 520 487 521 /* ä¿æ¸©æ©*/488 /* 保温機 */ 522 489 #define EOJ_X2_KEEP_WARM_MACHINE 0xC0 523 490 524 /* 精米æ©*/491 /* 精米機 */ 525 492 #define EOJ_X2_RICE_MILL 0xC1 526 493 527 /* èªå製ãã³æ©*/494 /* 自動製パン機 */ 528 495 #define EOJ_X2_AUTOMATIC_BREAD_COOKER 0xC2 529 496 530 /* ã¹ãã¼ã¯ãã«ã¼*/497 /* スロークッカー */ 531 498 #define EOJ_X2_SLOW_COOKER 0xC3 532 499 533 /* é»æ°æ¼¬ç©æ©*/500 /* 電気漬物機 */ 534 501 #define EOJ_X2_ELECTRIC_PICKLES_COOKER 0xC4 535 502 536 /* æ´æ¿¯æ©*/503 /* 洗濯機 */ 537 504 #define EOJ_X2_WASHING_MACHINE 0xC5 538 505 539 /* è¡£é¡ä¹¾ç¥æ©*/506 /* 衣類乾燥機 */ 540 507 #define EOJ_X2_CLOTH_DRYER 0xC6 541 508 542 /* é»æ°ã¢ã¤ãã³*/509 /* 電気アイロン */ 543 510 #define EOJ_X2_ELECTRIC_IRON 0xC7 544 511 545 /* ãºãã³ãã¬ããµ*/512 /* ズボンプレッサ */ 546 513 #define EOJ_X2_TROUSER_PRESS 0xC8 547 514 548 /* ãµã¨ãä¹¾ç¥æ©*/515 /* ふとん乾燥機 */ 549 516 #define EOJ_X2_FUTON_DRYER 0xC9 550 517 551 /* å°ç©ã»ãã¤ä¹¾ç¥æ©*/518 /* 小物・くつ乾燥機 */ 552 519 #define EOJ_X2_SMALL_ARTICLE_SHOES_DRYER 0xCA 553 520 554 /* é»æ°æé¤æ©ï¼ã»ã³ãã©ã«ã¯ãªã¼ãå«ãï¼*/521 /* 電気掃除機(セントラルクリーナ含む) */ 555 522 #define EOJ_X2_ELECTRIC_VACUUM_CLEANER 0xCB 556 523 557 /* ãã£ã¹ãã¼ã¶*/524 /* ディスポーザ */ 558 525 #define EOJ_X2_DISPOSER 0xCC 559 526 560 /* é»æ°èåãæ©*/527 /* 電気蚊取り機 */ 561 528 #define EOJ_X2_ELECTRIC_MOSQUITO_CATCHER 0xCD 562 529 563 /* æ¥åç¨ã·ã§ã¼ã±ã¼ã¹*/530 /* 業務用ショーケース */ 564 531 #define EOJ_X2_COMMERCIAL_SHOW_CASE 0xCE 565 532 566 /* æ¥åç¨å·èµåº«*/533 /* 業務用冷蔵庫 */ 567 534 #define EOJ_X2_COMMERCIAL_REFRIGERATOR 0xCF 568 535 569 /* æ¥åç¨ãããã±ã¼ã¹*/536 /* 業務用ホットケース */ 570 537 #define EOJ_X2_COMMERCIAL_HOT_CASE 0xD0 571 538 572 /* æ¥åç¨ãã©ã¤ã¤ã¼*/539 /* 業務用フライヤー */ 573 540 #define EOJ_X2_COMMERCIAL_FRYER 0xD1 574 541 575 /* æ¥åç¨é»åã¬ã³ã¸*/542 /* 業務用電子レンジ */ 576 543 #define EOJ_X2_COMMERCIAL_MICROWAVE_OVEN 0xD2 577 544 578 /* æ´æ¿¯ä¹¾ç¥æ©*/545 /* 洗濯乾燥機 */ 579 546 #define EOJ_X2_WASHER_AND_DRYER 0xD3 580 547 581 548 /* 582 * å¥åº·é¢é£æ©å¨ã¯ã©ã¹ã°ã«ã¼ã*583 */ 584 /* ä½éè¨*/549 * 健康関連機器クラスグループ * 550 */ 551 /* 体重計 */ 585 552 #define EOJ_X2_WEIGHING_MACHINE 0x01 586 553 587 /* ä½æ¸©è¨*/554 /* 体温計 */ 588 555 #define EOJ_X2_CLINICAL_THERMOMETER 0x02 589 556 590 /* è¡å§è¨*/557 /* 血圧計 */ 591 558 #define EOJ_X2_BLOOD_PRESSURE_METER 0x03 592 559 593 /* è¡ç³å¤è¨*/560 /* 血糖値計 */ 594 561 #define EOJ_X2_BLOOD_SUGAR_METER 0x04 595 562 596 /* ä½èèªè¨*/563 /* 体脂肪計 */ 597 564 #define EOJ_X2_BODY_FAT_METER 0x05 598 565 599 566 /* 600 * 管çã»æä½é¢é£æ©å¨ã¯ã©ã¹ã°ã«ã¼ã * 601 */ 602 /* ã»ãã¥ã¢éä¿¡ç¨å 603 ±æéµè¨å®ãã¼ã */ 567 * 管理・操作関連機器クラスグループ * 568 */ 569 /* セキュア通信用共有鍵設定ノード */ 604 570 #define EOJ_X2_SECURE_COMMUNICATION_SHARED_KEY_SETUP_NODE 0xFC 605 571 606 /* ã¹ã¤ããï¼JEMA/HA端å対å¿ï¼*/572 /* スイッチ(JEMA/HA端子対応) */ 607 573 #define EOJ_X2_SWITCH 0xFD 608 574 609 /* æºå¸¯ç«¯æ«*/575 /* 携帯端末 */ 610 576 #define EOJ_X2_PORTABLE_TERMINAL 0xFE 611 577 612 /* ã³ã³ããã¼ã©*/578 /* コントローラ */ 613 579 #define EOJ_X2_CONTROLLER 0xFF 614 580 615 581 /* 616 * AVé¢é£æ©å¨ã¯ã©ã¹ã°ã«ã¼ã*617 */ 618 /* ãã£ã¹ãã¬ã¼*/582 * AV関連機器クラスグループ * 583 */ 584 /* ディスプレー */ 619 585 #define EOJ_X2_DISPLAY 0x01 620 586 621 /* ãã¬ã*/587 /* テレビ */ 622 588 #define EOJ_X2_TELEVISION 0x02 623 589 624 590 /* 625 * ãããã¡ã¤ã«ã¯ã©ã¹ã°ã«ã¼ã*626 */ 627 /* ãã¼ããããã¡ã¤ã«*/591 * プロファイルクラスグループ * 592 */ 593 /* ノードプロファイル */ 628 594 #define EOJ_X2_NODE_PROFILE 0xF0 629 595 -
azure_iot_hub/trunk/ntshell/echonet/echonet_dbg.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 4 4 * Copyright (C) 2014 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 … … 86 71 static ER _ecn_dbg_wai_syslog(void); 87 72 /* 88 * syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 89 㤠73 * syslog()バッファに余裕ができるまで待つ 90 74 */ 91 75 static ER _ecn_dbg_wai_syslog(void) … … 128 112 129 113 /* 130 * ãããã°åºå131 * ä¾ï¼ECN_DBG_PUT("task start");114 * デバッグ出力 115 * 例: ECN_DBG_PUT("task start"); 132 116 */ 133 117 int _ecn_dbg_dbgput(const char *fp_srcloc, const char *fp_form, ...) … … 138 122 #ifdef ECN_DBG_PUT_USE_STATIC 139 123 #ifndef SEM_ECN_DBG_PUT 140 /* 256byte ãããã¡8æ¬ãã¼ãã¼ã·ã§ã³*/124 /* 256byteバッファ8本ローテーション */ 141 125 static char a_buf[8][256]; 142 126 static volatile uint_t a_buf_idx = 0; 143 127 uint_t a_buf_idx_a; 144 128 #else 145 /* ã»ããã©ãç¨ãã¦ã1æ¬ã®ãããã¡ä¸ã«æååã並ã¹ã¦ä½¿ã*/129 /* セマフォを用いて、1本のバッファ上に文字列を並べて使う */ 146 130 static char a_buf[1024]; 147 131 static volatile uint_t a_buf_pos = 0; … … 168 152 p_buf = a_buf[a_buf_idx_a & 0x07]; 169 153 #else 170 if (sizeof(a_buf) - a_buf_pos < 80) /* æ®ãã80byteæªæºã«ãªã£ãããå 171 é ã«æ»ã */ 154 if (sizeof(a_buf) - a_buf_pos < 80) /* 残りが80byte未満になったら、先頭に戻る */ 172 155 a_buf_pos = 0; 173 156 p_buf = a_buf + a_buf_pos; 174 157 a_buf_len = sizeof(a_buf) - a_buf_pos - 1; 175 if (80 * 2 <= a_buf_len) /* 80byte*2 以ä¸ã®ä½ç½ããããã¡ã¯ãæ«å°¾80byteãæ®ã*/158 if (80 * 2 <= a_buf_len) /* 80byte*2以上の余白があるうちは、末尾80byteを残す */ 176 159 a_buf_len -= 80; 177 160 #endif /* #ifdef SEM_ECN_DBG_PUT */ … … 197 180 #ifdef SEM_ECN_DBG_PUT 198 181 a_buf_len = strlen(p_buf) + 1; 199 /* æ®ãã80byteæªæºã«ãªã£ãã*/182 /* 残りが80byte未満になったら */ 200 183 if (sizeof(a_buf) - a_buf_pos - a_buf_len < 80) { 201 /* å 202 é ã«æ»ã */ 184 /* 先頭に戻る */ 203 185 a_buf_pos = 0; 204 186 } else { … … 208 190 #endif 209 191 210 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 211 㤠*/ 192 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 212 193 213 194 #ifdef SEM_ECN_DBG_PUT … … 225 206 } 226 207 227 /* ECN_ENOD_ID ã®æååå¤æ*/208 /* ECN_ENOD_IDの文字列変換 */ 228 209 const char *_ecn_dbg_enod2str(ECN_ENOD_ID fa_enod_id) 229 210 { … … 273 254 274 255 /* 275 * ãã¤ããªãã³ãåºå256 * バイナリダンプ出力 276 257 */ 277 258 void _ecn_dbg_bindmp(const uint8_t *buffer, size_t len) 278 259 { 279 /* static é åã®ãããã¡ãåãæ¿ããåæ°(2^n) */260 /* static領域のバッファを切り替える個数(2^n) */ 280 261 #define _ECN_FBS_DBG_BINDMP_BUF_MAX_BIT (4) 281 262 /* */ … … 283 264 #ifdef _ECN_FBS_DBG_BINDMP_BUF_MAX_BIT 284 265 #undef _ECN_FBS_DBG_BINDMP_BUF_MAX_BIT 285 /* ã»ããã©(SEM_ECN_DBG_BINDMP)ãå®ç¾©ããã¦ããå ´åããããã¡åãæ¿ãã¯ä¸è¦ãªã®ã§undef */266 /* セマフォ(SEM_ECN_DBG_BINDMP)が定義されている場合、バッファ切り替えは不要なのでundef */ 286 267 #endif 287 268 #endif 288 269 #ifndef _ECN_FBS_DBG_BINDMP_BUFLEN 289 /* ãããã¡ãµã¤ãº(bindmpä¸ã®1è¡ãåã¾ããµã¤ãº) */270 /* バッファサイズ(bindmp中の1行が収まるサイズ) */ 290 271 #define _ECN_FBS_DBG_BINDMP_BUFLEN (80) 291 272 #endif 292 273 #ifdef _ECN_FBS_DBG_BINDMP_BUF_MAX_BIT 293 /* static é åã®ãããã¡ãåãæ¿ããããã®ç®¡çç¨å¤æ°*/274 /* static領域のバッファを切り替えるための管理用変数 */ 294 275 static volatile uint8_t a_idx_vol = 0; 295 /* static é åã®ãããã¡åãæ¿ãé å*/276 /* static領域のバッファ切り替え領域 */ 296 277 static char a_buf_area[1 << _ECN_FBS_DBG_BINDMP_BUF_MAX_BIT][_ECN_FBS_DBG_BINDMP_BUFLEN]; 297 278 uint8_t a_idx; 298 279 char *a_buf; 299 280 #else 300 /* static é åã®ãããã¡é å*/281 /* static領域のバッファ領域 */ 301 282 static char a_buf[_ECN_FBS_DBG_BINDMP_BUFLEN]; 302 283 #endif 303 const uint8_t *p = buffer; /* èªã¿åããã¤ã³ã¿*/284 const uint8_t *p = buffer; /* 読み取りポインタ */ 304 285 int i, a_blk, a_blk_max, a_pos = 0; 305 286 const T_ECN_EDT_HDR *p_req_esv; … … 319 300 } 320 301 #ifndef ECN_DBG_BINDMP_MAXLEN 321 /* bindmp åºåã®æ大ãµã¤ãº*/302 /* bindmp出力の最大サイズ */ 322 303 #define ECN_DBG_BINDMP_MAXLEN 1600 323 304 #endif … … 334 315 for (a_blk = 0; p && a_blk < a_blk_max; p = ((T_ECN_FST_BLK *)buffer)->lnk.p_sub[a_blk++]->dat) { 335 316 if (0 < a_blk) { 336 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 337 㤠*/ 317 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 338 318 syslog(LOG_NOTICE, "p_sub[%d] (0x%08X)", a_blk - 1, p); 339 319 } … … 342 322 if (i % 16 == 0) { 343 323 if (a_buf[0]) { 344 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 345 㤠*/ 324 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 346 325 syslog(LOG_NOTICE, "%s", a_buf); 347 326 } … … 363 342 } 364 343 if (a_buf[0]) { 365 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 366 㤠*/ 344 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 367 345 syslog(LOG_NOTICE, "%s", a_buf); 368 346 } … … 375 353 case ECN_MSG_ECHONET: 376 354 p_req_esv = &((const T_ECN_FST_BLK *)buffer)->d.t_esv; 377 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 378 㤠*/ 355 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 379 356 syslog(LOG_NOTICE, " sender: %d %s, target: %d %s", 380 357 ((T_ECN_FST_BLK *)buffer)->hdr.sender, _ecn_dbg_enod2str(((T_ECN_FST_BLK *)buffer)->hdr.sender), 381 358 ((T_ECN_FST_BLK *)buffer)->hdr.target, _ecn_dbg_enod2str(((T_ECN_FST_BLK *)buffer)->hdr.target)); 382 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 383 㤠*/ 359 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 384 360 syslog(LOG_NOTICE, " ecn_hdr: 0x%02X 0x%02X 0x%04X", p_req_esv->ecn_hdr.ehd1, p_req_esv->ecn_hdr.ehd2, p_req_esv->ecn_hdr.tid); 385 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 386 㤠*/ 361 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 387 362 syslog(LOG_NOTICE, " edata: 0x%06X 0x%06X 0x%02X 0x%02X (%s)", 388 363 p_req_esv->edata.seoj.eojx1 << 16 | p_req_esv->edata.seoj.eojx2 << 8 | p_req_esv->edata.seoj.eojx3, 389 364 p_req_esv->edata.deoj.eojx1 << 16 | p_req_esv->edata.deoj.eojx2 << 8 | p_req_esv->edata.deoj.eojx3, 390 365 p_req_esv->edata.esv, p_req_esv->edata.opc, _ecn_dbg_esv2str(p_req_esv->edata.esv)); 391 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 392 㤠*/ 366 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 393 367 syslog(LOG_NOTICE, " ecn_prp: 0x%02X 0x%02X", p_req_esv->ecn_prp.epc, p_req_esv->ecn_prp.pdc); 394 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 395 㤠*/ 368 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 396 369 syslog(LOG_NOTICE, " cur(blk/pos): wr %d/%d, rd %d/%d", 397 370 (int)((T_ECN_FST_BLK *)buffer)->hdr.wr.blk, … … 430 403 && ((const T_ECN_FST_BLK *)buffer)->bin[1] == 0x81) { 431 404 p_req_esv = (const T_ECN_EDT_HDR *)&((const T_ECN_FST_BLK *)buffer)->bin[0]; 432 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 433 㤠*/ 405 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 434 406 syslog(LOG_NOTICE, " ecn_hdr: 0x%02X 0x%02X 0x%04X", p_req_esv->ecn_hdr.ehd1, p_req_esv->ecn_hdr.ehd2, p_req_esv->ecn_hdr.tid); 435 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 436 㤠*/ 407 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 437 408 syslog(LOG_NOTICE, " edata: 0x%06X 0x%06X 0x%02X 0x%02X (%s)", 438 409 p_req_esv->edata.seoj.eojx1 << 16 | p_req_esv->edata.seoj.eojx2 << 8 | p_req_esv->edata.seoj.eojx3, 439 410 p_req_esv->edata.deoj.eojx1 << 16 | p_req_esv->edata.deoj.eojx2 << 8 | p_req_esv->edata.deoj.eojx3, 440 411 p_req_esv->edata.esv, p_req_esv->edata.opc, _ecn_dbg_esv2str(p_req_esv->edata.esv)); 441 _ECN_DBG_WAI_SYSLOG; /* syslog()ãããã¡ã«ä½è£ãã§ããã¾ã§å¾ 442 㤠*/ 412 _ECN_DBG_WAI_SYSLOG; /* syslog()バッファに余裕ができるまで待つ */ 443 413 syslog(LOG_NOTICE, " ecn_prp: 0x%02X 0x%02X", p_req_esv->ecn_prp.epc, p_req_esv->ecn_prp.pdc); 444 414 } … … 449 419 450 420 /* 451 * ECHONET Lite ãµã¼ãã¹ã³ã¼ãæååå¤æ421 * ECHONET Liteサービスコード文字列変換 452 422 */ 453 423 const char *_ecn_dbg_esv2str(uint8_t fa_esv) 454 424 { 455 425 switch (fa_esv) { 456 case ESV_SET_I_SNA: return " ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ä¸å¯å¿ç"; /* 0x50 */457 case ESV_SET_C_SNA: return " ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ä¸å¯å¿ç"; /* 0x51 */458 case ESV_GET_SNA: return " ããããã£å¤èªã¿åºãä¸å¯å¿ç"; /* 0x52 */459 case ESV_INF_SNA: return " ããããã£å¤éç¥ä¸å¯å¿ç"; /* 0x53 */460 case ESV_SET_GET_SNA: return " ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãä¸å¯å¿ç"; /* 0x5E */461 case ESV_SET_I: return " ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ï¼å¿çä¸è¦ï¼"; /* 0x60 */462 case ESV_SET_C: return " ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ï¼å¿çè¦ï¼"; /* 0x61 */463 case ESV_GET: return " ããããã£å¤èªã¿åºãè¦æ±"; /* 0x62 */464 case ESV_INF_REQ: return " ããããã£å¤éç¥è¦æ±"; /* 0x63 */465 case ESV_SET_GET: return " ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãè¦æ±"; /* 0x6E */466 case ESV_SET_RES: return " ããããã£å¤æ¸ãè¾¼ã¿å¿ç"; /* 0x71 */467 case ESV_GET_RES: return " ããããã£å¤èªã¿åºãå¿ç"; /* 0x72 */468 case ESV_INF: return " ããããã£å¤éç¥"; /* 0x73 */469 case ESV_INFC: return " ããããã£å¤éç¥ï¼å¿çè¦ï¼"; /* 0x74 */470 case ESV_SET_GET_RES: return " ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãå¿ç"; /* 0x7E */471 case ESV_INFC_RES: return " ããããã£å¤éç¥å¿ç"; /* 0x7A */426 case ESV_SET_I_SNA: return "プロパティ値書き込み要求不可応答"; /* 0x50 */ 427 case ESV_SET_C_SNA: return "プロパティ値書き込み要求不可応答"; /* 0x51 */ 428 case ESV_GET_SNA: return "プロパティ値読み出し不可応答"; /* 0x52 */ 429 case ESV_INF_SNA: return "プロパティ値通知不可応答"; /* 0x53 */ 430 case ESV_SET_GET_SNA: return "プロパティ値書き込み・読み出し不可応答"; /* 0x5E */ 431 case ESV_SET_I: return "プロパティ値書き込み要求(応答不要)"; /* 0x60 */ 432 case ESV_SET_C: return "プロパティ値書き込み要求(応答要)"; /* 0x61 */ 433 case ESV_GET: return "プロパティ値読み出し要求"; /* 0x62 */ 434 case ESV_INF_REQ: return "プロパティ値通知要求"; /* 0x63 */ 435 case ESV_SET_GET: return "プロパティ値書き込み・読み出し要求"; /* 0x6E */ 436 case ESV_SET_RES: return "プロパティ値書き込み応答"; /* 0x71 */ 437 case ESV_GET_RES: return "プロパティ値読み出し応答"; /* 0x72 */ 438 case ESV_INF: return "プロパティ値通知"; /* 0x73 */ 439 case ESV_INFC: return "プロパティ値通知(応答要)"; /* 0x74 */ 440 case ESV_SET_GET_RES: return "プロパティ値書き込み・読み出し応答"; /* 0x7E */ 441 case ESV_INFC_RES: return "プロパティ値通知応答"; /* 0x7A */ 472 442 default: 473 443 return "(unknown)"; -
azure_iot_hub/trunk/ntshell/echonet/echonet_dbg.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain;charset=UTF-8
r388 r389 4 4 * Copyright (C) 2014 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 * ãããã¯ã¼ã¯å¯¾å¿ãµã³ãã«ããã°ã©ã (1)ã®55 * ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«39 * ネットワーク対応サンプルプログラム(1)の 40 * システムコンフィギュレーションファイル 56 41 */ 57 42 … … 65 50 /* INCLUDE("tinet/tinet_asp.cfg"); // */ 66 51 67 /* ã»ããã©*/52 /* セマフォ */ 68 53 69 54 CRE_SEM(SEM_ECN_DBG_PUT, { TA_TPRI, 1, 1 }); -
azure_iot_hub/trunk/ntshell/echonet/echonet_dbg.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) 2014 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 #include "echonet.h" 70 55 71 /* ECN_SRC_LOC: ã½ã¼ã¹ä¸ã®ãã¡ã¤ã«åã¨è¡çªå·ã示ãæååãä½ããã¯ã*/56 /* ECN_SRC_LOC: ソース中のファイル名と行番号を示す文字列を作るマクロ */ 72 57 #ifndef ECN_SRC_LOC 73 58 #ifndef _ECN_BLD_BASE_DIR … … 103 88 #endif 104 89 105 /* ãããã°åºå(CARP) */90 /* デバッグ出力(CARP) */ 106 91 #ifdef ECN_CAP_PUT_ENA 107 92 #define ECN_CAP_PUT(a) _ecn_dbg_dbgput(ECN_SRC_LOC, a) … … 121 106 122 107 /* 123 * ãããã°åºå124 * ä¾ï¼ECN_DBG_PUT("task start");108 * デバッグ出力 109 * 例: ECN_DBG_PUT("task start"); 125 110 */ 126 111 int _ecn_dbg_dbgput(const char *, const char *, ...); 127 112 128 113 /* 129 * ãã¤ããªãã³ãåºå114 * バイナリダンプ出力 130 115 */ 131 116 void _ecn_dbg_bindmp(const uint8_t *buffer, size_t len); 132 117 133 118 /* 134 * ECHONET Lite ãµã¼ãã¹ã³ã¼ãæååå¤æ119 * ECHONET Liteサービスコード文字列変換 135 120 */ 136 121 const char *_ecn_dbg_esv2str(uint8_t fa_esv); 137 122 138 123 /* 139 * ECN_ENOD_ID ã®æååå¤æ124 * ECN_ENOD_IDの文字列変換 140 125 */ 141 126 const char *_ecn_dbg_enod2str(ECN_ENOD_ID fa_enod_id); -
azure_iot_hub/trunk/ntshell/echonet/echonet_fbs.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 4 4 * Copyright (C) 2014 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 * åºå®é·ãããã¡å¯å¤é·ã¹ããªã¼ã39 * 固定長バッファ可変長ストリーム 55 40 */ 56 41 … … 299 284 } 300 285 301 /* ã¡ã¢ãªãããã¯åå¾ ok:ãã¤ã³ã¿NG:NULL */286 /* メモリブロック取得 ok:ポインタ NG:NULL */ 302 287 void *_ecn_fbs_dtq_get(ECN_FBS_SIZE_T fa_req_size) 303 288 { … … 325 310 } 326 311 327 /* ã¡ã¢ãªãããã¯è§£æ¾*/312 /* メモリブロック解放 */ 328 313 ER _ecn_fbs_dtq_rel(void *p) 329 314 { … … 337 322 } 338 323 339 /* é å確ä¿*/324 /* 領域確保 */ 340 325 ER _ecn_fbs_cre(ECN_FBS_SIZE_T fa_req_size, ECN_FBS_ID *fp_id) 341 326 { … … 343 328 } 344 329 345 /* é å解æ¾*/330 /* 領域解放 */ 346 331 ER _ecn_fbs_del(ECN_FBS_ID fa_id) 347 332 { … … 349 334 } 350 335 351 /* ä¿æãã¼ã¿ã®æç¡*/336 /* 保持データの有無 */ 352 337 bool_t _ecn_fbs_exist_data(ECN_FBS_ID fa_id) 353 338 { … … 355 340 } 356 341 357 /* ä¿æãã¼ã¿é·ã®åå¾*/342 /* 保持データ長の取得 */ 358 343 ECN_FBS_SSIZE_T _ecn_fbs_get_datalen(ECN_FBS_ID fa_id) 359 344 { … … 361 346 } 362 347 363 /* èªã¿åãã«ã¼ã½ã«ã®ä½ç½®åå¾*/348 /* 読み取りカーソルの位置取得 */ 364 349 ECN_FBS_SSIZE_T _ecn_fbs_get_rpos(ECN_FBS_ID fa_id) 365 350 { … … 367 352 } 368 353 369 /* èªã¿åãã«ã¼ã½ã«ã®ä½ç½®è¨å®*/354 /* 読み取りカーソルの位置設定 */ 370 355 ER _ecn_fbs_set_rpos(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_pos) 371 356 { 372 if (fa_id.ptr->hdr.length <= (unsigned int)fa_pos) /* ä½ç½®æå®ã大ãããã*/357 if (fa_id.ptr->hdr.length <= (unsigned int)fa_pos) /* 位置指定が大きすぎる */ 373 358 return E_PAR; 374 359 … … 378 363 } 379 364 380 /* èªã¿åãã«ã¼ã½ã«ã®ä½ç½®ç§»å*/365 /* 読み取りカーソルの位置移動 */ 381 366 ER _ecn_fbs_seek_rpos(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_seek) 382 367 { … … 388 373 } 389 374 390 /* ä»»ææå®ä½ç½®ã®1byteèªã¿åã*/375 /* 任意指定位置の1byte読み取り */ 391 376 int _ecn_fbs_peek(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_seek) 392 377 { … … 399 384 } 400 385 401 /* ä»»ææå®ä½ç½®ã®1byteæ¸ãè¾¼ã¿*/386 /* 任意指定位置の1byte書き込み */ 402 387 ER _ecn_fbs_poke(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_seek, int fa_val) 403 388 { … … 410 395 } 411 396 412 /* ãã¼ã¿è¿½å*/397 /* データ追加 */ 413 398 ER _ecn_fbs_add_data(ECN_FBS_ID fa_id, const void *fa_dat, ECN_FBS_SSIZE_T fa_len) 414 399 { … … 420 405 } 421 406 422 /* ãã¼ã¿è¿½å (é åãèªåçã«æ¡å¼µãã) */407 /* データ追加(領域を自動的に拡張する) */ 423 408 ER _ecn_fbs_add_data_ex(ECN_FBS_ID fa_id, const void *fa_dat, ECN_FBS_SSIZE_T fa_len) 424 409 { … … 427 412 } 428 413 429 /* ãã¼ã¿åå¾*/414 /* データ取得 */ 430 415 ER _ecn_fbs_get_data(ECN_FBS_ID fa_id, void *fa_buf, ECN_FBS_SSIZE_T fa_maxlen, ECN_FBS_SSIZE_T *p_len) 431 416 { -
azure_iot_hub/trunk/ntshell/echonet/echonet_fbs.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) 2014 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 責ãããã¨ï¼ 42 * 43 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 44 ã 45 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 46 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 47 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 48 * ã®è²¬ä»»ãè² ããªãï¼ 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 * 免責すること. 28 * 29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 49 34 * 50 35 * @(#) $Id$ … … 52 37 53 38 /* 54 * åºå®é·ãããã¡å¯å¤é·ã¹ããªã¼ã39 * 固定長バッファ可変長ストリーム 55 40 */ 56 41 … … 66 51 67 52 #ifndef ECHONET_MEMPOOL_GET_TMO 68 #define ECHONET_MEMPOOL_GET_TMO (0) /* ã¡ã¢ãªãã¼ã«åå¾æã®ã¿ã¤ã ã¢ã¦ãæå®*/53 #define ECHONET_MEMPOOL_GET_TMO (0) /* メモリプール取得時のタイムアウト指定 */ 69 54 #endif /* ECHONET_MEMPOOL_GET_TMO */ 70 55 71 56 #ifndef NUM_ECHONET_MEMPOOL_BLOCK 72 #define NUM_ECHONET_MEMPOOL_BLOCK (60) /* é»æç¨ã¡ã¢ãªãããã¯ã®æ°*/57 #define NUM_ECHONET_MEMPOOL_BLOCK (60) /* 電文用メモリブロックの数 */ 73 58 #endif /* NUM_ECHONET_MEMPOOL_BLOCK */ 74 59 75 60 #ifndef ECHONET_MEMPOOL_BLOCK_SIZE 76 #define ECHONET_MEMPOOL_BLOCK_SIZE (256) /* é»æç¨ã¡ã¢ãªãããã¯ã®ãµã¤ãº*/61 #define ECHONET_MEMPOOL_BLOCK_SIZE (256) /* 電文用メモリブロックのサイズ */ 77 62 #endif /* ECHONET_MEMPOOL_BLOCK_SIZE */ 78 63 79 typedef unsigned int ECN_FBS_SIZE_T; /* size_t ç¸å½*/80 typedef int ECN_FBS_SSIZE_T; /* ssize_t ç¸å½*/81 82 /* T_EDATA 管çé åãµã¤ãº*/64 typedef unsigned int ECN_FBS_SIZE_T; /* size_t相当 */ 65 typedef int ECN_FBS_SSIZE_T; /* ssize_t相当 */ 66 67 /* T_EDATA管理領域サイズ */ 83 68 #ifndef T_MSG 84 69 typedef intptr_t T_MSG; … … 86 71 #define DEF_ECN_EDT_HDR_LEN (sizeof(T_MSG)) 87 72 88 /* 管çé åãµã¤ãº(64byte - sizeof(T_MSG)) */73 /* 管理領域サイズ(64byte - sizeof(T_MSG)) */ 89 74 /* #define DEF_ECN_FBS_LIB_HDR_LEN ((ECHONET_MEMPOOL_BLOCK_SIZE + sizeof(int) - 1)>> 2) // */ 90 75 #define DEF_ECN_FBS_LIB_HDR_LEN (64 - DEF_ECN_EDT_HDR_LEN) 91 76 92 /* 管çé åãå«ããããã¯ã«ä¿æãããã¼ã¿ãµã¤ãº*/77 /* 管理領域を含むブロックに保持するデータサイズ */ 93 78 #define DEF_ECN_FBS_FST_DAT_LEN (64) 94 79 95 /* ãªã³ã¯ãã¤ã³ã¿é 96 åã®ãµã¤ãº(byte) */ 80 /* リンクポインタ配列のサイズ(byte) */ 97 81 #define DEF_ECN_FBS_LNK_LEN (ECHONET_MEMPOOL_BLOCK_SIZE - DEF_ECN_EDT_HDR_LEN - DEF_ECN_FBS_LIB_HDR_LEN - DEF_ECN_FBS_FST_DAT_LEN) 98 82 99 /* åºå®é·ãããã¡æ大ãµã¤ãº*/83 /* 固定長バッファ最大サイズ */ 100 84 #define DEF_ECN_FBS_BUF_MAXLEN ((DEF_ECN_FBS_LNK_LEN / sizeof(void *)) * ECHONET_MEMPOOL_BLOCK_SIZE + DEF_ECN_FBS_FST_DAT_LEN) 101 85 102 /* åè¦ç´ ãããã¡ã®ãµã¤ãº*/86 /* 子要素バッファのサイズ */ 103 87 #define DEF_ECN_FBS_SUB_BUF_LEN ECHONET_MEMPOOL_BLOCK_SIZE 104 88 105 /* é»æã®ç¨®å¥(å 106 容ã¯ä»®) */ 89 /* 電文の種別(内容は仮) */ 107 90 typedef enum 108 91 { 109 ECN_FBS_TYPE_BLANK = 0, /* æªä½¿ç¨ã¹ããªã¼ã */ 110 ECN_FBS_TYPE_INTERNAL = 1, /* å 111 é¨ã¡ãã»ã¼ã¸ */ 112 ECN_FBS_TYPE_ECHONET = 2 /* ECHONETé»æ */ 92 ECN_FBS_TYPE_BLANK = 0, /* 未使用ストリーム */ 93 ECN_FBS_TYPE_INTERNAL = 1, /* 内部メッセージ */ 94 ECN_FBS_TYPE_ECHONET = 2 /* ECHONET電文 */ 113 95 } TA_ECN_MSG_TYPE; 114 96 115 /* ãªã³ã¯ãã¤ã³ã¿é 116 åã«åæããããåè¦ç´ ãããã¡ */ 97 /* リンクポインタ配列に列挙される、子要素バッファ */ 117 98 typedef struct 118 99 { … … 120 101 } T_ECN_SUB_BLK; 121 102 122 /* ãªã³ã¯ãã¤ã³ã¿é 123 å */ 103 /* リンクポインタ配列 */ 124 104 typedef union 125 105 { … … 128 108 } T_ECN_FBS_LNK; 129 109 130 /* 管çé å(64byte - sizeof(T_MSG)) */110 /* 管理領域(64byte - sizeof(T_MSG)) */ 131 111 typedef struct 132 112 { 133 uint16_t length; /* ã¡ãã»ã¼ã¸é·*/134 uint16_t type; /* ã¡ãã»ã¼ã¸ã¿ã¤ã*/113 uint16_t length; /* メッセージ長 */ 114 uint16_t type; /* メッセージタイプ */ 135 115 union{ 136 ECN_ENOD_ID id; /* éä¿¡å 137 ãã¼ãIDï¼ECHONETé»æï¼ */ 138 ID dtqid; /* éä¿¡å 139 ã¡ã¼ã«ããã¯ã¹IDï¼å 140 é¨ã¡ãã»ã¼ã¸ï¼ */ 116 ECN_ENOD_ID id; /* 送信元ノードID(ECHONET電文) */ 117 ID dtqid; /* 送信元メールボックスID(内部メッセージ) */ 141 118 }sender; 142 119 union{ 143 ECN_ENOD_ID id; /* éä¿¡å 144 ãã¼ãIDï¼ECHONETé»æï¼ */ 145 ID dtqid; /* éä¿¡å 146 ã¡ã¼ã«ããã¯ã¹IDï¼å 147 é¨ã¡ãã»ã¼ã¸ï¼ */ 120 ECN_ENOD_ID id; /* 送信先ノードID(ECHONET電文) */ 121 ID dtqid; /* 送信先メールボックスID(内部メッセージ) */ 148 122 }target; 149 123 union{ 150 ECN_ENOD_ID id; /* è¿ä¿¡å 151 ãã¼ãIDï¼ECHONETé»æï¼ */ 152 ID dtqid; /* è¿ä¿¡å 153 ã¡ã¼ã«ããã¯ã¹IDï¼å 154 é¨ã¡ãã»ã¼ã¸ï¼ */ 124 ECN_ENOD_ID id; /* 返信先ノードID(ECHONET電文) */ 125 ID dtqid; /* 返信先メールボックスID(内部メッセージ) */ 155 126 }reply; 156 127 157 int rd; /* èªã¿åããããæ 158 å ± */ 159 int wr; /* æ¸ãè¾¼ã¿ãããæ 160 å ± */ 128 int rd; /* 読み取りヘッド情報 */ 129 int wr; /* 書き込みヘッド情報 */ 161 130 } T_ECN_FBS_HDR; 162 131 163 /* 管çé åãå«ããããã¯ã®æ§é*/132 /* 管理領域を含むブロックの構造 */ 164 133 typedef struct 165 134 { 166 135 uint8_t _msg[DEF_ECN_EDT_HDR_LEN]; /* T_MSG */ 167 T_ECN_FBS_HDR hdr; /* 管çé å64byte - sizeof(T_MSG) */136 T_ECN_FBS_HDR hdr; /* 管理領域 64byte - sizeof(T_MSG) */ 168 137 uint8_t _gap[DEF_ECN_FBS_LIB_HDR_LEN - sizeof(T_ECN_FBS_HDR)]; 169 T_ECN_FBS_LNK lnk; /* ãªã³ã¯ãã¤ã³ã¿é 170 å 128byte */ 138 T_ECN_FBS_LNK lnk; /* リンクポインタ配列 128byte */ 171 139 uint8_t payload[DEF_ECN_FBS_FST_DAT_LEN]; 172 140 } T_ECN_FST_BLK; … … 178 146 } ECN_FBS_ID; 179 147 180 /* ã¡ãã»ã¼ã¸ãã¥ã¼*/148 /* メッセージキュー */ 181 149 typedef struct ecn_fbs_queue 182 150 { 183 T_ECN_FST_BLK *pk_head; /* å 184 é ã®ã¡ãã»ã¼ã¸ */ 185 T_ECN_FST_BLK *pk_last; /* æ«å°¾ã®ã¡ãã»ã¼ã¸ */ 151 T_ECN_FST_BLK *pk_head; /* 先頭のメッセージ */ 152 T_ECN_FST_BLK *pk_last; /* 末尾のメッセージ */ 186 153 } T_ECN_FBS_QUEUE; 187 154 188 /* ã¡ã¢ãªãããã¯åå¾ ok:ãã¤ã³ã¿NG:NULL */155 /* メモリブロック取得 ok:ポインタ NG:NULL */ 189 156 void *_ecn_fbs_dtq_get(ECN_FBS_SIZE_T fa_req_size); 190 157 191 /* ã¡ã¢ãªãããã¯è§£æ¾ ok:0 NG:é0 */158 /* メモリブロック解放 ok:0 NG:非0 */ 192 159 ER _ecn_fbs_dtq_rel(void *p); 193 160 194 161 /* 195 * é å確ä¿196 * å¼æ°197 * ECN_FBS_SIZE_T fa_req_size è¦æ±ãããã¡ãµã¤ãº(byte)162 * 領域確保 163 * 引数 164 * ECN_FBS_SIZE_T fa_req_size 要求バッファサイズ(byte) 198 165 * max: DEF_ECN_FBS_BUF_MAXLEN 199 * ECN_FBS_ID *fp_id 確ä¿ããFBS-IDã®æ ¼ç´å 200 201 * æ»ãå¤ 202 * ER 0:ok é0:NG 166 * ECN_FBS_ID *fp_id 確保したFBS-IDの格納先 167 * 戻り値 168 * ER 0:ok 非0:NG 203 169 */ 204 170 ER _ecn_fbs_cre(ECN_FBS_SIZE_T fa_req_size, ECN_FBS_ID *fp_id); 205 171 206 172 /* 207 * é å解æ¾208 * å¼æ°209 * ecn_fbs_id å 確ä¿ããFBS-ID210 * æ»ãå¤211 * ER 0:ok, é0:NG173 * 領域解放 174 * 引数 175 * ecn_fbs_id型 確保したFBS-ID 176 * 戻り値 177 * ER 0:ok, 非0:NG 212 178 */ 213 179 ER _ecn_fbs_del(ECN_FBS_ID fa_id); 214 180 215 181 /* 216 * ä¿æãã¼ã¿ã®æç¡217 * å¼æ°218 * ecn_fbs_id å 確ä¿ããFBS-ID219 * æ»ãå¤220 * bool_t 0: ç¡ã, 1:ãã182 * 保持データの有無 183 * 引数 184 * ecn_fbs_id型 確保したFBS-ID 185 * 戻り値 186 * bool_t 0:無し, 1:あり 221 187 */ 222 188 bool_t _ecn_fbs_exist_data(ECN_FBS_ID fa_id); 223 189 224 190 /* 225 * ä¿æãã¼ã¿é·ã®åå¾226 * å¼æ°227 * ecn_fbs_id å 確ä¿ããFBS-ID228 * æ»ãå¤229 * ECN_FBS_SSIZE_T ä¿æãã¦ãããã¼ã¿ã®é·ã(byte) -1:NG191 * 保持データ長の取得 192 * 引数 193 * ecn_fbs_id型 確保したFBS-ID 194 * 戻り値 195 * ECN_FBS_SSIZE_T 保持しているデータの長さ(byte) -1:NG 230 196 */ 231 197 ECN_FBS_SSIZE_T _ecn_fbs_get_datalen(ECN_FBS_ID fa_id); 232 198 233 199 /* 234 * èªã¿åãã«ã¼ã½ã«ã®ä½ç½®åå¾ 235 * å¼æ° 236 * ecn_fbs_idå 確ä¿ããFBS-ID 237 * æ»ãå¤ 238 * ECN_FBS_SIZE_T å 239 é ããã®çµ¶å¯¾ä½ç½® -1:NG 200 * 読み取りカーソルの位置取得 201 * 引数 202 * ecn_fbs_id型 確保したFBS-ID 203 * 戻り値 204 * ECN_FBS_SIZE_T 先頭からの絶対位置 -1:NG 240 205 */ 241 206 ECN_FBS_SSIZE_T _ecn_fbs_get_rpos(ECN_FBS_ID fa_id); 242 207 243 208 /* 244 * èªã¿åãã«ã¼ã½ã«ã®ä½ç½®è¨å® 245 * å¼æ° 246 * ecn_fbs_idå 確ä¿ããFBS-ID 247 * ECN_FBS_SIZE_T fa_pos è¨å®ããä½ç½®(å 248 é ããã®çµ¶å¯¾ä½ç½®) 249 * æ»ãå¤ 250 * ER 0:ok, é0:NG 209 * 読み取りカーソルの位置設定 210 * 引数 211 * ecn_fbs_id型 確保したFBS-ID 212 * ECN_FBS_SIZE_T fa_pos 設定する位置(先頭からの絶対位置) 213 * 戻り値 214 * ER 0:ok, 非0:NG 251 215 */ 252 216 ER _ecn_fbs_set_rpos(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_pos); 253 217 254 218 /* 255 * èªã¿åãã«ã¼ã½ã«ã®ä½ç½®ç§»å256 * å¼æ°257 * ecn_fbs_id å 確ä¿ããFBS-ID258 * ECN_FBS_SIZE_T fa_seek 移åé(ç¾ç¶ãåé²ã®ã¿)259 * æ»ãå¤260 * ER 0:ok, é0:NG219 * 読み取りカーソルの位置移動 220 * 引数 221 * ecn_fbs_id型 確保したFBS-ID 222 * ECN_FBS_SIZE_T fa_seek 移動量(現状、前進のみ) 223 * 戻り値 224 * ER 0:ok, 非0:NG 261 225 */ 262 226 ER _ecn_fbs_seek_rpos(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_seek); 263 227 264 228 /* 265 * ä»»ææå®ä½ç½®ã®1byteèªã¿åã229 * 任意指定位置の1byte読み取り 266 230 */ 267 231 int _ecn_fbs_peek(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_seek); 268 232 269 233 /* 270 * ä»»ææå®ä½ç½®ã®1byteæ¸ãè¾¼ã¿234 * 任意指定位置の1byte書き込み 271 235 */ 272 236 ER _ecn_fbs_poke(ECN_FBS_ID fa_id, ECN_FBS_SSIZE_T fa_seek, int fa_val); 273 237 274 238 /* 275 * ãã¼ã¿è¿½å276 * å¼æ°277 * ecn_fbs_id å 確ä¿ããFBS-ID278 * const void * fa_dat 追å ãããã¼ã¿279 * ECN_FBS_SSIZE_T fa_len 追å ããé·ã(byte)280 * æ»ãå¤281 * ER 0:ok, é0:NG239 * データ追加 240 * 引数 241 * ecn_fbs_id型 確保したFBS-ID 242 * const void * fa_dat 追加するデータ 243 * ECN_FBS_SSIZE_T fa_len 追加する長さ(byte) 244 * 戻り値 245 * ER 0:ok, 非0:NG 282 246 */ 283 247 ER _ecn_fbs_add_data(ECN_FBS_ID fa_id, const void *fa_dat, ECN_FBS_SSIZE_T fa_len); 284 248 285 249 /* 286 * ãã¼ã¿è¿½å (é åãèªåçã«æ¡å¼µãã)287 * å¼æ°288 * ecn_fbs_id å 確ä¿ããFBS-ID289 * const void * fa_dat 追å ãããã¼ã¿290 * ECN_FBS_SSIZE_T fa_len 追å ããé·ã(byte)291 * æ»ãå¤292 * ER 0:ok, é0:NG250 * データ追加(領域を自動的に拡張する) 251 * 引数 252 * ecn_fbs_id型 確保したFBS-ID 253 * const void * fa_dat 追加するデータ 254 * ECN_FBS_SSIZE_T fa_len 追加する長さ(byte) 255 * 戻り値 256 * ER 0:ok, 非0:NG 293 257 */ 294 258 ER _ecn_fbs_add_data_ex(ECN_FBS_ID fa_id, const void *fa_dat, ECN_FBS_SSIZE_T fa_len); 295 259 296 260 /* 297 * ãã¼ã¿åå¾298 * å¼æ°299 * ecn_fbs_id å 確ä¿ããFBS-ID300 * void * fa_buf åå¾ãããããã¡301 * ECN_FBS_SSIZE_T fa_maxlen åå¾ããé·ã(byte)302 * ECN_FBS_SSIZE_T *p_len åå¾ããé·ã(byte)303 * æ»ãå¤304 * ER 0:ok, é0:NG261 * データ取得 262 * 引数 263 * ecn_fbs_id型 確保したFBS-ID 264 * void * fa_buf 取得するバッファ 265 * ECN_FBS_SSIZE_T fa_maxlen 取得する長さ(byte) 266 * ECN_FBS_SSIZE_T *p_len 取得した長さ(byte) 267 * 戻り値 268 * ER 0:ok, 非0:NG 305 269 */ 306 270 ER _ecn_fbs_get_data(ECN_FBS_ID fa_id, void *fa_buf, ECN_FBS_SSIZE_T fa_maxlen, -
azure_iot_hub/trunk/ntshell/echonet/echonet_lcl_task.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) 2014 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 -
azure_iot_hub/trunk/ntshell/echonet/echonet_rename.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) 2014 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$ -
azure_iot_hub/trunk/ntshell/echonet/echonet_sym.def
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/echonet/echonet_task.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 4 4 * Copyright (C) 2014 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 … … 86 71 #endif /* ECHONET_TASK_TIMEOUT */ 87 72 88 /* ã¢ããªã±ã¼ã·ã§ã³ãè¦æ±ããé»æã®ã·ã¼ã±ã³ã¹çªå·*/73 /* アプリケーションが要求した電文のシーケンス番号 */ 89 74 static uint16_t g_api_tid; 90 75 91 /* åä¿¡ã¡ãã»ã¼ã¸ãéæ¾ãããå¦ã*/76 /* 受信メッセージを開放するか否か */ 92 77 static bool_t g_release_esv; 93 78 … … 131 116 i += - ENOD_REMOTE_ID + 1; 132 117 if (from_app && (i < tnum_enodid)) { 133 /* éåæã®ãªã¢ã¼ããã¼ãã¯ãµã¼ãã¹å¦çã¿ã¹ã¯ã§å¦çãã*/118 /* 非同期のリモートノードはサービス処理タスクで処理する */ 134 119 switch (eobjcb_table[i].profile->eobjatr) { 135 120 case EOBJ_SYNC_REMOTE_NODE: … … 179 164 ECN_FBS_ID fa_fbs_id, ECN_FBS_ID *fa_fbs_anno); 180 165 181 /* ã¢ã¸ã¥ã¼ã«åæåãã©ã°*/166 /* モジュール初期化フラグ */ 182 167 static uint8_t m_eobjlist_need_init = 1; 183 168 184 /* ã·ã¼ã±ã³ã¹çªå·*/169 /* シーケンス番号 */ 185 170 static uint16_t g_current_tid = 1; 186 171 187 172 /* 188 * ECHONET Lite ã¿ã¹ã¯ã®åæåï¼ã³ã³ã¹ãã©ã¯ã¿ç¸å½ï¼173 * ECHONET Lite タスクの初期化(コンストラクタ相当) 189 174 */ 190 175 void echonet_task_init(intptr_t exinf) … … 195 180 196 181 /* 197 * ã¢ã¸ã¥ã¼ã«åæå182 * モジュール初期化 198 183 */ 199 184 static void _ecn_tsk_int_module_init(intptr_t exinf) … … 216 201 217 202 /* 218 * ECHONET Lite ã¿ã¹ã¯ã®æ¬ä½203 * ECHONET Lite タスクの本体 219 204 */ 220 205 void echonet_task(intptr_t fa_exinf) … … 240 225 } 241 226 242 /* ã¡ãã»ã¼ã¸ã«ã¼ã*/227 /* メッセージループ */ 243 228 for (;;) { 244 229 a_prev = a_now; … … 278 263 279 264 switch (a_mdt.fbs_id.ptr->hdr.type) { 280 /* å 281 é¨ä½¿ç¨ã¡ãã»ã¼ã¸ */ 265 /* 内部使用メッセージ */ 282 266 case ECN_MSG_INTERNAL: 283 267 _ecn_tsk_int_msg(fa_exinf, a_mdt.fbs_id); 284 268 break; 285 269 286 /* ECHONET ç¨ã¡ãã»ã¼ã¸*/270 /* ECHONET用メッセージ */ 287 271 case ECN_MSG_ECHONET: 288 272 _ecn_tsk_ecn_msg(fa_exinf, a_mdt.fbs_id); … … 293 277 } 294 278 295 /* é å解æ¾*/279 /* 領域解放 */ 296 280 if (g_release_esv) 297 281 _ecn_fbs_del(a_mdt.fbs_id); … … 306 290 307 291 /* 308 * ã·ã¼ã±ã³ã¹çªå·çæ292 * シーケンス番号生成 309 293 */ 310 294 static uint16_t _ecn_tsk_new_tid(void) … … 314 298 315 299 /* 316 * è¦æ±é»æä½æ 317 * å¼æ° 318 * ECN_FBS_ID *fp_fbs_id åå¾ããFBS_IDã®æ ¼ç´å 319 320 * ID fa_seoj éä¿¡å 321 ã®ECHONETãªãã¸ã§ã¯ãID 322 * ID fa_deoj å®å 323 ã®ECHONETãªãã¸ã§ã¯ãID 324 * uint8_t fa_epc ããããã£ã³ã¼ã 325 * uint8_t fa_pdc ããããã£å¤ãã¼ã¿ãµã¤ãº 326 * const void *p_edt ããããã£å¤ãã¼ã¿ 327 * ECN_SRV_CODE fa_esv ECHONET Light ãµã¼ãã¹ã³ã¼ã 300 * 要求電文作成 301 * 引数 302 * ECN_FBS_ID *fp_fbs_id 取得したFBS_IDの格納先 303 * ID fa_seoj 送信元のECHONETオブジェクトID 304 * ID fa_deoj 宛先のECHONETオブジェクトID 305 * uint8_t fa_epc プロパティコード 306 * uint8_t fa_pdc プロパティ値データサイズ 307 * const void *p_edt プロパティ値データ 308 * ECN_SRV_CODE fa_esv ECHONET Light サービスコード 328 309 */ 329 310 ER _ecn_tsk_mk_esv(ECN_FBS_ID *fp_fbs_id, ID fa_seoj, ID fa_deoj, … … 332 313 ER a_ret; 333 314 int a_size, i; 334 ECN_FBS_ID a_fbs_id = { 0 }; /* è¦æ±é»æç¨ã¡ã¢ãª*/315 ECN_FBS_ID a_fbs_id = { 0 }; /* 要求電文用メモリ */ 335 316 T_ECN_EDT_HDR a_ecn_hdp; /* ecn_hdr+edata+ecn_prp 14byte */ 336 317 ID a_enodid; … … 339 320 340 321 if (!fp_fbs_id) 341 return E_PAR; /* åå¾ããFBS_IDã®æ ¼ç´å 342 ãNULL */ 322 return E_PAR; /* 取得したFBS_IDの格納先がNULL */ 343 323 if (ECHONET_MEMPOOL_BLOCK_SIZE <= fa_pdc) 344 return E_PAR; /* ããããã£å¤ãµã¤ãºã大ãããã*/324 return E_PAR; /* プロパティ値サイズが大きすぎる */ 345 325 if (!p_edt && 0 < fa_pdc) 346 return E_PAR; /* ããããã£å¤ãµã¤ãºã1以ä¸ãªã®ã«ãã¼ã¿ãã¤ã³ã¿ãNULL */326 return E_PAR; /* プロパティ値サイズが1以上なのにデータポインタがNULL */ 347 327 348 328 if (fa_seoj <= EOBJ_NULL || tmax_eobjid < fa_seoj) 349 return E_NOEXS; /* ECHONET ãªãã¸ã§ã¯ãIDãæªå®ç¾©*/329 return E_NOEXS; /* ECHONETオブジェクトIDが未定義 */ 350 330 #ifndef ECHONET_CONTROLLER_EXTENTION 351 331 if (fa_deoj < EOBJ_NULL || tmax_eobjid < fa_deoj) 352 return E_NOEXS; /* ECHONET ãªãã¸ã§ã¯ãIDãæªå®ç¾©*/332 return E_NOEXS; /* ECHONETオブジェクトIDが未定義 */ 353 333 #else 354 334 if (fa_deoj < EOBJ_NULL || (tmax_eobjid + TNUM_AEOBJID) < fa_deoj) 355 return E_NOEXS; /* ECHONET ãªãã¸ã§ã¯ãIDãæªå®ç¾©*/335 return E_NOEXS; /* ECHONETオブジェクトIDが未定義 */ 356 336 #endif 357 337 if (fa_deoj == EOBJ_NULL && fa_esv == ESV_INFC) 358 return E_NOEXS; /* ECHONET ãªãã¸ã§ã¯ãIDãæªå®ç¾©*/359 360 /* è¦æ±æå°ãµã¤ãºã®åå¾*/338 return E_NOEXS; /* ECHONETオブジェクトIDが未定義 */ 339 340 /* 要求最小サイズの取得 */ 361 341 a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP); 362 342 363 /* è¦æ±é»æç¨ã¡ã¢ãªã®åå¾*/343 /* 要求電文用メモリの取得 */ 364 344 a_ret = _ecn_fbs_cre(a_size, &a_fbs_id); 365 if (a_ret != E_OK || !a_fbs_id.ptr) { /* 確ä¿å¤±æ*/345 if (a_ret != E_OK || !a_fbs_id.ptr) { /* 確保失敗 */ 366 346 ECN_DBG_PUT_3("_ecn_fbs_cre(%d) result = %d:%s", 367 347 a_size, … … 370 350 } 371 351 372 /* è¦æ±é»æè¨å®*/352 /* 要求電文設定 */ 373 353 memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp)); 374 354 a_ecn_hdp.ecn_hdr.ehd1 = ECN_EDH1_ECHONET_LITE; … … 377 357 memcpy(&a_ecn_hdp.edata.seoj, &eobjinib_table[fa_seoj - 1].eojx1, sizeof(a_ecn_hdp.edata.seoj)); 378 358 a_ecn_hdp.edata.esv = fa_esv; 379 a_ecn_hdp.edata.opc = 1; /* å¦çããããã£æ°*/380 a_ecn_hdp.ecn_prp.epc = fa_epc; /* ããããã£ã³ã¼ã*/381 a_ecn_hdp.ecn_prp.pdc = fa_pdc; /* ä»éãã¼ã¿ãµã¤ãº*/382 383 /* è¦æ±é»æç¨ã¡ã¢ãªã«ãã¼ã¿è¿½å*/359 a_ecn_hdp.edata.opc = 1; /* 処理プロパティ数 */ 360 a_ecn_hdp.ecn_prp.epc = fa_epc; /* プロパティコード */ 361 a_ecn_hdp.ecn_prp.pdc = fa_pdc; /* 付随データサイズ */ 362 363 /* 要求電文用メモリにデータ追加 */ 384 364 a_ret = _ecn_fbs_add_data_ex(a_fbs_id, &a_ecn_hdp, a_size); 385 365 if (a_ret) { … … 390 370 } 391 371 if (0 < fa_pdc) { 392 /* ä»éãã¼ã¿è¿½å*/372 /* 付随データ追加 */ 393 373 a_ret = _ecn_fbs_add_data_ex(a_fbs_id, p_edt, fa_pdc); 394 374 if (a_ret) { … … 400 380 } 401 381 if (fa_deoj == 0) { 402 ECN_DBG_PUT(" ãã«ããã£ã¹ã");403 /* fa_deoj == 0 : ãã«ããã£ã¹ã*/382 ECN_DBG_PUT("マルチキャスト"); 383 /* fa_deoj == 0 : マルチキャスト */ 404 384 ((T_EDATA *)a_fbs_id.ptr)->hdr.edata.deoj.eojx1 = EOJ_X1_PROFILE; 405 385 ((T_EDATA *)a_fbs_id.ptr)->hdr.edata.deoj.eojx2 = EOJ_X2_NODE_PROFILE; … … 409 389 else if (fa_deoj <= tmax_eobjid) { 410 390 ECN_DBG_PUT_1("fa_deoj = %d", fa_deoj); 411 /* if (fa_deoj < 1 || tmax_eobjid < fa_deoj) â¦ã®ç°å¸¸ç³»ã¯é¢æ°åé ã§é¤å¤æ¸ã¿ã¨ãã*/391 /* if (fa_deoj < 1 || tmax_eobjid < fa_deoj) …の異常系は関数冒頭で除外済みとする */ 412 392 a_eobj = &eobjinib_table[fa_deoj - 1]; 413 393 memcpy(&((T_EDATA *)a_fbs_id.ptr)->hdr.edata.deoj, &a_eobj->eojx1, 414 394 sizeof(((T_EDATA *)a_fbs_id.ptr)->hdr.edata.deoj)); 415 395 416 /* ãã¼ãã«ããæ¤ç´¢*/396 /* テーブルから検索 */ 417 397 a_fbs_id.ptr->hdr.target.id = ENOD_NOT_MATCH_ID; 418 398 a_enodid = (a_eobj->enodid == 0) ? fa_deoj : a_eobj->enodid; … … 454 434 ECN_ENOD_ID enodid; 455 435 ECN_DBG_PUT_1("fa_deoj = %d", fa_deoj); 456 /* ãªãã¸ã§ã¯ãIDããEOJã¨ãã¼ãIDãåå¾*/436 /* オブジェクトIDからEOJとノードIDを取得 */ 457 437 if(ecn_agent_get_eoj_enodid(fa_deoj, &eoj, &enodid)){ 458 438 memcpy(&((T_EDATA *)a_fbs_id.ptr)->hdr.edata.deoj, &eoj, … … 487 467 a_fbs_id.ptr->hdr.reply.id = ENOD_API_ID; 488 468 489 /* æ£å¸¸çµäº*/469 /* 正常終了 */ 490 470 *fp_fbs_id = a_fbs_id; 491 471 return E_OK; 492 472 493 473 lb_except: 494 /* ãã¼ã¿ä½æ失æãããé å解æ¾*/474 /* データ作成失敗したら領域解放 */ 495 475 if (a_fbs_id.ptr) 496 476 _ecn_fbs_del(a_fbs_id); … … 500 480 501 481 /* 502 * å 503 é¨ä½¿ç¨ã¡ãã»ã¼ã¸ 482 * 内部使用メッセージ 504 483 */ 505 484 static void _ecn_tsk_int_msg(intptr_t fa_exinf, ECN_FBS_ID fa_fbs_id) … … 532 511 533 512 /* 534 * ã¿ã¹ã¯åæå513 * タスク初期化 535 514 */ 536 515 static void _ecn_tsk_int_startup(intptr_t fa_exinf) … … 541 520 _ecn_tsk_int_module_init(fa_exinf); 542 521 543 /* ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãéç¥ã®éä¿¡*/522 /* インスタンスリスト通知の送信 */ 544 523 a_ret = _ecn_tsk_ntf_inl(fa_exinf); 545 524 if (a_ret) { … … 549 528 550 529 /* 551 * ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãéç¥ã®éä¿¡552 * ECHONET-Lite_Ver.1.10_02.pdf p.43 å³4-1-4530 * インスタンスリスト通知の送信 531 * ECHONET-Lite_Ver.1.10_02.pdf p.43 図4-1-4 553 532 */ 554 533 ER _ecn_tsk_ntf_inl(intptr_t fa_exinf) 555 534 { 556 const T_ECN_EOJ a_seoj = /* 0x01 : ä¸è¬ãã¼ãã0x02ï¼éä¿¡å°ç¨ãã¼ã*/535 const T_ECN_EOJ a_seoj = /* 0x01 : 一般ノード、0x02:送信専用ノード */ 557 536 { EOJ_X1_PROFILE, EOJ_X2_NODE_PROFILE, 0x01 }; 558 537 const T_ECN_EOJ a_deoj = … … 564 543 int i; 565 544 uint8_t a_count; 566 const EOBJCB *enod = &eobjcb_table[0]; /* ãã¼ã«ã«ãã¼ã*/545 const EOBJCB *enod = &eobjcb_table[0]; /* ローカルノード */ 567 546 const EOBJINIB *eobj; 568 547 … … 582 561 583 562 if (!a_eoj_ct) { 584 /* ã¡ã¢ãªç¢ºä¿ã»ãããæ ¼ç´*/585 a_hdr.ecn_hdr.tid = (uint8_t)_ecn_tsk_new_tid(); /* ã·ã¼ã±ã³ã¹çªå·çæ*/563 /* メモリ確保・ヘッダ格納 */ 564 a_hdr.ecn_hdr.tid = (uint8_t)_ecn_tsk_new_tid(); /* シーケンス番号生成 */ 586 565 a_ret = _ecn_fbs_cre(sizeof(a_hdr), &a_fbs); 587 if (a_ret != E_OK) /* 確ä¿å¤±æ*/566 if (a_ret != E_OK) /* 確保失敗 */ 588 567 goto lb_except; 589 568 a_ret = _ecn_fbs_add_data(a_fbs, &a_hdr, sizeof(a_hdr)); 590 if (a_ret != E_OK) /* ãã¼ã¿è¿½å 失æ*/569 if (a_ret != E_OK) /* データ追加失敗 */ 591 570 goto lb_except; 592 571 … … 595 574 a_fbs.ptr->hdr.target.id = ENOD_MULTICAST_ID; 596 575 a_fbs.ptr->hdr.reply.id = ENOD_LOCAL_ID; 597 ((T_EDATA *)a_fbs.ptr)->hdr.ecn_prp.pdc = 1; /* 件æ°*/598 /* 件æ°ãæ ¼ç´*/576 ((T_EDATA *)a_fbs.ptr)->hdr.ecn_prp.pdc = 1; /* 件数 */ 577 /* 件数を格納 */ 599 578 a_count = (uint8_t)(enod->eobjcnt - i); 600 579 if (a_count >= ECN_IST_LST_EOJ_MAX_CT) 601 580 a_count = ECN_IST_LST_EOJ_MAX_CT; 602 581 a_ret = _ecn_fbs_add_data_ex(a_fbs, &a_count, sizeof(a_count)); 603 if (a_ret != E_OK) /* ãã¼ã¿è¿½å 失æ*/582 if (a_ret != E_OK) /* データ追加失敗 */ 604 583 goto lb_except; 605 584 } 606 /* ECHONET ãªãã¸ã§ã¯ãID(3byte)ãæ ¼ç´*/585 /* ECHONETオブジェクトID(3byte)を格納 */ 607 586 a_ret = _ecn_fbs_add_data_ex(a_fbs, &eobj->eojx1, sizeof(T_ECN_EOJ)); 608 if (a_ret != E_OK) /* ãã¼ã¿è¿½å 失æ*/587 if (a_ret != E_OK) /* データ追加失敗 */ 609 588 goto lb_except; 610 589 611 /* 件æ°ã»edtãµã¤ãºå ç®*/590 /* 件数・edtサイズ加算 */ 612 591 ((T_EDATA *)a_fbs.ptr)->hdr.ecn_prp.pdc += sizeof(T_ECN_EOJ); 613 592 if (++a_eoj_ct < ECN_IST_LST_EOJ_MAX_CT) 614 593 continue; 615 594 616 /* 1 ã¢ãã¦ã³ã¹ã§ã®ä¸éã«éããããä¸æ¦éä¿¡*/595 /* 1アナウンスでの上限に達したら、一旦送信 */ 617 596 a_ret = _ecn_tsk_snd_dtq(a_fbs, false); 618 if (a_ret != E_OK) /* ãã¼ã¿é信失æ*/597 if (a_ret != E_OK) /* データ送信失敗 */ 619 598 goto lb_except; 620 599 a_eoj_ct = 0; … … 622 601 } 623 602 if (a_eoj_ct) { 624 /* æªéä¿¡ãã¼ã¿ããã£ãããéä¿¡*/603 /* 未送信データがあったら、送信 */ 625 604 a_ret = _ecn_tsk_snd_dtq(a_fbs, false); 626 if (a_ret != E_OK) /* ãã¼ã¿é信失æ*/605 if (a_ret != E_OK) /* データ送信失敗 */ 627 606 goto lb_except; 628 607 a_fbs.ptr = 0; … … 668 647 669 648 /* 670 * 3byteã®eobjidã§é 671 åä¸ãæ¤ç´¢ãã 649 * 3byteのeobjidで配列中を検索する 672 650 */ 673 651 const EOBJINIB *_ecn_eoj_fnd(const EOBJCB *fp_nod, const T_ECN_EOJ *fp_eoj) … … 702 680 703 681 /* 704 * é»æã®æ§æè¦ç´ æ°ã¨ãµã¤ãºã®ãã§ãã¯ãè¡ã682 * 電文の構成要素数とサイズのチェックを行う 705 683 */ 706 684 static bool_t _ecn_tsk_check_format(T_EDATA *edata, int len) … … 744 722 745 723 /* 746 * ECHONET ç¨ã¡ãã»ã¼ã¸724 * ECHONET用メッセージ 747 725 */ 748 726 static void _ecn_tsk_ecn_msg(intptr_t fa_exinf, ECN_FBS_ID fa_fbs_id) … … 793 771 } 794 772 795 /* é»æã®æ§æè¦ç´ æ°ã¨ãµã¤ãºã®ãã§ãã¯ãè¡ã*/773 /* 電文の構成要素数とサイズのチェックを行う */ 796 774 if (!_ecn_tsk_check_format((T_EDATA *)fa_fbs_id.ptr, fa_fbs_id.ptr->hdr.length)) { 797 775 ECN_DBG_PUT("_ecn_tsk_ecn_msg() format fault"); … … 799 777 } 800 778 801 /* éä¿¡å®ãããã¼ããæ¤ç´¢*/779 /* 送信宛からノードを検索 */ 802 780 p_nod = _ecn_eno_fnd(fa_fbs_id.ptr->hdr.target.id); 803 /* éä¿¡å 804 ãããã¼ããæ¤ç´¢ */ 781 /* 送信元からノードを検索 */ 805 782 p_snod = _ecn_eno_fnd(fa_fbs_id.ptr->hdr.sender.id); 806 783 if (p_snod != NULL) { 807 784 sobjatr = p_snod->profile->eobjatr; 808 /* ãã¼ããããã¡ã¤ã«ã®å ´å*/785 /* ノードプロファイルの場合 */ 809 786 if ((p_esv->edata.seoj.eojx1 == EOJ_X1_PROFILE) 810 787 && (p_esv->edata.seoj.eojx2 == EOJ_X2_NODE_PROFILE)) { 811 788 p_sobj = p_snod->profile; 812 789 } 813 /* æ©å¨ãªãã¸ã§ã¯ãã®å ´å*/790 /* 機器オブジェクトの場合 */ 814 791 else { 815 792 p_sobj = _ecn_eoj_fnd(p_snod, &p_esv->edata.seoj); … … 821 798 #endif 822 799 823 /* ãã¼ãå 824 ã®æ©å¨ãªãã¸ã§ã¯ããæ¤ç´¢ */ 800 /* ノード内の機器オブジェクトを検索 */ 825 801 a_prc = false; 826 802 a_fwd = false; … … 828 804 eobjatr = p_nod->profile->eobjatr; 829 805 p_eoj = &p_esv->edata.deoj; 830 /* ãã¼ããããã¡ã¤ã«ã®å ´å*/806 /* ノードプロファイルの場合 */ 831 807 if ((p_eoj->eojx1 == EOJ_X1_PROFILE) 832 808 && (p_eoj->eojx2 == EOJ_X2_NODE_PROFILE)) { 833 809 if ((p_eoj->eojx3 == p_nod->profile->eojx3) 834 810 || (p_eoj->eojx3 == 0)) { 835 /* é»æå¦çå®è¡*/811 /* 電文処理実行 */ 836 812 if (_ecn_tsk_ecn_msg_main(fa_fbs_id, p_nod->profile, eobjatr, p_sobj, sobjatr) == 1) 837 813 a_fwd = true; 838 814 a_prc = true; 839 815 } 840 /* 0x74 ããããã£å¤éç¥ï¼å¿çè¦ï¼ã®å ´åã®å ´åã¯é»æç ´æ£*/816 /* 0x74 プロパティ値通知(応答要)の場合の場合は電文破棄 */ 841 817 else if (p_esv->edata.esv == ESV_INFC) { 842 818 a_prc = true; 843 819 } 844 820 } 845 /* æ©å¨ãªãã¸ã§ã¯ãã®å ´å*/821 /* 機器オブジェクトの場合 */ 846 822 else { 847 823 count = p_nod->eobjcnt; … … 862 838 if (p_obj->eojx2 != p_eoj->eojx2) 863 839 continue; 864 /* ã¤ã³ã¹ã¿ã³ã¹ã³ã¼ããï¼ã®å ´åãåãã¯ã©ã¹ã®å 865 ¨ã¦ã®ã¤ã³ã¹ã¿ã³ã¹å® */ 840 /* インスタンスコードが0の場合、同じクラスの全てのインスタンス宛 */ 866 841 if ((p_obj->eojx3 != p_eoj->eojx3) && (p_eoj->eojx3 != 0)) 867 842 continue; 868 843 869 /* é»æå¦çå®è¡*/844 /* 電文処理実行 */ 870 845 if (_ecn_tsk_ecn_msg_main(fa_fbs_id, p_obj, eobjatr, p_sobj, sobjatr) == 1) 871 846 a_fwd = true; … … 873 848 } 874 849 875 /* æ©å¨ãªãã¸ã§ã¯ããè¦ã¤ãããã0x74 ããããã£å¤éç¥ï¼å¿çè¦ï¼ã®å ´åã¯é»æç ´æ£*/850 /* 機器オブジェクトが見つからず、0x74 プロパティ値通知(応答要)の場合は電文破棄 */ 876 851 if (!a_prc && (p_esv->edata.esv == ESV_INFC)) { 877 852 a_prc = true; … … 879 854 } 880 855 } 881 /* æ©å¨ãªãã¸ã§ã¯ããè¦ã¤ãããªãå ´åã§ã*/856 /* 機器オブジェクトが見つからない場合でも */ 882 857 if (!a_prc) { 883 /* é»æå¦çå®è¡ï¼å¿çåä¿¡ç¨ï¼*/858 /* 電文処理実行(応答受信用) */ 884 859 if (_ecn_tsk_ecn_msg_main(fa_fbs_id, NULL, EPC_NONE, p_sobj, sobjatr) == 1) 885 860 a_fwd = true; 886 861 } 887 862 888 /* å¿çã®å ´åã¢ããªã±ã¼ã·ã§ã³ã«è»¢éãã*/863 /* 応答の場合アプリケーションに転送する */ 889 864 if (a_fwd && (p_esv->ecn_hdr.tid == g_api_tid)) { 890 865 g_release_esv = false; 891 866 892 ECN_CAP_PUT_1("redirect ecn_svc_dataqueueid âecn_api_dataqueueid (esv:0x%02X)",867 ECN_CAP_PUT_1("redirect ecn_svc_dataqueueid → ecn_api_dataqueueid (esv:0x%02X)", 893 868 p_esv->edata.esv); 894 869 fa_fbs_id.ptr->hdr.target.id = ENOD_API_ID; … … 915 890 916 891 switch (p_esv->edata.esv) { 917 /* 0x60 ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ï¼å¿çä¸è¦ï¼*/892 /* 0x60 プロパティ値書き込み要求(応答不要) */ 918 893 case ESV_SET_I: 919 894 if (!p_obj) { … … 927 902 break; 928 903 929 /* 0x61 ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ï¼å¿çè¦ï¼*/904 /* 0x61 プロパティ値書き込み要求(応答要) */ 930 905 case ESV_SET_C: 931 906 if (!p_obj) { … … 939 914 break; 940 915 941 /* 0x62 ããããã£å¤èªã¿åºãè¦æ±*/916 /* 0x62 プロパティ値読み出し要求 */ 942 917 case ESV_GET: 943 918 if (!p_obj) { … … 951 926 break; 952 927 953 /* 0x63 ããããã£å¤éç¥è¦æ±*/928 /* 0x63 プロパティ値通知要求 */ 954 929 case ESV_INF_REQ: 955 930 if (!p_obj) { … … 964 939 break; 965 940 966 /* 0x6E ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãè¦æ±*/941 /* 0x6E プロパティ値書き込み・読み出し要求 */ 967 942 case ESV_SET_GET: 968 943 if (!p_obj) { … … 976 951 break; 977 952 978 /* 0x74 ããããã£å¤éç¥ï¼å¿çè¦ï¼*/953 /* 0x74 プロパティ値通知(応答要) */ 979 954 case ESV_INFC: 980 955 if (!p_sobj) 981 /* éä¿¡å 982 ãæªç¥ã®ä»ãã¼ãã§ãã£ãå ´åãå¿çãè¿ã */ 956 /* 送信元が未知の他ノードであった場合、応答を返す */ 983 957 _ecn_tsk_eoj_res(fa_fbs_id, ESV_INFC_RES, ESV_INFC_RES); /* 0x7A; 0x7A */ 984 958 else if (fromapp) 985 /* ã¢ããªã±ã¼ã·ã§ã³ããã®è¦æ±ã®å ´åãããããã£å¤éç¥ï¼å¿çè¦ï¼ãéä¿¡ãã*/959 /* アプリケーションからの要求の場合、プロパティ値通知(応答要)を送信する */ 986 960 _ecn_tsk_eoj_get(p_sobj, sobjatr, true, (EPC_RULE_GET|EPC_RULE_ANNO), fa_fbs_id, ESV_INFC, ESV_NOP); /* 0x74; 0 */ 987 961 else 988 /* éä¿¡å 989 ãæ¢ç¥ã®ä»ãã¼ãã§ãã£ãå ´åãããããã£å¤ãæ´æ°ãå¿çãè¿ã */ 962 /* 送信元が既知の他ノードであった場合、プロパティ値を更新し応答を返す */ 990 963 _ecn_tsk_eoj_set(p_sobj, sobjatr, fromapp, true, fa_fbs_id, ESV_INFC_RES, ESV_INFC_RES, &a_fbs_anno); /* 0x7A; 0x7A */ 991 964 result = 0; 992 965 break; 993 966 994 /* 0x60 ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ï¼å¿çä¸è¦ï¼*/995 case ESV_SET_I_SNA: /* 0x50 ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ä¸å¯å¿ç*/967 /* 0x60 プロパティ値書き込み要求(応答不要) */ 968 case ESV_SET_I_SNA: /* 0x50 プロパティ値書き込み要求不可応答 */ 996 969 result = 1; 997 970 break; 998 971 999 /* 0x61 ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ï¼å¿çè¦ï¼*/1000 case ESV_SET_RES: /* 0x71 ããããã£å¤æ¸ãè¾¼ã¿å¿ç*/1001 case ESV_SET_C_SNA: /* 0x51 ããããã£å¤æ¸ãè¾¼ã¿è¦æ±ä¸å¯å¿ç*/972 /* 0x61 プロパティ値書き込み要求(応答要) */ 973 case ESV_SET_RES: /* 0x71 プロパティ値書き込み応答 */ 974 case ESV_SET_C_SNA: /* 0x51 プロパティ値書き込み要求不可応答 */ 1002 975 result = 1; 1003 976 break; 1004 977 1005 /* 0x62 ããããã£å¤èªã¿åºãè¦æ±*/1006 case ESV_GET_RES: /* 0x72 ããããã£å¤èªã¿åºãå¿ç*/1007 case ESV_GET_SNA: /* 0x52 ããããã£å¤èªã¿åºãä¸å¯å¿ç*/978 /* 0x62 プロパティ値読み出し要求 */ 979 case ESV_GET_RES: /* 0x72 プロパティ値読み出し応答 */ 980 case ESV_GET_SNA: /* 0x52 プロパティ値読み出し不可応答 */ 1008 981 if (!p_sobj) { 1009 982 ECN_DBG_PUT_1("_ecn_tsk_ecn_msg_main() eoj %06X not found.", … … 1016 989 break; 1017 990 1018 /* 0x63 ããããã£å¤éç¥è¦æ±*/1019 case ESV_INF: /* 0x73 ããããã£å¤éç¥*/1020 case ESV_INF_SNA: /* 0x53 ããããã£å¤éç¥ä¸å¯å¿ç*/991 /* 0x63 プロパティ値通知要求 */ 992 case ESV_INF: /* 0x73 プロパティ値通知 */ 993 case ESV_INF_SNA: /* 0x53 プロパティ値通知不可応答 */ 1021 994 if (!p_sobj) { 1022 995 ECN_DBG_PUT_1("_ecn_tsk_ecn_msg_main() eoj %06X not found.", … … 1029 1002 break; 1030 1003 1031 /* 0x6E ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãè¦æ±*/1032 case ESV_SET_GET_RES: /* 0x7E ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãå¿ç*/1033 case ESV_SET_GET_SNA: /* 0x5E ããããã£å¤æ¸ãè¾¼ã¿ã»èªã¿åºãä¸å¯å¿ç*/1004 /* 0x6E プロパティ値書き込み・読み出し要求 */ 1005 case ESV_SET_GET_RES: /* 0x7E プロパティ値書き込み・読み出し応答 */ 1006 case ESV_SET_GET_SNA: /* 0x5E プロパティ値書き込み・読み出し不可応答 */ 1034 1007 if (!p_sobj) { 1035 1008 ECN_DBG_PUT_1("_ecn_tsk_ecn_msg_main() eoj %06X not found.", … … 1042 1015 break; 1043 1016 1044 /* 0x74 ããããã£å¤éç¥ï¼å¿çè¦ï¼*/1045 case ESV_INFC_RES: /* 0x7A ããããã£å¤éç¥å¿ç*/1017 /* 0x74 プロパティ値通知(応答要) */ 1018 case ESV_INFC_RES: /* 0x7A プロパティ値通知応答 */ 1046 1019 result = 1; 1047 1020 break; … … 1053 1026 } 1054 1027 1055 /* ããããã£éç¥è¦æ±ãéä¿¡*/1028 /* プロパティ通知要求を送信 */ 1056 1029 if (a_fbs_anno.ptr != NULL) { 1057 1030 ER a_ret = _ecn_tsk_snd_dtq(a_fbs_anno, true); … … 1133 1106 1134 1107 /* 1135 * ECN_FBS_IDããT_ECN_PRP1件ã¨ãã®ä»éãã¼ã¿(edt)ãæ½åºããedtã®ãã¤ã³ã¿ãè¿ã 1136 * å¼æ° 1137 * ECN_FBS_ID fa_fbs_id èªã¿åãFBS 1138 * T_ECN_PRP *fp_prp epc+pdcã®æ ¼ç´å 1139 1140 * T_ECN_SUB_BLK * const fp_prev_blk åå使ã£ãã¡ã¢ãªã®ãã¤ã³ã¿(ç¡ããã°0) 1141 * æ£å¸¸ï¼ãã¤ã³ã¿ NG:0 1142 * ãã¤ã³ã¿ã¯_ecn_fbs_dtq_rel()ã§è§£æ¾ããå¿ 1143 è¦ããã 1108 * ECN_FBS_IDからT_ECN_PRP1件とその付随データ(edt)を抽出し、edtのポインタを返す 1109 * 引数 1110 * ECN_FBS_ID fa_fbs_id 読み取るFBS 1111 * T_ECN_PRP *fp_prp epc+pdcの格納先 1112 * T_ECN_SUB_BLK * const fp_prev_blk 前回使ったメモリのポインタ(無ければ0) 1113 * 正常:ポインタ NG:0 1114 * ポインタは_ecn_fbs_dtq_rel()で解放する必要がある 1144 1115 */ 1145 1116 static T_ECN_SUB_BLK *_ecn_tsk_get_prp_pce(ECN_FBS_ID fa_fbs_id, T_ECN_PRP *fp_prp, … … 1150 1121 ER a_ret; 1151 1122 1152 /* ããããã£ç¨ã¡ã¢ãªã®åå¾*/1123 /* プロパティ用メモリの取得 */ 1153 1124 if (fp_prev_blk) { 1154 p_blk = fp_prev_blk; /* åå使ã£ãã¡ã¢ãªããããªããåå©ç¨ãã*/1125 p_blk = fp_prev_blk; /* 前回使ったメモリがあるなら、再利用する */ 1155 1126 } 1156 1127 else { … … 1158 1129 if (!p_blk) { 1159 1130 ECN_DBG_PUT("_ecn_fbs_dtq_get() fault."); 1160 return 0; /* ã¡ã¢ãªä¸è¶³*/1131 return 0; /* メモリ不足 */ 1161 1132 } 1162 1133 } 1163 1134 memset(p_blk, 0, sizeof(*p_blk)); 1164 1135 1165 /* T_ECN_PRP é¨å(epc,pdc)ãèªã¿åã*/1136 /* T_ECN_PRP部分(epc,pdc)を読み取る */ 1166 1137 a_size = 0; 1167 1138 a_ret = _ecn_fbs_get_data(fa_fbs_id, fp_prp, sizeof(*fp_prp), &a_size); … … 1172 1143 1173 1144 if (0 < fp_prp->pdc) { 1174 /* ä»éãã¼ã¿é¨å(edt)ãèªã¿åã*/1145 /* 付随データ部分(edt)を読み取る */ 1175 1146 a_size = 0; 1176 1147 a_ret = _ecn_fbs_get_data(fa_fbs_id, p_blk, fp_prp->pdc, &a_size); … … 1184 1155 1185 1156 lb_except: 1186 /* ããããã£ç¨ã¡ã¢ãªè§£æ¾*/1157 /* プロパティ用メモリ解放 */ 1187 1158 if (p_blk && !fp_prev_blk) 1188 1159 _ecn_fbs_dtq_rel(p_blk); … … 1194 1165 ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, ECN_FBS_ID *fa_fbs_anno, int a_count, 1195 1166 int *p_sw_ok); 1196 /* ããããã£å¤æ¸ãè¾¼ã¿å®è¡*/1167 /* プロパティ値書き込み実行 */ 1197 1168 static ER _ecn_tsk_eoj_set_main(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_fromapp, bool_t fa_update, 1198 1169 ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, ECN_FBS_ID *fa_fbs_anno, int a_count, … … 1210 1181 1211 1182 for (i = 0; i < a_count; i++) { 1212 /* ECN_FBS_ID ããT_ECN_PRP1件ã¨ãã®ä»éãã¼ã¿ãæ½åºãããã®ãã¤ã³ã¿ãè¿ã*/1183 /* ECN_FBS_IDからT_ECN_PRP1件とその付随データを抽出し、そのポインタを返す */ 1213 1184 p_edt = _ecn_tsk_get_prp_pce(fa_fbs_id, &a_prp, p_edt); 1214 1185 if (!p_edt) { … … 1217 1188 } 1218 1189 1219 /* ããããã£ã®è¨å®set_prp(obj, reqp, resp) */1190 /* プロパティの設定 set_prp(obj, reqp, resp) */ 1220 1191 a_size = a_prp.pdc; 1221 /* obj,epc ã«å¯¾å¿ããseté¢æ°ãå¼ã¶*/1192 /* obj,epcに対応するset関数を呼ぶ */ 1222 1193 a_eprp = _ecn_tsk_eoj_get_property(fp_obj, a_prp.epc); 1223 1194 if ((a_eprp != NULL) … … 1241 1212 fp_obj->eojx1 << 16 | fp_obj->eojx2 << 8 | fp_obj->eojx3, 1242 1213 a_prp.epc, p_edt->payload[0], a_size); 1243 *p_sw_ok = 0; /* ããããã£è¨å®å¤±æ*/1244 /* å¿çå¦çã®å ´åEDTã¯è¨å®ããªã*/1214 *p_sw_ok = 0; /* プロパティ設定失敗 */ 1215 /* 応答処理の場合EDTは設定しない */ 1245 1216 if (fa_update) 1246 1217 a_prp.pdc = 0; 1247 1218 } 1248 1219 1249 /* å¿çé»æç¨ã¡ã¢ãªã«ãã¼ã¿è¿½å (epc,pdcã®2byte) */1220 /* 応答電文用メモリにデータ追加(epc,pdcの2byte) */ 1250 1221 a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_prp, sizeof(a_prp)); 1251 1222 if (a_ret) { … … 1255 1226 1256 1227 if (0 < a_prp.pdc) { 1257 /* å¿çé»æç¨ã¡ã¢ãªã«ãã¼ã¿è¿½å(edt n-byte) */1228 /* 応答電文用メモリにデータ追加(edt n-byte) */ 1258 1229 a_ret = _ecn_fbs_add_data_ex(a_fbs_res, p_edt->payload, a_prp.pdc); 1259 1230 if (a_ret) { … … 1264 1235 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc ++; 1265 1236 1266 /* ããããã£éç¥ããã®å ´å*/1237 /* プロパティ通知ありの場合 */ 1267 1238 if (a_anno && (a_ans == a_size)) { 1268 1239 if (fa_fbs_anno->ptr == NULL) { … … 1282 1253 1283 1254 lb_finally: 1284 /* ããããã£ç¨ã¡ã¢ãªè§£æ¾*/1255 /* プロパティ用メモリ解放 */ 1285 1256 if (p_edt) 1286 1257 _ecn_fbs_dtq_rel(p_edt); … … 1291 1262 static ER _ecn_tsk_eoj_get_main(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_forward, ATR fa_access, 1292 1263 ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, int a_count, int *p_sw_ok); 1293 /* ããããã£å¤èªã¿åºãå®è¡*/1264 /* プロパティ値読み出し実行 */ 1294 1265 static ER _ecn_tsk_eoj_get_main(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_forward, ATR fa_access, 1295 1266 ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, int a_count, int *p_sw_ok) 1296 1267 { 1297 1268 T_ECN_SUB_BLK *p_edt = 0; 1298 void *p_prp_buf = 0; /* ä½æ¥é å*/1269 void *p_prp_buf = 0; /* 作業領域 */ 1299 1270 const EPRPINIB *a_eprp; 1300 1271 ER a_ret = E_SYS; … … 1304 1275 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc = 0; 1305 1276 1306 /* ä½æ¥é å確ä¿*/1277 /* 作業領域確保 */ 1307 1278 p_prp_buf = _ecn_fbs_dtq_get(ECHONET_MEMPOOL_BLOCK_SIZE); 1308 1279 if (!p_prp_buf) { 1309 1280 ECN_DBG_PUT_2("_ecn_fbs_dtq_get() result = %d:%s", a_ret, itron_strerror(a_ret)); 1310 goto lb_except; /* ã¡ã¢ãªä¸è¶³*/1281 goto lb_except; /* メモリ不足 */ 1311 1282 } 1312 1283 1313 1284 for (i = 0; i < a_count; i++) { 1314 /* ECN_FBS_ID ããT_ECN_PRP1件ã¨ãã®ä»éãã¼ã¿ãæ½åº*/1285 /* ECN_FBS_IDからT_ECN_PRP1件とその付随データを抽出 */ 1315 1286 p_edt = _ecn_tsk_get_prp_pce(fa_fbs_id, &a_prp, p_edt); 1316 1287 if (!p_edt) { … … 1319 1290 } 1320 1291 1321 /* ããããã£ã®åå¾get_eprp(obj, reqp, resp, size) */1292 /* プロパティの取得 get_eprp(obj, reqp, resp, size) */ 1322 1293 memset(p_prp_buf, 0, ECHONET_MEMPOOL_BLOCK_SIZE); 1323 /* obj,epc ã«å¯¾å¿ããgeté¢æ°ãå¼ã¶*/1294 /* obj,epcに対応するget関数を呼ぶ */ 1324 1295 a_eprp = _ecn_tsk_eoj_get_property(fp_obj, a_prp.epc); 1325 1296 if ((a_eprp != NULL) && (((a_eprp->eprpatr & fa_access) != 0) && ((fa_eobjatr == EOBJ_LOCAL_NODE) || fa_forward))) { … … 1332 1303 a_prp.pdc = (uint8_t)a_ans; 1333 1304 } else { 1334 *p_sw_ok = 0; /* ããããã£åå¾å¤±æ*/1305 *p_sw_ok = 0; /* プロパティ取得失敗 */ 1335 1306 a_ans = 0; 1336 1307 a_prp.pdc = 0; 1337 1308 } 1338 1309 1339 /* å¿çé»æç¨ã¡ã¢ãªã«ãã¼ã¿è¿½å (epc,pdcã®2byte) */1310 /* 応答電文用メモリにデータ追加(epc,pdcの2byte) */ 1340 1311 a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_prp, sizeof(a_prp)); 1341 1312 if (a_ret) { … … 1344 1315 } 1345 1316 if (0 < a_ans) { 1346 /* ä»éãã¼ã¿è¿½å*/1317 /* 付随データ追加 */ 1347 1318 a_ret = _ecn_fbs_add_data_ex(a_fbs_res, p_prp_buf, a_ans); 1348 1319 if (a_ret) { … … 1360 1331 1361 1332 lb_finally: 1362 /* ä½æ¥é å解æ¾*/1333 /* 作業領域解放 */ 1363 1334 if (p_prp_buf) 1364 1335 _ecn_fbs_dtq_rel(p_prp_buf); 1365 1336 1366 /* ããããã£ç¨ã¡ã¢ãªè§£æ¾*/1337 /* プロパティ用メモリ解放 */ 1367 1338 if (p_edt) 1368 1339 _ecn_fbs_dtq_rel(p_edt); … … 1372 1343 1373 1344 static ER _ecn_tsk_eoj_res_main(ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, int a_count, int *p_sw_ok); 1374 /* ããããã£å¤èªã¿åºãå®è¡*/1345 /* プロパティ値読み出し実行 */ 1375 1346 static ER _ecn_tsk_eoj_res_main(ECN_FBS_ID fa_fbs_id, ECN_FBS_ID a_fbs_res, int a_count, int *p_sw_ok) 1376 1347 { 1377 1348 T_ECN_SUB_BLK *p_edt = 0; 1378 void *p_prp_buf = 0; /* ä½æ¥é å*/1349 void *p_prp_buf = 0; /* 作業領域 */ 1379 1350 ER a_ret = E_SYS; 1380 1351 T_ECN_PRP a_prp; /* epc+pdc */ … … 1383 1354 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc = 0; 1384 1355 1385 /* ä½æ¥é å確ä¿*/1356 /* 作業領域確保 */ 1386 1357 p_prp_buf = _ecn_fbs_dtq_get(ECHONET_MEMPOOL_BLOCK_SIZE); 1387 1358 if (!p_prp_buf) { 1388 1359 ECN_DBG_PUT_2("_ecn_fbs_dtq_get() result = %d:%s", a_ret, itron_strerror(a_ret)); 1389 goto lb_except; /* ã¡ã¢ãªä¸è¶³*/1360 goto lb_except; /* メモリ不足 */ 1390 1361 } 1391 1362 1392 1363 for (i = 0; i < a_count; i++) { 1393 /* ECN_FBS_ID ããT_ECN_PRP1件ã¨ãã®ä»éãã¼ã¿ãæ½åº*/1364 /* ECN_FBS_IDからT_ECN_PRP1件とその付随データを抽出 */ 1394 1365 p_edt = _ecn_tsk_get_prp_pce(fa_fbs_id, &a_prp, p_edt); 1395 1366 if (!p_edt) { … … 1400 1371 a_prp.pdc = 0; 1401 1372 1402 /* å¿çé»æç¨ã¡ã¢ãªã«ãã¼ã¿è¿½å (epc,pdcã®2byte) */1373 /* 応答電文用メモリにデータ追加(epc,pdcの2byte) */ 1403 1374 a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_prp, sizeof(a_prp)); 1404 1375 if (a_ret) { … … 1415 1386 1416 1387 lb_finally: 1417 /* ä½æ¥é å解æ¾*/1388 /* 作業領域解放 */ 1418 1389 if (p_prp_buf) 1419 1390 _ecn_fbs_dtq_rel(p_prp_buf); 1420 1391 1421 /* ããããã£ç¨ã¡ã¢ãªè§£æ¾*/1392 /* プロパティ用メモリ解放 */ 1422 1393 if (p_edt) 1423 1394 _ecn_fbs_dtq_rel(p_edt); … … 1426 1397 } 1427 1398 1428 /* ããããã£å¤èªã¿é£ã°ãå®è¡*/1399 /* プロパティ値読み飛ばし実行 */ 1429 1400 static ER _ecn_tsk_eoj_skip_main(const EOBJINIB *fp_obj, ECN_FBS_ID fa_fbs_id, 1430 1401 int a_count); … … 1437 1408 1438 1409 for (i = 0; i < a_count; i++) { 1439 /* T_ECN_PRP é¨å(epc,pdc)ãèªã¿åã*/1410 /* T_ECN_PRP部分(epc,pdc)を読み取る */ 1440 1411 a_size = 0; 1441 1412 a_ret = _ecn_fbs_get_data(fa_fbs_id, &a_prp, sizeof(a_prp), &a_size); … … 1445 1416 } 1446 1417 1447 /* pdc åèªã¿é£ã°ã*/1418 /* pdc分読み飛ばし */ 1448 1419 a_ret = _ecn_fbs_seek_rpos(fa_fbs_id, a_prp.pdc); 1449 1420 if (a_ret) { … … 1464 1435 static void _ecn_tsk_mk_rsp_hdr(const EOBJINIB *fp_obj, T_ECN_EDT_HDR *fp_rsp_esv, 1465 1436 T_ECN_EDT_HDR const *fp_req_esv); 1466 /* å¿çé»æè¨å®*/1437 /* 応答電文設定 */ 1467 1438 static void _ecn_tsk_mk_rsp_hdr(const EOBJINIB *fp_obj, T_ECN_EDT_HDR *fp_rsp_esv, 1468 1439 T_ECN_EDT_HDR const *fp_req_esv) … … 1489 1460 } 1490 1461 1491 /* å¿çé»æç¨fbsè¨å®*/1462 /* 応答電文用fbs設定 */ 1492 1463 static void _ecn_tsk_set_rsp_fbs(ECN_FBS_ID fa_rsp_fbs, T_ECN_FST_BLK const *fp_req_ptr); 1493 /* å¿çé»æç¨fbsè¨å®(sender/targetã®è¨å®) */1464 /* 応答電文用fbs設定(sender/targetの設定) */ 1494 1465 static void _ecn_tsk_set_rsp_fbs(ECN_FBS_ID fa_rsp_fbs, T_ECN_FST_BLK const *fp_req_ptr) 1495 1466 { … … 1500 1471 } 1501 1472 1502 /* ããããã£å¤æ¸ãè¾¼ã¿è¦æ±*/1473 /* プロパティ値書き込み要求 */ 1503 1474 static void _ecn_tsk_eoj_set(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_fromapp, bool_t fa_update, 1504 1475 ECN_FBS_ID fa_fbs_id, ECN_SRV_CODE fa_res_esv, ECN_SRV_CODE fa_sna_esv, … … 1515 1486 memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp)); 1516 1487 1517 /* å¿çæ大ãµã¤ãºã®åå¾*/1488 /* 応答最大サイズの取得 */ 1518 1489 a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP); 1519 1490 1520 /* å¿çé»æç¨ã¡ã¢ãªã®åå¾*/1491 /* 応答電文用メモリの取得 */ 1521 1492 a_ret = _ecn_fbs_cre(a_size, &a_fbs_res); 1522 if (a_ret != E_OK || !a_fbs_res.ptr) /* 確ä¿å¤±æ*/1493 if (a_ret != E_OK || !a_fbs_res.ptr) /* 確保失敗 */ 1523 1494 return; 1524 1495 1525 /* å¿çé»æè¨å®*/1496 /* 応答電文設定 */ 1526 1497 if(p_req_esv->edata.deoj.eojx3 != 0) 1527 1498 _ecn_tsk_mk_rsp_hdr_res(&a_ecn_hdp, p_req_esv); … … 1529 1500 _ecn_tsk_mk_rsp_hdr(fp_obj, &a_ecn_hdp, p_req_esv); 1530 1501 1531 /* æ£å¸¸æã®å¿çé»æãããããã£å¤éç¥å¿çã®å ´å*/1502 /* 正常時の応答電文がプロパティ値通知応答の場合 */ 1532 1503 if (fa_res_esv == ESV_INFC_RES) { 1533 /* éä¿¡å 1534 ã¨å®å 1535 ãå 1536 ¥ãæ¿ã */ 1504 /* 送信元と宛先を入れ替え */ 1537 1505 eoj = a_ecn_hdp.edata.seoj; 1538 1506 a_ecn_hdp.edata.seoj = a_ecn_hdp.edata.deoj; … … 1540 1508 } 1541 1509 1542 f_put_fbs_eoj("_ecn_tsk_eoj_set", "fa_fbs_id", fa_fbs_id); /* s/deoj ãããã°åºå*/1543 1544 /* å¿çé»æç¨ã¡ã¢ãªã«ãã¼ã¿è¿½å*/1510 f_put_fbs_eoj("_ecn_tsk_eoj_set", "fa_fbs_id", fa_fbs_id); /* s/deoj デバッグ出力 */ 1511 1512 /* 応答電文用メモリにデータ追加 */ 1545 1513 a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_ecn_hdp, 1546 1514 sizeof(a_ecn_hdp.ecn_hdr) + sizeof(a_ecn_hdp.edata)); … … 1548 1516 goto lb_except; 1549 1517 1550 /* payloadå 1551 é ã®T_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)ãèªã¿é£ã°ã */ 1518 /* payload先頭のT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */ 1552 1519 a_ret = _ecn_fbs_set_rpos(fa_fbs_id, offsetof(T_ECN_EDT_HDR, ecn_prp)); 1553 1520 if (a_ret) 1554 1521 goto lb_except; 1555 1522 1556 /* å¿çé»æç¨fbsè¨å®*/1523 /* 応答電文用fbs設定 */ 1557 1524 _ecn_tsk_set_rsp_fbs(a_fbs_res, fa_fbs_id.ptr); 1558 1525 1559 /* ããããã£å¤æ¸ãè¾¼ã¿å®è¡*/1526 /* プロパティ値書き込み実行 */ 1560 1527 a_ret = _ecn_tsk_eoj_set_main(fp_obj, fa_eobjatr, fa_fromapp, fa_update, fa_fbs_id, a_fbs_res, 1561 1528 fa_fbs_anno, p_req_esv->edata.opc, &a_sw_ok); … … 1563 1530 goto lb_except; 1564 1531 1565 /* å¿çè¦ã®å ´å*/1532 /* 応答要の場合 */ 1566 1533 if (a_sw_ok) { 1567 1534 if (!fa_res_esv) { 1568 /* å¿çä¸è¦ã®å ´å*/1535 /* 応答不要の場合 */ 1569 1536 _ecn_fbs_del(a_fbs_res); 1570 1537 goto lb_finally; 1571 1538 } 1572 /* è¨å®å¦çæå*/1539 /* 設定処理成功 */ 1573 1540 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_res_esv; 1574 1541 } else { 1575 1542 if (!fa_sna_esv) { 1576 /* å¿çä¸è¦ã®å ´å*/1543 /* 応答不要の場合 */ 1577 1544 _ecn_fbs_del(a_fbs_res); 1578 1545 goto lb_finally; 1579 1546 } 1580 /* è¨å®å¦ç失æ*/1547 /* 設定処理失敗 */ 1581 1548 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_sna_esv; 1582 1549 } 1583 /* å¿çéä¿¡*/1550 /* 応答送信 */ 1584 1551 a_ret = _ecn_tsk_snd_dtq(a_fbs_res, false); 1585 1552 if (a_ret == E_OK) … … 1587 1554 1588 1555 lb_except: 1589 /* ãã¼ã¿é信失æãããé å解æ¾*/1556 /* データ送信失敗したら領域解放 */ 1590 1557 if (a_fbs_res.ptr) 1591 1558 _ecn_fbs_del(a_fbs_res); … … 1595 1562 } 1596 1563 1597 /* ããããã£å¤èªã¿åºãè¦æ±*/1564 /* プロパティ値読み出し要求 */ 1598 1565 static void _ecn_tsk_eoj_get(const EOBJINIB *fp_obj, ATR fa_eobjatr, bool_t fa_forward, ATR fa_access, 1599 1566 ECN_FBS_ID fa_fbs_id, ECN_SRV_CODE fa_res_esv, ECN_SRV_CODE fa_sna_esv) … … 1608 1575 memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp)); 1609 1576 1610 /* åæåå¾ãµã¤ãº*/1577 /* 初期取得サイズ */ 1611 1578 a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP); 1612 1579 1613 /* å¿çé»æç¨ã¡ã¢ãªã®åå¾*/1580 /* 応答電文用メモリの取得 */ 1614 1581 a_ret = _ecn_fbs_cre(a_size, &a_fbs_res); 1615 if (a_ret != E_OK || !a_fbs_res.ptr) { /* 確ä¿å¤±æ*/1582 if (a_ret != E_OK || !a_fbs_res.ptr) { /* 確保失敗 */ 1616 1583 ECN_DBG_PUT_2("_ecn_fbs_cre() result = %d:%s", a_ret, itron_strerror(a_ret)); 1617 1584 goto lb_finally; 1618 1585 } 1619 1586 1620 /* å¿çé»æè¨å®*/1587 /* 応答電文設定 */ 1621 1588 if(p_req_esv->edata.deoj.eojx3 != 0) 1622 1589 _ecn_tsk_mk_rsp_hdr_res(&a_ecn_hdp, p_req_esv); … … 1624 1591 _ecn_tsk_mk_rsp_hdr(fp_obj, &a_ecn_hdp, p_req_esv); 1625 1592 1626 f_put_fbs_eoj("_ecn_tsk_eoj_get", "fa_fbs_id", fa_fbs_id); /* s/deoj ãããã°åºå*/1627 1628 /* å¿çé»æç¨ã¡ã¢ãªã«ãã¼ã¿è¿½å*/1593 f_put_fbs_eoj("_ecn_tsk_eoj_get", "fa_fbs_id", fa_fbs_id); /* s/deoj デバッグ出力 */ 1594 1595 /* 応答電文用メモリにデータ追加 */ 1629 1596 a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_ecn_hdp, 1630 1597 sizeof(a_ecn_hdp.ecn_hdr) + sizeof(a_ecn_hdp.edata)); … … 1634 1601 } 1635 1602 1636 /* payloadå 1637 é ã®T_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)ãèªã¿é£ã°ã */ 1603 /* payload先頭のT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */ 1638 1604 a_ret = _ecn_fbs_set_rpos(fa_fbs_id, offsetof(T_ECN_EDT_HDR, ecn_prp)); 1639 1605 if (a_ret) { … … 1642 1608 } 1643 1609 1644 /* å¿çé»æç¨fbsè¨å®*/1610 /* 応答電文用fbs設定 */ 1645 1611 _ecn_tsk_set_rsp_fbs(a_fbs_res, fa_fbs_id.ptr); 1646 1612 1647 /* ããããã£å¤èªã¿è¾¼ã¿å®è¡*/1613 /* プロパティ値読み込み実行 */ 1648 1614 a_ret = _ecn_tsk_eoj_get_main(fp_obj, fa_eobjatr, fa_forward, fa_access, fa_fbs_id, a_fbs_res, 1649 1615 ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc, &a_sw_ok); … … 1655 1621 if (a_sw_ok) { 1656 1622 if (!fa_res_esv) { 1657 /* å¿çä¸è¦ã®å ´å*/1623 /* 応答不要の場合 */ 1658 1624 _ecn_fbs_del(a_fbs_res); 1659 1625 goto lb_finally; 1660 1626 } 1661 /* è¨å®å¦çæå*/1627 /* 設定処理成功 */ 1662 1628 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_res_esv; 1663 1629 } else { 1664 1630 if (!fa_sna_esv) { 1665 /* å¿çä¸è¦ã®å ´å*/1631 /* 応答不要の場合 */ 1666 1632 _ecn_fbs_del(a_fbs_res); 1667 1633 goto lb_finally; 1668 1634 } 1669 /* è¨å®å¦ç失æ*/1635 /* 設定処理失敗 */ 1670 1636 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_sna_esv; 1671 1637 1672 /* ä¸å¯å¿çã®å ´åã¯åå¥éä¿¡ãã*/1638 /* 不可応答の場合は個別送信する */ 1673 1639 if (a_fbs_res.ptr->hdr.target.id == ENOD_MULTICAST_ID) { 1674 1640 a_fbs_res.ptr->hdr.target.id = fa_fbs_id.ptr->hdr.sender.id; 1675 1641 } 1676 1642 } 1677 /* å¿çéä¿¡*/1643 /* 応答送信 */ 1678 1644 a_ret = _ecn_tsk_snd_dtq(a_fbs_res, false); 1679 1645 if (a_ret != E_OK) { … … 1684 1650 1685 1651 lb_except: 1686 /* ãã¼ã¿é信失æãããé å解æ¾*/1652 /* データ送信失敗したら領域解放 */ 1687 1653 if (a_fbs_res.ptr) 1688 1654 _ecn_fbs_del(a_fbs_res); … … 1692 1658 } 1693 1659 1694 /* ããããã£å¤èªã¿åºãè¦æ±*/1660 /* プロパティ値読み出し要求 */ 1695 1661 static void _ecn_tsk_eoj_res(ECN_FBS_ID fa_fbs_id, ECN_SRV_CODE fa_res_esv, 1696 1662 ECN_SRV_CODE fa_sna_esv) … … 1705 1671 memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp)); 1706 1672 1707 /* åæåå¾ãµã¤ãº*/1673 /* 初期取得サイズ */ 1708 1674 a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP); 1709 1675 1710 /* å¿çé»æç¨ã¡ã¢ãªã®åå¾*/1676 /* 応答電文用メモリの取得 */ 1711 1677 a_ret = _ecn_fbs_cre(a_size, &a_fbs_res); 1712 if (a_ret != E_OK || !a_fbs_res.ptr) { /* 確ä¿å¤±æ*/1678 if (a_ret != E_OK || !a_fbs_res.ptr) { /* 確保失敗 */ 1713 1679 ECN_DBG_PUT_2("_ecn_fbs_cre() result = %d:%s", a_ret, itron_strerror(a_ret)); 1714 1680 goto lb_finally; 1715 1681 } 1716 1682 1717 /* å¿çé»æè¨å®*/1683 /* 応答電文設定 */ 1718 1684 _ecn_tsk_mk_rsp_hdr_res(&a_ecn_hdp, p_req_esv); 1719 1685 1720 f_put_fbs_eoj("_ecn_tsk_eoj_res", "fa_fbs_id", fa_fbs_id); /* s/deoj ãããã°åºå*/1721 1722 /* å¿çé»æç¨ã¡ã¢ãªã«ãã¼ã¿è¿½å*/1686 f_put_fbs_eoj("_ecn_tsk_eoj_res", "fa_fbs_id", fa_fbs_id); /* s/deoj デバッグ出力 */ 1687 1688 /* 応答電文用メモリにデータ追加 */ 1723 1689 a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_ecn_hdp, 1724 1690 sizeof(a_ecn_hdp.ecn_hdr) + sizeof(a_ecn_hdp.edata)); … … 1728 1694 } 1729 1695 1730 /* payloadå 1731 é ã®T_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)ãèªã¿é£ã°ã */ 1696 /* payload先頭のT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */ 1732 1697 a_ret = _ecn_fbs_set_rpos(fa_fbs_id, offsetof(T_ECN_EDT_HDR, ecn_prp)); 1733 1698 if (a_ret) { … … 1736 1701 } 1737 1702 1738 /* å¿çé»æç¨fbsè¨å®*/1703 /* 応答電文用fbs設定 */ 1739 1704 _ecn_tsk_set_rsp_fbs(a_fbs_res, fa_fbs_id.ptr); 1740 1705 1741 /* ããããã£å¤èªã¿è¾¼ã¿å®è¡*/1706 /* プロパティ値読み込み実行 */ 1742 1707 a_ret = _ecn_tsk_eoj_res_main(fa_fbs_id, a_fbs_res, 1743 1708 ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc, &a_sw_ok); … … 1749 1714 if (a_sw_ok) { 1750 1715 if (!fa_res_esv) { 1751 /* å¿çä¸è¦ã®å ´å*/1716 /* 応答不要の場合 */ 1752 1717 _ecn_fbs_del(a_fbs_res); 1753 1718 goto lb_finally; 1754 1719 } 1755 /* è¨å®å¦çæå*/1720 /* 設定処理成功 */ 1756 1721 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_res_esv; 1757 1722 } else { 1758 1723 if (!fa_sna_esv) { 1759 /* å¿çä¸è¦ã®å ´å*/1724 /* 応答不要の場合 */ 1760 1725 _ecn_fbs_del(a_fbs_res); 1761 1726 goto lb_finally; 1762 1727 } 1763 /* è¨å®å¦ç失æ*/1728 /* 設定処理失敗 */ 1764 1729 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_sna_esv; 1765 1730 } 1766 /* å¿çéä¿¡*/1731 /* 応答送信 */ 1767 1732 a_ret = _ecn_tsk_snd_dtq(a_fbs_res, false); 1768 1733 if (a_ret != E_OK) { … … 1773 1738 1774 1739 lb_except: 1775 /* ãã¼ã¿é信失æãããé å解æ¾*/1740 /* データ送信失敗したら領域解放 */ 1776 1741 if (a_fbs_res.ptr) 1777 1742 _ecn_fbs_del(a_fbs_res); … … 1788 1753 T_ECN_EDT_HDR a_ecn_hdp; 1789 1754 ECN_FBS_ID a_fbs_res = { 0 }; 1790 int a_rdprp_wrpos; /* ããããã£èªã¿è¾¼ã¿ä»¶æ°æ¸ãè¾¼ã¿æã®ãããä½ç½®*/1755 int a_rdprp_wrpos; /* プロパティ読み込み件数書き込み時のヘッド位置 */ 1791 1756 ER a_ret; 1792 1757 int i, a_size, a_rdlen; 1793 1758 int a_sw_ok = 1; 1794 int a_count = ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc; /* å¦çããããã£æ°*/1759 int a_count = ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc; /* 処理プロパティ数 */ 1795 1760 1796 1761 memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp)); … … 1799 1764 fp_obj->eojx1 << 16 | fp_obj->eojx2 << 8 | fp_obj->eojx3); 1800 1765 1801 /* åæåå¾ãµã¤ãº*/1766 /* 初期取得サイズ */ 1802 1767 a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP); 1803 1768 1804 /* å¿çé»æç¨ã¡ã¢ãªã®åå¾*/1769 /* 応答電文用メモリの取得 */ 1805 1770 a_ret = _ecn_fbs_cre(a_size, &a_fbs_res); 1806 if (a_ret != E_OK || !a_fbs_res.ptr) /* 確ä¿å¤±æ*/1771 if (a_ret != E_OK || !a_fbs_res.ptr) /* 確保失敗 */ 1807 1772 goto lb_finally; 1808 1773 1809 /* å¿çé»æè¨å®*/1774 /* 応答電文設定 */ 1810 1775 if(p_req_esv->edata.deoj.eojx3 != 0) 1811 1776 _ecn_tsk_mk_rsp_hdr_res(&a_ecn_hdp, p_req_esv); … … 1814 1779 a_size -= sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY); 1815 1780 1816 f_put_fbs_eoj("_ecn_tsk_eoj_set_get", "fa_fbs_id", fa_fbs_id); /* s/deoj ãããã°åºå*/1817 1818 /* å¿çé»æç¨ã¡ã¢ãªã«ãã¼ã¿è¿½å*/1781 f_put_fbs_eoj("_ecn_tsk_eoj_set_get", "fa_fbs_id", fa_fbs_id); /* s/deoj デバッグ出力 */ 1782 1783 /* 応答電文用メモリにデータ追加 */ 1819 1784 a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &a_ecn_hdp, 1820 1785 sizeof(a_ecn_hdp.ecn_hdr) + sizeof(a_ecn_hdp.edata)); … … 1822 1787 goto lb_except; 1823 1788 1824 /* payloadå 1825 é ã®T_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)ãèªã¿é£ã°ã */ 1789 /* payload先頭のT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */ 1826 1790 a_ret = _ecn_fbs_set_rpos(fa_fbs_id, offsetof(T_ECN_EDT_HDR, ecn_prp)); 1827 1791 if (a_ret) 1828 1792 goto lb_except; 1829 1793 1830 /* å¿çé»æç¨fbsè¨å®*/1794 /* 応答電文用fbs設定 */ 1831 1795 _ecn_tsk_set_rsp_fbs(a_fbs_res, fa_fbs_id.ptr); 1832 1796 1833 /* ããããã£å¤æ¸ãè¾¼ã¿å®è¡*/1797 /* プロパティ値書き込み実行 */ 1834 1798 a_ret = _ecn_tsk_eoj_set_main(fp_obj, fa_eobjatr, fa_fromapp, false, fa_fbs_id, a_fbs_res, 1835 1799 fa_fbs_anno, a_count, &a_sw_ok); … … 1844 1808 (a_sw_ok ? "true" : "false")); 1845 1809 1846 /* 次ã®ä»¶æ°ãèªã¿åã(1byte) */1847 /* âECHONET-Lite_Ver.1.10_02.pdf p.40 [OPCGet] */1810 /* 次の件数を読み取る(1byte) */ 1811 /* → ECHONET-Lite_Ver.1.10_02.pdf p.40 [OPCGet] */ 1848 1812 a_rdlen = i = 0; 1849 1813 a_ret = _ecn_fbs_get_data(fa_fbs_id, &i, 1, &a_rdlen); … … 1852 1816 a_count = *(uint8_t *)&i; 1853 1817 1854 /* ããããã£èªã¿è¾¼ã¿ä»¶æ°æ¸ãè¾¼ã¿æã®ãããæ 1855 å ±ãè¨é² */ 1818 /* プロパティ読み込み件数書き込み時のヘッド情報を記録 */ 1856 1819 a_rdprp_wrpos = _ecn_fbs_get_datalen(a_fbs_res); 1857 1820 1858 /* å¿çé»æç¨ã¡ã¢ãªã«ãã¼ã¿è¿½å(OPCGet 1byte) */1821 /* 応答電文用メモリにデータ追加 (OPCGet 1byte) */ 1859 1822 a_ret = _ecn_fbs_add_data_ex(a_fbs_res, &i, 1); 1860 1823 if (a_ret) 1861 1824 goto lb_except; 1862 1825 1863 /* ãã®æç¹ã§ã®å¿çé»æä¸ããããã£ä»¶æ°ãè¨é²*/1826 /* この時点での応答電文中プロパティ件数を記録 */ 1864 1827 i = ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc; 1865 1828 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc = 0; 1866 1829 1867 /* ããããã£å¤èªã¿è¾¼ã¿å®è¡*/1830 /* プロパティ値読み込み実行 */ 1868 1831 a_ret = _ecn_tsk_eoj_get_main(fp_obj, fa_eobjatr, false, EPC_RULE_GET, fa_fbs_id, a_fbs_res, 1869 1832 a_count, &a_sw_ok); … … 1879 1842 (a_sw_ok ? "true" : "false")); 1880 1843 1881 /* ããããã£èªã¿è¾¼ã¿ä»¶æ°æ¸ãè¾¼ã¿æã®ãããæ 1882 å ±ã§ãèªã¿åºã件æ°ãè¨é² */ 1844 /* プロパティ読み込み件数書き込み時のヘッド情報で、読み出し件数を記録 */ 1883 1845 _ecn_fbs_poke(a_fbs_res, a_rdprp_wrpos, ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc); 1884 1846 1885 /* è¨é²ãã¦ãããããããã£ä»¶æ°ï¼æ¸ãè¾¼ã¿ä»¶æ°ï¼ãæ¸ãæ»ã*/1847 /* 記録しておいたプロパティ件数(書き込み件数)を書き戻す */ 1886 1848 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.opc = (uint8_t)i; 1887 1849 1888 /* å¿çè¦ã®å ´å*/1850 /* 応答要の場合 */ 1889 1851 if (a_sw_ok) { 1890 /* è¨å®å¦çæå*/1852 /* 設定処理成功 */ 1891 1853 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_res_esv; 1892 1854 } else { 1893 /* è¨å®å¦ç失æ*/1855 /* 設定処理失敗 */ 1894 1856 ((T_EDATA *)a_fbs_res.ptr)->hdr.edata.esv = fa_sna_esv; 1895 1857 } 1896 /* å¿çéä¿¡*/1858 /* 応答送信 */ 1897 1859 a_ret = _ecn_tsk_snd_dtq(a_fbs_res, false); 1898 1860 if (a_ret == E_OK) … … 1900 1862 1901 1863 lb_except: 1902 /* ãã¼ã¿é信失æãããé å解æ¾*/1864 /* データ送信失敗したら領域解放 */ 1903 1865 if (a_fbs_res.ptr) 1904 1866 _ecn_fbs_del(a_fbs_res); … … 1917 1879 int i, a_size, a_rdlen; 1918 1880 int a_sw_ok = 1; 1919 int a_count = ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc; /* å¦çããããã£æ°*/1881 int a_count = ((T_EDATA *)fa_fbs_id.ptr)->hdr.edata.opc; /* 処理プロパティ数 */ 1920 1882 1921 1883 memset(&a_ecn_hdp, 0, sizeof(a_ecn_hdp)); … … 1924 1886 fp_obj->eojx1 << 16 | fp_obj->eojx2 << 8 | fp_obj->eojx3); 1925 1887 1926 /* åæåå¾ãµã¤ãº*/1888 /* 初期取得サイズ */ 1927 1889 a_size = sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY) + sizeof(T_ECN_PRP); 1928 1890 1929 /* å¿çé»æç¨ã¡ã¢ãªï¼ããã¼ï¼ã®åå¾*/1891 /* 応答電文用メモリ(ダミー)の取得 */ 1930 1892 a_ret = _ecn_fbs_cre(a_size, &a_fbs_dmy); 1931 if (a_ret != E_OK || !a_fbs_dmy.ptr) /* 確ä¿å¤±æ*/1893 if (a_ret != E_OK || !a_fbs_dmy.ptr) /* 確保失敗 */ 1932 1894 goto lb_finally; 1933 1895 1934 /* å¿çé»æè¨å®*/1896 /* 応答電文設定 */ 1935 1897 _ecn_tsk_mk_rsp_hdr_res(&a_ecn_hdp, p_req_esv); 1936 1898 a_size -= sizeof(T_ECN_HDR) + sizeof(T_ECN_EDATA_BODY); 1937 1899 1938 /* payloadå 1939 é ã®T_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)ãèªã¿é£ã°ã */ 1900 /* payload先頭のT_ECN_HDR(ecn_hdr), T_ECN_EDATA_BODY(edata)を読み飛ばす */ 1940 1901 a_ret = _ecn_fbs_set_rpos(fa_fbs_id, offsetof(T_ECN_EDT_HDR, ecn_prp)); 1941 1902 if (a_ret) 1942 1903 goto lb_except; 1943 1904 1944 /* ããããã£å¤æ¸ãè¾¼ã¿å¿çèªã¿é£ã°ãå®è¡*/1905 /* プロパティ値書き込み応答読み飛ばし実行 */ 1945 1906 a_ret = _ecn_tsk_eoj_skip_main(fp_obj, fa_fbs_id, a_count); 1946 1907 if (a_ret) { … … 1954 1915 (a_sw_ok ? "true" : "false")); 1955 1916 1956 /* 次ã®ä»¶æ°ãèªã¿åã(1byte) */1957 /* âECHONET-Lite_Ver.1.10_02.pdf p.40 [OPCGet] */1917 /* 次の件数を読み取る(1byte) */ 1918 /* → ECHONET-Lite_Ver.1.10_02.pdf p.40 [OPCGet] */ 1958 1919 a_rdlen = i = 0; 1959 1920 a_ret = _ecn_fbs_get_data(fa_fbs_id, &i, 1, &a_rdlen); … … 1962 1923 a_count = *(uint8_t *)&i; 1963 1924 1964 /* ããããã£å¤èªã¿åºãå¿çã®æ¸ãè¾¼ã¿å®è¡*/1925 /* プロパティ値読み出し応答の書き込み実行 */ 1965 1926 a_ret = _ecn_tsk_eoj_set_main(fp_obj, fa_eobjatr, fa_fromapp, true, fa_fbs_id, a_fbs_dmy, 1966 1927 fa_fbs_anno, a_count, &a_sw_ok); … … 1979 1940 1980 1941 lb_except: 1981 /* ãã¼ã¿é信失æãããé å解æ¾*/1942 /* データ送信失敗したら領域解放 */ 1982 1943 if (a_fbs_dmy.ptr) 1983 1944 _ecn_fbs_del(a_fbs_dmy); … … 1988 1949 1989 1950 /* 1990 * å¿çé»æå¾ 1991 ã¡ã®å²ãè¾¼ã¿é»æä½æ 1951 * 応答電文待ちの割り込み電文作成 1992 1952 */ 1993 1953 ER _ecn_mk_brk_wai(ECN_FBS_ID *pk_fbs_id, const void *p_dat, size_t fa_size) 1994 1954 { 1995 1955 ER a_ret; 1996 ECN_FBS_ID a_fbs_id = { 0 }; /* è¦æ±é»æç¨ã¡ã¢ãª*/1956 ECN_FBS_ID a_fbs_id = { 0 }; /* 要求電文用メモリ */ 1997 1957 1998 1958 if (!pk_fbs_id) … … 2000 1960 *pk_fbs_id = a_fbs_id; 2001 1961 if (sizeof(a_fbs_id.ptr->payload) <= fa_size) 2002 return E_PAR; /* ä»éãã¼ã¿ã大ãããã*/1962 return E_PAR; /* 付随データが大きすぎる */ 2003 1963 if (!p_dat && 0 < fa_size) 2004 return E_PAR; /* ä»éãã¼ã¿ãµã¤ãºã1以ä¸ãªã®ã«ãã¼ã¿ãã¤ã³ã¿ãNULL */2005 2006 /* è¦æ±é»æç¨ã¡ã¢ãªã®åå¾*/1964 return E_PAR; /* 付随データサイズが1以上なのにデータポインタがNULL */ 1965 1966 /* 要求電文用メモリの取得 */ 2007 1967 a_ret = _ecn_fbs_cre((0 < fa_size ? fa_size : 1), &a_fbs_id); 2008 if (a_ret != E_OK || !a_fbs_id.ptr) { /* 確ä¿å¤±æ*/1968 if (a_ret != E_OK || !a_fbs_id.ptr) { /* 確保失敗 */ 2009 1969 syslog(LOG_WARNING, "_ecn_fbs_cre(%d) result = %d:%s", fa_size, a_ret, itron_strerror(a_ret)); 2010 1970 return a_ret; 2011 1971 } 2012 1972 2013 /* è¦æ±é»æè¨å®*/1973 /* 要求電文設定 */ 2014 1974 a_fbs_id.ptr->hdr.type = ECN_MSG_USER_BREAK; 2015 1975 a_fbs_id.ptr->hdr.sender.id = ENOD_API_ID; … … 2018 1978 2019 1979 if (0 < fa_size && p_dat) { 2020 /* ä»éãã¼ã¿è¿½å*/1980 /* 付随データ追加 */ 2021 1981 a_ret = _ecn_fbs_add_data_ex(a_fbs_id, p_dat, fa_size); 2022 1982 if (a_ret) { … … 2030 1990 *pk_fbs_id = a_fbs_id; 2031 1991 2032 /* æ£å¸¸çµäº*/1992 /* 正常終了 */ 2033 1993 return a_ret; 2034 1994 2035 1995 lb_except: 2036 /* ãã¼ã¿ä½æ失æãããé å解æ¾*/1996 /* データ作成失敗したら領域解放 */ 2037 1997 if (a_fbs_id.ptr) 2038 1998 _ecn_fbs_del(a_fbs_id); … … 2041 2001 } 2042 2002 2043 /* å¿çé»æç¨fbsè¨å®(sender/targetã®è¨å®) */2003 /* 応答電文用fbs設定(sender/targetの設定) */ 2044 2004 ER _ecn_tsk_cre_req_fbs(ID sender, uint8_t cmd, ECN_FBS_ID *pk_req) 2045 2005 { … … 2070 2030 } 2071 2031 2072 /* å¿çé»æç¨fbsè¨å®(sender/targetã®è¨å®) */2032 /* 応答電文用fbs設定(sender/targetの設定) */ 2073 2033 ER _ecn_tsk_cre_res_fbs(ECN_FBS_ID req, uint8_t cmd, ECN_FBS_ID *pk_res) 2074 2034 { -
azure_iot_hub/trunk/ntshell/echonet/echonet_task.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) 2014 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 3 /* åæåªå 75 度 */ 59 #define ECHONET_TASK_PRIORITY 3 /* 初期優先度 */ 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 … … 85 69 86 70 /* 87 * ECHONET Lite ã¿ã¹ã¯ã®æ¬ä½71 * ECHONET Lite タスクの本体 88 72 */ 89 73 void echonet_task(intptr_t exinf); 90 74 91 /* ECHONET Lite ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãã®1ã¢ãã¦ã³ã¹å½ããæ大ãã¼ãæ°*/75 /* ECHONET Lite インスタンスリストの1アナウンス当たり最大ノード数 */ 92 76 #define ECN_IST_LST_EOJ_MAX_CT (84) 93 77 94 /* ECHONET Lite ãªãã¸ã§ã¯ãã³ã¼ã x1,x2,x3(T_ECN_EOJ)ã24bitæ´æ°ã«å¤æ*/78 /* ECHONET Liteオブジェクトコード x1,x2,x3(T_ECN_EOJ)を24bit整数に変換 */ 95 79 #define _ECN_EOJ2VALUE(s) (((s).eojx1 << 16) | ((s).eojx2 << 8) | (s).eojx3) 96 80 97 81 enum ecn_epc_code 98 82 { 99 ECN_EPC_INL_BCS = 0xD5 /* ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãéç¥ããããã£*/83 ECN_EPC_INL_BCS = 0xD5 /* インスタンスリスト通知プロパティ */ 100 84 }; 101 85 … … 127 111 128 112 /* 129 * ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãéç¥ã®éä¿¡113 * インスタンスリスト通知の送信 130 114 */ 131 115 ER _ecn_tsk_ntf_inl(); 132 116 /* 133 * è¦æ±é»æä½æ117 * 要求電文作成 134 118 */ 135 119 ER _ecn_tsk_mk_esv(ECN_FBS_ID *fp_fbs_id, ID fa_seoj, ID fa_deoj, … … 139 123 140 124 /* 141 * å¿çé»æå¾ 142 ã¡ã®å²ãè¾¼ã¿é»æä½æ 125 * 応答電文待ちの割り込み電文作成 143 126 */ 144 127 ER _ecn_mk_brk_wai(ECN_FBS_ID *pk_fbs_id, const void *p_dat, size_t fa_size); -
azure_iot_hub/trunk/ntshell/echonet/echonet_udp.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain;charset=UTF-8
r388 r389 4 4 * Copyright (C) 2014 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_udp_task.c ããã°ã©ã ã® UDP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«39 * ネットワーク対応 echonet_udp_task.c プログラムの UDP/IP コンフィギュレーションファイル 55 40 */ 56 41 57 42 #include "echonet_lcl_task.h" 58 43 59 /* UDP é信端ç¹*/44 /* UDP 通信端点 */ 60 45 61 46 #ifdef SUPPORT_INET4 -
azure_iot_hub/trunk/ntshell/echonet/echonet_udp6_task.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 4 4 * Copyright (C) 2014 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 UDP éä¿¡å¦çã¿ã¹ã¯39 * ECHONET Lite UDP通信処理タスク 55 40 */ 56 41 #if 0 //def SUPPORT_INET6 … … 115 100 116 101 /* 117 * åä¿¡ããUDPãã¼ã¿ãMAILBOXã«éã102 * 受信したUDPデータをMAILBOXに送る 118 103 */ 119 104 ER _ecn_udp2dtq(const uint8_t *buffer, size_t fa_len, const T_IPV6EP *dst); … … 130 115 131 116 a_rcv_pkt.buffer = buffer; 132 if ( a_rcv_pkt.t_esv->ecn_hdr.ehd1 != ECN_EDH1_ECHONET_LITE /* ECHONET Lite è¦æ ¼*/133 || a_rcv_pkt.t_esv->ecn_hdr.ehd2 != ECN_EDH2_FORMAT_1 /* é»æå½¢å¼1 */) {117 if ( a_rcv_pkt.t_esv->ecn_hdr.ehd1 != ECN_EDH1_ECHONET_LITE /* ECHONET Lite規格 */ 118 || a_rcv_pkt.t_esv->ecn_hdr.ehd2 != ECN_EDH2_FORMAT_1 /* 電文形式1 */) { 134 119 ECN_DBG_PUT_2("[UDP ECHO SRV] illegal type (0x%02X,0x%02X)", a_rcv_pkt.t_esv->ecn_hdr.ehd1, a_rcv_pkt.t_esv->ecn_hdr.ehd2); 135 120 return E_PAR; … … 154 139 a_fbs_id.ptr->hdr.sender.id = ENOD_NOT_MATCH_ID; 155 140 156 /* IP ã¢ãã¬ã¹ãããªã¢ã¼ãECHONETãã¼ãã¸å¤æ*/141 /* IPアドレスからリモートECHONETノードへ変換 */ 157 142 a_enod_id = udp_get_id((T_EDATA *)a_fbs_id.ptr, dst->ipaddr, dst->portno); 158 143 if (a_enod_id < 0 || tnum_enodadr <= a_enod_id) { … … 160 145 ipv62str(NULL, &dst->ipaddr)); 161 146 } else { 162 /* éä¿¡å 163 ECHONETãã¼ããè¨é² */ 147 /* 送信元ECHONETノードを記録 */ 164 148 a_fbs_id.ptr->hdr.sender.id = a_enod_id; 165 149 } 166 150 a_fbs_id.ptr->hdr.reply.id = a_fbs_id.ptr->hdr.sender.id; 167 151 168 /* echonet_task ã«éã*/152 /* echonet_taskに送る */ 169 153 a_ret = snd_dtq(ecn_svc_dataqueueid, (intptr_t)a_fbs_id.ptr); 170 154 if (a_ret != E_OK) { … … 179 163 180 164 /* 181 * ECHONET UDP éä¿¡å¦çã¿ã¹ã¯165 * ECHONET UDP通信処理タスク 182 166 */ 183 167 void echonet_udp_task(intptr_t exinf) … … 211 195 } 212 196 213 /* ã¡ãã»ã¼ã¸ã«ã¼ã*/197 /* メッセージループ */ 214 198 for (;;) { 215 199 a_prev = a_now; … … 233 217 234 218 if (a_ret == E_OK) { 235 /* éä¿¡ãã¼ã¿é·ãåå¾*/219 /* 送信データ長を取得 */ 236 220 a_snd_len = _ecn_fbs_get_datalen(a_mdt.fbs_id); 237 221 … … 256 240 } 257 241 258 /* å¿çé»æç¨fbsè¨å®(sender/targetã®è¨å®) */242 /* 応答電文用fbs設定(sender/targetの設定) */ 259 243 static ER _ecn_udp_cre_req_fbs(ID sender, uint8_t cmd, ECN_FBS_ID *pk_req) 260 244 { … … 285 269 } 286 270 287 /* å¿çé»æç¨fbsè¨å®(sender/targetã®è¨å®) */271 /* 応答電文用fbs設定(sender/targetの設定) */ 288 272 static ER _ecn_udp_cre_res_fbs(ECN_FBS_ID req, uint8_t cmd, ECN_FBS_ID *pk_res) 289 273 { … … 315 299 316 300 /* 317 * å 318 é¨ã¡ãã»ã¼ã¸åä¿¡å¦ç 301 * 内部メッセージ受信処理 319 302 */ 320 303 void _ecn_int_msg(ECN_FBS_ID fbs_id, ECN_FBS_SSIZE_T a_snd_len) … … 334 317 335 318 switch(cmd){ 336 // IP ã¢ãã¬ã¹ãè¿ä¿¡319 // IPアドレスを返信 337 320 case ECN_UDP_MSG_GET_IPADDR_REQ: 338 321 if (a_snd_len < sizeof(msg)) { … … 403 386 404 387 /* 405 * ECHONET é»æåä¿¡å¦ç388 * ECHONET 電文受信処理 406 389 */ 407 390 void _ecn_esv_msg(ECN_FBS_ID fbs_id) 408 391 { 409 392 const static T_IN6_ADDR locl = IPV6_ADDR_LOCAL_LOOPBACK_INIT; 410 /* UDP åºåé åï¼æ«å®ï¼*/393 /* UDP出力領域(暫定) */ 411 394 static uint_t buffer[(ETHER_MAX_LEN) / sizeof(uint_t) + 1]; 412 395 T_IPV6EP a_dst; … … 416 399 memset(&a_dst.ipaddr, 0, sizeof(a_dst.ipaddr)); 417 400 a_dst.portno = 0; 418 /* éä¿¡å 419 IPã¢ãã¬ã¹ */ 401 /* 送信先IPアドレス */ 420 402 a_ret = udp_get_ip(&a_dst, fbs_id.ptr->hdr.target.id); 421 403 if (!a_ret) { 422 ECN_DBG_PUT_4("[UDP TSK] echonet-node 0x%02X-0x%02X-0x%02X âudp dest(%s)",404 ECN_DBG_PUT_4("[UDP TSK] echonet-node 0x%02X-0x%02X-0x%02X → udp dest(%s)", 423 405 ((T_EDATA *)fbs_id.ptr)->hdr.edata.deoj.eojx1, 424 406 ((T_EDATA *)fbs_id.ptr)->hdr.edata.deoj.eojx2, … … 426 408 ipv62str(NULL, &a_dst.ipaddr)); 427 409 428 /* fbs ããåºåé åã«ãã¼ã¿ãæ½åº*/410 /* fbsから出力領域にデータを抽出 */ 429 411 a_snd_len = 0; 430 412 a_ret = _ecn_fbs_get_data(fbs_id, buffer, sizeof(buffer), &a_snd_len); … … 433 415 } 434 416 else if (memcmp(&a_dst.ipaddr, &locl, sizeof(a_dst.ipaddr)) == 0) { 435 /* éä¿¡å 436 ã127.0.0.1 â dtqã«è»¢é */ 437 ECN_DBG_PUT_1("redirect ecn_udp_dataqueueid â ecn_svc_dataqueueid (esv:0x%02X)", 417 /* 送信先が127.0.0.1 → dtqに転送 */ 418 ECN_DBG_PUT_1("redirect ecn_udp_dataqueueid → ecn_svc_dataqueueid (esv:0x%02X)", 438 419 ((T_EDATA *)fbs_id.ptr)->hdr.edata.esv); 439 420 … … 449 430 _ecn_dbg_bindmp((const uint8_t *)buffer, a_snd_len); 450 431 #endif 451 /* UDP éä¿¡*/432 /* UDP送信 */ 452 433 a_ret = udp6_snd_dat(ecn_udp_cepid, &a_dst, buffer, a_snd_len, TMO_FEVR); 453 434 if (a_ret < 0) { … … 456 437 } 457 438 458 /* ãã¼ã¿ãé·ããã¦1ãã±ããã«åã¾ããªãã£ãå ´å*/439 /* データが長すぎて1パケットに収まらなかった場合 */ 459 440 if (_ecn_fbs_exist_data(fbs_id)) { 460 441 ECN_DBG_PUT_1("[UDP TSK] send, data so long: %dbyte(s)", _ecn_fbs_get_datalen(fbs_id)); … … 469 450 470 451 /* 471 * ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°452 * ノンブロッキングコールのコールバック関数 472 453 */ 473 454 ER callback_nblk_udp(ID cepid, FN fncd, void *p_parblk) … … 490 471 } 491 472 #ifdef _MSC_VER 492 /* ( éçºç¨) ECHONETç¨ãã±ãã以å¤ã¯èªã¿æ¨ã¦ã*/473 /* (開発用) ECHONET用パケット以外は読み捨てる */ 493 474 if (buffer[0] != 0x10 || buffer[1] != 0x81) { 494 475 return E_OK; … … 524 505 525 506 /* 526 * ãªã¢ã¼ãECHONETãã¼ãã®é©å確èª507 * リモートECHONETノードの適合確認 527 508 */ 528 509 bool_t is_match(const EOBJCB *enodcb, T_EDATA *edata, const void *_ipaddr, uint16_t portno) … … 542 523 return false; 543 524 544 /* ãã¼ãã¹ã¿ã¼ãæã¤ã³ã¹ã¿ã³ã¹ãªã¹ãéç¥ä»¥å¤ã¯é¤å¤*/525 /* ノードスタート時インスタンスリスト通知以外は除外 */ 545 526 if ( edata->hdr.edata.esv != ESV_INF 546 527 || edata->hdr.edata.deoj.eojx1 != EOJ_X1_PROFILE … … 564 545 } 565 546 ECN_DBG_PUT_2("is_match(): ecn_itr_nxt() result: epc=0x%02X, pdc=%d", epc, pdc); 566 /* ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãéç¥ã¾ãã¯èªãã¼ãã¤ã³ã¹ã¿ã³ã¹ãªã¹ãS以å¤ã¯é¤å¤*/547 /* インスタンスリスト通知または自ノードインスタンスリストS以外は除外 */ 567 548 if ((epc != 0xD5) && (epc != 0xD6)) { 568 549 continue; 569 550 } 570 551 571 /* ï¼ãã¤ãç®ä»¥éã«eojãåæããã¦ãã*/552 /* 2バイト目以降にeojが列挙されている */ 572 553 count = (pdc - 1) / sizeof(T_ECN_EOJ); 573 554 574 /* ãã¼ãå 575 ã®æ©å¨ãªãã¸ã§ã¯ããæ¤ç´¢ */ 555 /* ノード内の機器オブジェクトを検索 */ 576 556 for (k = 0; k < enodcb->eobjcnt; k++) { 577 557 p_eobj = enodcb->eobjs[k]; 578 558 579 /* ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãã確èª*/559 /* インスタンスリストを確認 */ 580 560 match = false; 581 561 for (i = 0, j = 1; i < count; i++, j += sizeof(T_ECN_EOJ)) { … … 595 575 } 596 576 597 /* ãã¹ã¦æã£ã¦ãããé©åï¼ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãã®æ¹ãå¤ãã¦ããããã¨ã¨ããï¼*/577 /* すべて揃っていたら適合(インスタンスリストの方が多くてもいいこととする) */ 598 578 return true; 599 579 } … … 603 583 604 584 /* 605 * IP ã¢ãã¬ã¹ãããªã¢ã¼ãECHONETãã¼ãã¸å¤æ585 * IPアドレスからリモートECHONETノードへ変換 606 586 */ 607 587 ECN_ENOD_ID udp_get_id(T_EDATA *edata, const T_IN6_ADDR ipaddr, uint16_t portno) … … 619 599 return ENOD_MULTICAST_ID; 620 600 621 /* IP ã¢ãã¬ã¹ã®åããã®ãæ¤ç´¢*/601 /* IPアドレスの同じものを検索 */ 622 602 for (i = 0, ea = enodadrb_table; i < tnum_enodadr; i++, ea++) { 623 603 if (!ea->inuse) … … 631 611 } 632 612 633 /* 対å¿ãããªã¢ã¼ããã¼ããæ¤ç´¢*/613 /* 対応するリモートノードを検索 */ 634 614 for (i = ENOD_REMOTE_ID, ea = &enodadrb_table[ENOD_REMOTE_ID]; i < tnum_enodadr; i++, ea++) { 635 615 if (!ea->inuse) … … 645 625 continue; 646 626 647 /* 対å¿ãããªã¢ã¼ããã¼ããããã°IPã¢ãã¬ã¹ãè¨å®*/627 /* 対応するリモートノードがあればIPアドレスを設定 */ 648 628 memcpy(&ea->ipaddr, &ipaddr, sizeof(T_IN6_ADDR)); 649 629 … … 653 633 } 654 634 655 /* 空ãé åãæ¢ãã¦èªåç»é²*/635 /* 空き領域を探して自動登録 */ 656 636 for (i = ENOD_REMOTE_ID, ea = &enodadrb_table[ENOD_REMOTE_ID]; i < tnum_enodadr; i++, ea++) { 657 637 if (ea->inuse) … … 670 650 671 651 /* 672 * ãªã¢ã¼ãECHONETãã¼ãããIPã¢ãã¬ã¹ã¸å¤æ652 * リモートECHONETノードからIPアドレスへ変換 673 653 */ 674 654 int udp_get_ip(T_IPV6EP *fp_ipep, ECN_ENOD_ID fa_enodid) … … 684 664 685 665 if (fa_enodid == ENOD_MULTICAST_ID) { 686 /* target ãENOD_MULTICAST_IDã®å ´åããã«ããã£ã¹ããè¡ã*/666 /* targetがENOD_MULTICAST_IDの場合、マルチキャストを行う */ 687 667 memcpy(&fp_ipep->ipaddr, &mcst, sizeof(T_IN6_ADDR)); 688 668 return 0; /* ok */ … … 690 670 691 671 if (fa_enodid < ENOD_REMOTE_ID) { 692 /* targetãæªå®ç¾©ã»LOCALã»APIã®å ´åããã¼ã«ã«é 693 éãè¡ã */ 672 /* targetが未定義・LOCAL・APIの場合、ローカル配送を行う */ 694 673 memcpy(&fp_ipep->ipaddr, &locl, sizeof(T_IN6_ADDR)); 695 674 return 0; /* ok */ -
azure_iot_hub/trunk/ntshell/echonet/echonet_udp6_task.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) 2014 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 * ECHONET Lite ä¸æåå ±ã¢ãã¬ã¹54 * ECHONET Lite 一斉同報アドレス 70 55 */ 71 56 #define ECHONET_MULTICAST_ADDR \ … … 76 61 77 62 /* 78 * ECHONET Lite ã¿ã¹ã¯é¢é£ã®å®æ°ã®ããã©ã«ãå¤ã®å®ç¾©63 * ECHONET Lite タスク関連の定数のデフォルト値の定義 79 64 */ 80 65 #ifndef ECHONET_UDP_TASK_PRIORITY 81 #define ECHONET_UDP_TASK_PRIORITY 3 /* åæåªå 82 度 */ 66 #define ECHONET_UDP_TASK_PRIORITY 3 /* 初期優先度 */ 83 67 #endif /* ECHONET_UDP_TASK_PRIORITY */ 84 68 85 69 #ifndef ECHONET_UDP_TASK_STACK_SIZE 86 #define ECHONET_UDP_TASK_STACK_SIZE 1024 /* ã¹ã¿ãã¯é åã®ãµã¤ãº*/70 #define ECHONET_UDP_TASK_STACK_SIZE 1024 /* スタック領域のサイズ */ 87 71 #endif /* ECHONET_UDP_TASK_STACK_SIZE */ 88 72 … … 92 76 93 77 /* 94 * ECHONET Lite ã¿ã¹ã¯ã®æ¬ä½78 * ECHONET Lite タスクの本体 95 79 */ 96 80 void echonet_udp_task(intptr_t exinf); 97 81 98 /* ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°*/82 /* ノンブロッキングコールのコールバック関数 */ 99 83 ER callback_nblk_udp(ID cepid, FN fncd, void *p_parblk); 100 84 101 85 /* 102 * ãªã¢ã¼ãECHONETãã¼ãã®é©å確èª86 * リモートECHONETノードの適合確認 103 87 */ 104 88 bool_t is_match(const EOBJCB *eobjcb, T_EDATA *edata, const void *_ipaddr, uint16_t portno); 105 89 106 /* IP ã¢ãã¬ã¹ãæååã«å¤æ*/90 /* IPアドレスを文字列に変換 */ 107 91 char *ipaddr2str(char *buf, int bubsz, uint8_t *ipaddr); 108 92 -
azure_iot_hub/trunk/ntshell/echonet/echonet_udp_task.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 4 4 * Copyright (C) 2014 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 UDP éä¿¡å¦çã¿ã¹ã¯39 * ECHONET Lite UDP通信処理タスク 55 40 */ 56 41 #ifdef SUPPORT_INET4 … … 110 95 111 96 /* 112 * åä¿¡ããUDPãã¼ã¿ãMAILBOXã«éã97 * 受信したUDPデータをMAILBOXに送る 113 98 */ 114 99 ER _ecn_udp2dtq(const uint8_t *buffer, size_t fa_len, const T_IPV4EP *dst); … … 125 110 126 111 a_rcv_pkt.buffer = buffer; 127 if ( a_rcv_pkt.t_esv->ecn_hdr.ehd1 != ECN_EDH1_ECHONET_LITE /* ECHONET Lite è¦æ ¼*/128 || a_rcv_pkt.t_esv->ecn_hdr.ehd2 != ECN_EDH2_FORMAT_1 /* é»æå½¢å¼1 */) {112 if ( a_rcv_pkt.t_esv->ecn_hdr.ehd1 != ECN_EDH1_ECHONET_LITE /* ECHONET Lite規格 */ 113 || a_rcv_pkt.t_esv->ecn_hdr.ehd2 != ECN_EDH2_FORMAT_1 /* 電文形式1 */) { 129 114 ECN_DBG_PUT_2("[UDP ECHO SRV] illegal type (0x%02X,0x%02X)", a_rcv_pkt.t_esv->ecn_hdr.ehd1, a_rcv_pkt.t_esv->ecn_hdr.ehd2); 130 115 return E_PAR; … … 149 134 a_fbs_id.ptr->hdr.sender.id = ENOD_NOT_MATCH_ID; 150 135 151 /* IP ã¢ãã¬ã¹ãããªã¢ã¼ãECHONETãã¼ãã¸å¤æ*/136 /* IPアドレスからリモートECHONETノードへ変換 */ 152 137 a_enod_id = udp_get_id((T_EDATA *)a_fbs_id.ptr, dst->ipaddr, dst->portno); 153 138 if (a_enod_id < 0 || tnum_enodadr <= a_enod_id) { … … 155 140 ip2str(NULL, &dst->ipaddr)); 156 141 } else { 157 /* éä¿¡å 158 ECHONETãã¼ããè¨é² */ 142 /* 送信元ECHONETノードを記録 */ 159 143 a_fbs_id.ptr->hdr.sender.id = a_enod_id; 160 144 } 161 145 a_fbs_id.ptr->hdr.reply.id = a_fbs_id.ptr->hdr.sender.id; 162 146 163 /* echonet_task ã«éã*/147 /* echonet_taskに送る */ 164 148 a_ret = snd_dtq(ecn_svc_dataqueueid, (intptr_t)a_fbs_id.ptr); 165 149 if (a_ret != E_OK) { … … 174 158 175 159 /* 176 * ECHONET UDP éä¿¡å¦çã¿ã¹ã¯160 * ECHONET UDP通信処理タスク 177 161 */ 178 162 void echonet_udp_task(intptr_t exinf) … … 216 200 } 217 201 218 /* ã¡ãã»ã¼ã¸ã«ã¼ã*/202 /* メッセージループ */ 219 203 for (;;) { 220 204 a_prev = a_now; … … 238 222 239 223 if (a_ret == E_OK) { 240 /* éä¿¡ãã¼ã¿é·ãåå¾*/224 /* 送信データ長を取得 */ 241 225 a_snd_len = _ecn_fbs_get_datalen(a_mdt.fbs_id); 242 226 … … 261 245 } 262 246 263 /* å¿çé»æç¨fbsè¨å®(sender/targetã®è¨å®) */247 /* 応答電文用fbs設定(sender/targetの設定) */ 264 248 static ER _ecn_udp_cre_req_fbs(ID sender, uint8_t cmd, ECN_FBS_ID *pk_req) 265 249 { … … 290 274 } 291 275 292 /* å¿çé»æç¨fbsè¨å®(sender/targetã®è¨å®) */276 /* 応答電文用fbs設定(sender/targetの設定) */ 293 277 static ER _ecn_udp_cre_res_fbs(ECN_FBS_ID req, uint8_t cmd, ECN_FBS_ID *pk_res) 294 278 { … … 320 304 321 305 /* 322 * å 323 é¨ã¡ãã»ã¼ã¸åä¿¡å¦ç 306 * 内部メッセージ受信処理 324 307 */ 325 308 void _ecn_int_msg(ECN_FBS_ID fbs_id, ECN_FBS_SSIZE_T a_snd_len) … … 339 322 340 323 switch(cmd){ 341 // IP ã¢ãã¬ã¹ãè¿ä¿¡324 // IPアドレスを返信 342 325 case ECN_UDP_MSG_GET_IPADDR_REQ: 343 326 if (a_snd_len < sizeof(msg)) { … … 408 391 409 392 /* 410 * ECHONET é»æåä¿¡å¦ç393 * ECHONET 電文受信処理 411 394 */ 412 395 void _ecn_esv_msg(ECN_FBS_ID fbs_id) 413 396 { 414 /* UDP åºåé åï¼æ«å®ï¼*/397 /* UDP出力領域(暫定) */ 415 398 static uint_t buffer[(ETHER_MAX_LEN) / sizeof(uint_t) + 1]; 416 399 T_IPV4EP a_dst; … … 420 403 a_dst.ipaddr = 0; 421 404 a_dst.portno = 0; 422 /* éä¿¡å 423 IPã¢ãã¬ã¹ */ 405 /* 送信先IPアドレス */ 424 406 a_ret = udp_get_ip(&a_dst, fbs_id.ptr->hdr.target.id); 425 407 if (!a_ret) { 426 ECN_DBG_PUT_4("[UDP TSK] echonet-node 0x%02X-0x%02X-0x%02X âudp dest(%s)",408 ECN_DBG_PUT_4("[UDP TSK] echonet-node 0x%02X-0x%02X-0x%02X → udp dest(%s)", 427 409 ((T_EDATA *)fbs_id.ptr)->hdr.edata.deoj.eojx1, 428 410 ((T_EDATA *)fbs_id.ptr)->hdr.edata.deoj.eojx2, … … 430 412 ip2str(NULL, &a_dst.ipaddr)); 431 413 432 /* fbs ããåºåé åã«ãã¼ã¿ãæ½åº*/414 /* fbsから出力領域にデータを抽出 */ 433 415 a_snd_len = 0; 434 416 a_ret = _ecn_fbs_get_data(fbs_id, buffer, sizeof(buffer), &a_snd_len); … … 437 419 } 438 420 else if (a_dst.ipaddr == MAKE_IPV4_ADDR(127,0,0,1)) { 439 /* éä¿¡å 440 ã127.0.0.1 â dtqã«è»¢é */ 441 ECN_DBG_PUT_1("redirect ecn_udp_dataqueueid â ecn_svc_dataqueueid (esv:0x%02X)", 421 /* 送信先が127.0.0.1 → dtqに転送 */ 422 ECN_DBG_PUT_1("redirect ecn_udp_dataqueueid → ecn_svc_dataqueueid (esv:0x%02X)", 442 423 ((T_EDATA *)fbs_id.ptr)->hdr.edata.esv); 443 424 … … 453 434 _ecn_dbg_bindmp((const uint8_t *)buffer, a_snd_len); 454 435 #endif 455 /* UDP éä¿¡*/436 /* UDP送信 */ 456 437 a_ret = udp_snd_dat(ecn_udp_cepid, &a_dst, buffer, a_snd_len, TMO_FEVR); 457 438 if (a_ret < 0) { … … 460 441 } 461 442 462 /* ãã¼ã¿ãé·ããã¦1ãã±ããã«åã¾ããªãã£ãå ´å*/443 /* データが長すぎて1パケットに収まらなかった場合 */ 463 444 if (_ecn_fbs_exist_data(fbs_id)) { 464 445 ECN_DBG_PUT_1("[UDP TSK] send, data so long: %dbyte(s)", _ecn_fbs_get_datalen(fbs_id)); … … 473 454 474 455 /* 475 * ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°456 * ノンブロッキングコールのコールバック関数 476 457 */ 477 458 ER callback_nblk_udp(ID cepid, FN fncd, void *p_parblk) … … 494 475 } 495 476 #ifdef _MSC_VER 496 /* ( éçºç¨) ECHONETç¨ãã±ãã以å¤ã¯èªã¿æ¨ã¦ã*/477 /* (開発用) ECHONET用パケット以外は読み捨てる */ 497 478 if (buffer[0] != 0x10 || buffer[1] != 0x81) { 498 479 return E_OK; … … 528 509 529 510 /* 530 * ãªã¢ã¼ãECHONETãã¼ãã®é©å確èª511 * リモートECHONETノードの適合確認 531 512 */ 532 513 bool_t is_match(const EOBJCB *enodcb, T_EDATA *edata, const void *_ipaddr, uint16_t portno) … … 546 527 return false; 547 528 548 /* ãã¼ãã¹ã¿ã¼ãæã¤ã³ã¹ã¿ã³ã¹ãªã¹ãéç¥ä»¥å¤ã¯é¤å¤*/529 /* ノードスタート時インスタンスリスト通知以外は除外 */ 549 530 if ( edata->hdr.edata.esv != ESV_INF 550 531 || edata->hdr.edata.deoj.eojx1 != EOJ_X1_PROFILE … … 568 549 } 569 550 ECN_DBG_PUT_2("is_match(): ecn_itr_nxt() result: epc=0x%02X, pdc=%d", epc, pdc); 570 /* ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãéç¥ã¾ãã¯èªãã¼ãã¤ã³ã¹ã¿ã³ã¹ãªã¹ãS以å¤ã¯é¤å¤*/551 /* インスタンスリスト通知または自ノードインスタンスリストS以外は除外 */ 571 552 if ((epc != 0xD5) && (epc != 0xD6)) { 572 553 continue; 573 554 } 574 555 575 /* ï¼ãã¤ãç®ä»¥éã«eojãåæããã¦ãã*/556 /* 2バイト目以降にeojが列挙されている */ 576 557 count = (pdc - 1) / sizeof(T_ECN_EOJ); 577 558 578 /* ãã¼ãå 579 ã®æ©å¨ãªãã¸ã§ã¯ããæ¤ç´¢ */ 559 /* ノード内の機器オブジェクトを検索 */ 580 560 for (k = 0; k < enodcb->eobjcnt; k++) { 581 561 p_eobj = enodcb->eobjs[k]; 582 562 583 /* ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãã確èª*/563 /* インスタンスリストを確認 */ 584 564 match = false; 585 565 for (i = 0, j = 1; i < count; i++, j += sizeof(T_ECN_EOJ)) { … … 599 579 } 600 580 601 /* ãã¹ã¦æã£ã¦ãããé©åï¼ã¤ã³ã¹ã¿ã³ã¹ãªã¹ãã®æ¹ãå¤ãã¦ããããã¨ã¨ããï¼*/581 /* すべて揃っていたら適合(インスタンスリストの方が多くてもいいこととする) */ 602 582 return true; 603 583 } … … 607 587 608 588 /* 609 * IP ã¢ãã¬ã¹ãããªã¢ã¼ãECHONETãã¼ãã¸å¤æ589 * IPアドレスからリモートECHONETノードへ変換 610 590 */ 611 591 ECN_ENOD_ID udp_get_id(T_EDATA *edata, const T_IN4_ADDR ipaddr, uint16_t portno) … … 619 599 return ENOD_MULTICAST_ID; 620 600 621 /* IP ã¢ãã¬ã¹ã®åããã®ãæ¤ç´¢*/601 /* IPアドレスの同じものを検索 */ 622 602 for (i = 0, ea = enodadrb_table; i < tnum_enodadr; i++, ea++) { 623 603 if (!ea->inuse) … … 631 611 } 632 612 633 /* 対å¿ãããªã¢ã¼ããã¼ããæ¤ç´¢*/613 /* 対応するリモートノードを検索 */ 634 614 for (i = ENOD_REMOTE_ID, ea = &enodadrb_table[ENOD_REMOTE_ID]; i < tnum_enodadr; i++, ea++) { 635 615 if (!ea->inuse) … … 642 622 continue; 643 623 644 /* 対å¿ãããªã¢ã¼ããã¼ããããã°IPã¢ãã¬ã¹ãè¨å®*/624 /* 対応するリモートノードがあればIPアドレスを設定 */ 645 625 *((T_IN4_ADDR *)ea->ipaddr) = ipaddr; 646 626 … … 650 630 } 651 631 652 /* 空ãé åãæ¢ãã¦èªåç»é²*/632 /* 空き領域を探して自動登録 */ 653 633 for (i = ENOD_REMOTE_ID, ea = &enodadrb_table[ENOD_REMOTE_ID]; i < tnum_enodadr; i++, ea++) { 654 634 if (ea->inuse) … … 667 647 668 648 /* 669 * ãªã¢ã¼ãECHONETãã¼ãããIPã¢ãã¬ã¹ã¸å¤æ649 * リモートECHONETノードからIPアドレスへ変換 670 650 */ 671 651 int udp_get_ip(T_IPV4EP *fp_ipep, ECN_ENOD_ID fa_enodid) … … 679 659 680 660 if (fa_enodid == ENOD_MULTICAST_ID) { 681 /* target ãENOD_MULTICAST_IDã®å ´åããã«ããã£ã¹ããè¡ã*/661 /* targetがENOD_MULTICAST_IDの場合、マルチキャストを行う */ 682 662 fp_ipep->ipaddr = MAKE_IPV4_ADDR(224,0,23,0); 683 663 return 0; /* ok */ … … 685 665 686 666 if (fa_enodid < ENOD_REMOTE_ID) { 687 /* targetãæªå®ç¾©ã»LOCALã»APIã®å ´åããã¼ã«ã«é 688 éãè¡ã */ 667 /* targetが未定義・LOCAL・APIの場合、ローカル配送を行う */ 689 668 fp_ipep->ipaddr = MAKE_IPV4_ADDR(127,0,0,1); 690 669 return 0; /* ok */ -
azure_iot_hub/trunk/ntshell/echonet/echonet_udp_task.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) 2014 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 * ECHONET Lite ä¸æåå ±ã¢ãã¬ã¹54 * ECHONET Lite 一斉同報アドレス 70 55 */ 71 56 #ifdef SIL_ENDIAN_LITTLE … … 76 61 77 62 /* 78 * ECHONET Lite ã¿ã¹ã¯é¢é£ã®å®æ°ã®ããã©ã«ãå¤ã®å®ç¾©63 * ECHONET Lite タスク関連の定数のデフォルト値の定義 79 64 */ 80 65 #ifndef ECHONET_UDP_TASK_PRIORITY 81 #define ECHONET_UDP_TASK_PRIORITY 3 /* åæåªå 82 度 */ 66 #define ECHONET_UDP_TASK_PRIORITY 3 /* 初期優先度 */ 83 67 #endif /* ECHONET_UDP_TASK_PRIORITY */ 84 68 85 69 #ifndef ECHONET_UDP_TASK_STACK_SIZE 86 #define ECHONET_UDP_TASK_STACK_SIZE 1024 /* ã¹ã¿ãã¯é åã®ãµã¤ãº*/70 #define ECHONET_UDP_TASK_STACK_SIZE 1024 /* スタック領域のサイズ */ 87 71 #endif /* ECHONET_UDP_TASK_STACK_SIZE */ 88 72 … … 92 76 93 77 /* 94 * ECHONET Lite ã¿ã¹ã¯ã®æ¬ä½78 * ECHONET Lite タスクの本体 95 79 */ 96 80 void echonet_udp_task(intptr_t exinf); 97 81 98 /* ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°*/82 /* ノンブロッキングコールのコールバック関数 */ 99 83 ER callback_nblk_udp(ID cepid, FN fncd, void *p_parblk); 100 84 101 85 /* 102 * ãªã¢ã¼ãECHONETãã¼ãã®é©å確èª86 * リモートECHONETノードの適合確認 103 87 */ 104 88 bool_t is_match(const EOBJCB *eobjcb, T_EDATA *edata, const void *_ipaddr, uint16_t portno); 105 89 106 /* IP ã¢ãã¬ã¹ãæååã«å¤æ*/90 /* IPアドレスを文字列に変換 */ 107 91 char *ipaddr2str(char *buf, int bubsz, uint8_t *ipaddr); 108 92 -
azure_iot_hub/trunk/ntshell/echonet/fbs_string.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 9 9 * Copyright (C) 2015 Cores Co., Ltd. Japan 10 10 * 11 * ä¸è¨èä½æ¨©è 12 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 13 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 14 * å¤ã»åé 15 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 16 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 17 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 18 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 19 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 20 * ç¨ã§ããå½¢ã§åé 21 å¸ããå ´åã«ã¯ï¼åé 22 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 23 * è 24 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 25 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 26 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 27 * ç¨ã§ããªãå½¢ã§åé 28 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 29 * ã¨ï¼ 30 * (a) åé 31 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 32 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 33 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 34 * (b) åé 35 å¸ã®å½¢æ 36 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 37 * å ±åãããã¨ï¼ 38 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 39 * 害ãããï¼ä¸è¨èä½æ¨©è 40 ããã³TOPPERSããã¸ã§ã¯ããå 41 責ãããã¨ï¼ 42 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 43 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 44 ããã³TOPPERSããã¸ã§ã¯ãã 45 * å 46 責ãããã¨ï¼ 11 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 13 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 16 * スコード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 18 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 19 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 20 * の無保証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 22 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 23 * と. 24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 25 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 27 * 報告すること. 28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 29 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 30 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 31 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 32 * 免責すること. 47 33 * 48 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 49 ã 50 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 51 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 52 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 53 * ã®è²¬ä»»ãè² ããªãï¼ 34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 * の責任を負わない. 54 39 * 55 40 * @(#) $Id$ … … 62 47 63 48 /* 64 * æ°å¤ãæååã«å¤æ49 * 数値を文字列に変換 65 50 */ 66 51 #define CONVERT_BUFLEN ((sizeof(uintptr_t) * CHAR_BIT + 2) / 3) 67 /* uintptr_t åã®æ°å¤ã®æ大æåæ°*/52 /* uintptr_t型の数値の最大文字数 */ 68 53 static ER 69 54 convert(ECN_FBS_ID fbs, ECN_FBS_SSIZE_T *pos, uintptr_t val, uint_t radix, const char *radchar, … … 111 96 112 97 /* 113 * æååæ´å½¢åºå98 * 文字列整形出力 114 99 */ 115 100 static const char raddec[] = "0123456789"; -
azure_iot_hub/trunk/ntshell/echonet/fbs_string.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$ -
azure_iot_hub/trunk/ntshell/fatfs/ccsbcs.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/fatfs/diskio.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/fatfs/diskio.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/fatfs/ff.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 326 326 ret_code[0] = ret_code[1] = ret_code[2] = ret_code[3] = 0; 327 327 328 if (chr <= 0x7f) { // ASCII äºæ328 if (chr <= 0x7f) { // ASCII互換 329 329 ret_code[0] = chr; 330 330 *ret_size = 1; … … 376 376 } 377 377 378 //2 ãã¤ãã®UTF-16ã³ã¼ããå¾ããã378 //2バイトのUTF-16コードが得られる 379 379 WCHAR Utf8_to_Utf16(const char *src, int *code_size) 380 380 { … … 397 397 } 398 398 399 // æ¶è²»æåæ°è¨å®399 //消費文字数設定 400 400 *code_size = i; 401 401 402 // ç¾ç¶ã2ãã¤ãéå®402 //現状、2バイト限定 403 403 return uc; 404 404 } -
azure_iot_hub/trunk/ntshell/fatfs/ff.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/fatfs/ffarch.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2014-2017 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 */ 51 36 52 37 /* 53 * ãµã³ãã«ããã°ã©ã (1)ã®æ¬ä½38 * サンプルプログラム(1)の本体 54 39 */ 55 40 … … 87 72 88 73 /* 89 * FatFS ã¿ã¹ã¯74 * FatFSタスク 90 75 */ 91 76 void ffarch_task(intptr_t exinf) … … 107 92 prev = now; 108 93 109 /* ã¿ã¤ãã¼åå¾*/94 /* タイマー取得 */ 110 95 timer = ffarch_get_timer(); 111 96 112 /* å¾ 113 ã¡ */ 97 /* 待ち */ 114 98 ret = tslp_tsk(timer); 115 99 if ((ret != E_OK) && (ret != E_TMOUT)) { … … 126 110 } 127 111 128 /* æéçµé*/112 /* 時間経過 */ 129 113 int elapse = now - prev; 130 114 ffarch_progress(elapse); 131 115 132 /* ã¿ã¤ã ã¢ã¦ãå¦ç*/116 /* タイムアウト処理 */ 133 117 ffarch_timeout(); 134 118 } … … 329 313 //goto case FFS_IDLE; 330 314 case FFS_IDLE: 331 /* SDã«ã¼ããå 332 ¥ããããå ´å */ 315 /* SDカードが入れられた場合 */ 333 316 if (((mmc_rspi_prev_status & STA_NODISK) != 0) && ((mmc_rspi_status() & STA_NODISK) == 0)) { 334 317 syslog(LOG_NOTICE, "SD card initializing ..."); … … 338 321 syslog(LOG_NOTICE, "SD card (1:) OK!"); 339 322 340 /* upload ãã£ã¬ã¯ããªãä½æãã¦ãã*/323 /* uploadディレクトリを作成しておく */ 341 324 f_mkdir("1:/upload"); 342 325 … … 351 334 } 352 335 } 353 /* SD ã«ã¼ããæãããå ´å*/336 /* SDカードが抜かれた場合 */ 354 337 else if (((mmc_rspi_prev_status & STA_NODISK) == 0) && ((mmc_rspi_status() & STA_NODISK) != 0)) { 355 338 syslog(LOG_NOTICE, "SD card unmount"); -
azure_iot_hub/trunk/ntshell/fatfs/ffarch.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 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$ -
azure_iot_hub/trunk/ntshell/fatfs/ffarch.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 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 */ -
azure_iot_hub/trunk/ntshell/fatfs/ffconf.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/fatfs/integer.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/fatfs/mmc_rspi.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 56 56 /* SPIMISO=PULLUP */ 57 57 sil_wrb_mem(PORTC_PCR_ADDR, sil_reb_mem(PORTC_PDR_ADDR) | PORT_PDR_B7_BIT); 58 /* CMOS ãé¸æ*/58 /* CMOSを選択 */ 59 59 sil_wrb_mem(PORTC_ODR0_ADDR, 0x00); 60 /* CMOS ãé¸æ*/60 /* CMOSを選択 */ 61 61 sil_wrb_mem(PORTC_ODR1_ADDR, 0x00); 62 62 } … … 69 69 { 70 70 /* 71 * ã¢ã¸ã¥ã¼ã«ã¹ãããæ©è½ã®è¨å®(RSPI0)71 * モジュールストップ機能の設定(RSPI0) 72 72 */ 73 sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA502); /* æ¸è¾¼ã¿è¨±å¯*/73 sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA502); /* 書込み許可 */ 74 74 sil_wrw_mem(SYSTEM_MSTPCRB_ADDR, 75 75 sil_rew_mem(SYSTEM_MSTPCRB_ADDR) & ~SYSTEM_MSTPCRB_MSTPB17_BIT); 76 sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA500); /* æ¸è¾¼ã¿ç¦æ¢*/77 78 /* P15 ãGPIOã¨ãã¦ä½¿ç¨*/76 sil_wrh_mem(SYSTEM_PRCR_ADDR, (uint16_t)0xA500); /* 書込み禁止 */ 77 78 /* P15をGPIOとして使用 */ 79 79 sil_wrb_mem(PORT1_PMR_ADDR, 80 80 sil_reb_mem(PORT1_PMR_ADDR) & ~PORT_PMR_B5_BIT); 81 /* PC0 ãGPIOã¨ãã¦ä½¿ç¨*/81 /* PC0をGPIOとして使用 */ 82 82 sil_wrb_mem(PORTC_PMR_ADDR, 83 83 sil_reb_mem(PORTC_PMR_ADDR) & ~PORT_PMR_B0_BIT); 84 /* PC5, PC6, PC7 ãå¨è¾ºæ©è½ã¨ãã¦ä½¿ç¨*/84 /* PC5, PC6, PC7を周辺機能として使用 */ 85 85 sil_wrb_mem(PORTC_PMR_ADDR, 86 86 sil_reb_mem(PORTC_PMR_ADDR) | PORT_PMR_B5_BIT | PORT_PMR_B6_BIT | PORT_PMR_B7_BIT); 87 87 88 /* æ¸ãè¾¼ã¿ãããã¯ãã¬ã¸ã¹ã¿ã®è¨å® PFSWEãããã¸ã®æ¸ãè¾¼ã¿ã許å¯*/88 /* 書き込みプロテクトレジスタの設定 PFSWEビットへの書き込みを許可 */ 89 89 sil_wrb_mem(MPC_PWPR_ADDR, 0x00); 90 /* æ¸ãè¾¼ã¿ãããã¯ãã¬ã¸ã¹ã¿ã®è¨å® PxxFSã¬ã¸ã¹ã¿ã¸ã®æ¸ãè¾¼ã¿ã許å¯*/90 /* 書き込みプロテクトレジスタの設定 PxxFSレジスタへの書き込みを許可 */ 91 91 sil_wrb_mem(MPC_PWPR_ADDR, 0x40); 92 92 93 /* RSPCKA ãé¸æ*/93 /* RSPCKAを選択 */ 94 94 sil_wrb_mem(MPC_PC5PFS_ADDR, 0x0d); 95 /* MOSIA ãé¸æ*/95 /* MOSIAを選択 */ 96 96 sil_wrb_mem(MPC_PC6PFS_ADDR, 0x0d); 97 /* MISOA ãé¸æ*/97 /* MISOAを選択 */ 98 98 sil_wrb_mem(MPC_PC7PFS_ADDR, 0x0d); 99 99 100 /* æ¸ãè¾¼ã¿ãããã¯ãã¬ã¸ã¹ã¿ã®è¨å® æ¸ãè¾¼ã¿ãç¦æ¢*/100 /* 書き込みプロテクトレジスタの設定 書き込みを禁止 */ 101 101 sil_wrb_mem(MPC_PWPR_ADDR, 0x80); 102 102 } … … 104 104 static void FCLK_FAST() 105 105 { 106 /* RSPI æ©è½ãç¡å¹å*/106 /* RSPI機能を無効化 */ 107 107 sil_wrb_mem(RSPI0_SPCR_ADDR, 108 108 sil_reb_mem(RSPI0_SPCR_ADDR) & ~RSPI_SPCR_SPE_BIT); 109 /* ãããã¬ã¼ãè¨å®*/109 /* ビットレート設定 */ 110 110 sil_wrb_mem(RSPI0_SPBR_ADDR, F_PCLK / 2 / SCLK_FAST - 1); 111 /* RSPI æ©è½ãæå¹å*/111 /* RSPI機能を有効化 */ 112 112 sil_wrb_mem(RSPI0_SPCR_ADDR, 113 113 sil_reb_mem(RSPI0_SPCR_ADDR) | RSPI_SPCR_SPE_BIT); -
azure_iot_hub/trunk/ntshell/fatfs/mmc_rspi.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 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$ … … 53 38 #include "mmc_rspi.h" 54 39 55 /* å²ãè¾¼ã¿ãã³ãã©*/40 /* 割り込みハンドラ */ 56 41 57 42 DEF_INH(INHNO_MMC_RSPI_SPRI, { TA_HLNG, mmc_rspi_spri_handler }); -
azure_iot_hub/trunk/ntshell/fatfs/mmc_rspi.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 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$ … … 57 42 #include "diskio.h" 58 43 59 #define INHNO_MMC_RSPI_SPRI INT_RSPI0_SPRI0 /* åä¿¡å²ã込㿠*/ 60 #define INTNO_MMC_RSPI_SPRI INT_RSPI0_SPRI0 /* åä¿¡å²ã込㿠*/ 61 #define INTATR_MMC_RSPI_SPRI (TA_NULL) /* å²è¾¼ã¿å±æ§ */ 62 #define INTPRI_MMC_RSPI_SPRI (-1) /* å²è¾¼ã¿åªå 63 度 */ 44 #define INHNO_MMC_RSPI_SPRI INT_RSPI0_SPRI0 /* 受信割り込み */ 45 #define INTNO_MMC_RSPI_SPRI INT_RSPI0_SPRI0 /* 受信割り込み */ 46 #define INTATR_MMC_RSPI_SPRI (TA_NULL) /* 割込み属性 */ 47 #define INTPRI_MMC_RSPI_SPRI (-1) /* 割込み優先度 */ 64 48 65 #define INHNO_MMC_RSPI_SPTI INT_RSPI0_SPTI0 /* éä¿¡å²ã込㿠*/ 66 #define INTNO_MMC_RSPI_SPTI INT_RSPI0_SPTI0 /* éä¿¡å²ã込㿠*/ 67 #define INTATR_MMC_RSPI_SPTI (TA_NULL) /* å²è¾¼ã¿å±æ§ */ 68 #define INTPRI_MMC_RSPI_SPTI (-1) /* å²è¾¼ã¿åªå 69 度 */ 49 #define INHNO_MMC_RSPI_SPTI INT_RSPI0_SPTI0 /* 送信割り込み */ 50 #define INTNO_MMC_RSPI_SPTI INT_RSPI0_SPTI0 /* 送信割り込み */ 51 #define INTATR_MMC_RSPI_SPTI (TA_NULL) /* 割込み属性 */ 52 #define INTPRI_MMC_RSPI_SPTI (-1) /* 割込み優先度 */ 70 53 71 #define INHNO_MMC_RSPI_SPII INT_RSPI0_SPII0 /* ã¢ã¤ãã«å²ã込㿠*/ 72 #define INTNO_MMC_RSPI_SPII INT_RSPI0_SPII0 /* ã¢ã¤ãã«å²ã込㿠*/ 73 #define INTATR_MMC_RSPI_SPII (TA_NULL) /* å²è¾¼ã¿å±æ§ */ 74 #define INTPRI_MMC_RSPI_SPII (-1) /* å²è¾¼ã¿åªå 75 度 */ 54 #define INHNO_MMC_RSPI_SPII INT_RSPI0_SPII0 /* アイドル割り込み */ 55 #define INTNO_MMC_RSPI_SPII INT_RSPI0_SPII0 /* アイドル割り込み */ 56 #define INTATR_MMC_RSPI_SPII (TA_NULL) /* 割込み属性 */ 57 #define INTPRI_MMC_RSPI_SPII (-1) /* 割込み優先度 */ 76 58 77 59 DSTATUS mmc_rspi_initialize (); -
azure_iot_hub/trunk/ntshell/lcd/adafruit_gfx.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 1096 1096 return; 1097 1097 1098 //3 ãã¤ãã³ã¼ãåè§æåç¨1098 //3バイトコード半角文字用 1099 1099 if (use_chars == 3) { 1100 1100 for_3B_hankaku_code = 0; … … 1105 1105 1106 1106 lcd_startWrite(lcd); 1107 //1 ãã¤ãã³ã¼ãåè§æå1107 //1バイトコード半角文字 1108 1108 if (use_chars == 1) { 1109 1109 lcd_drawFont_(lcd, x, y, bitmap_data, FONT_HALF_WIDTH, FONT_HEIGHT, color, bg); 1110 1110 } 1111 //3 ãã¤ãã³ã¼ãåè§æå1111 //3バイトコード半角文字 1112 1112 else if ((use_chars == 3) && 1113 1113 (((0xEFBDA1 <= for_3B_hankaku_code) && (for_3B_hankaku_code <= 0xEFBDBF)) || 1114 1114 ((0xEFBE80 <= for_3B_hankaku_code) && (for_3B_hankaku_code <= 0xEFBE9F)))) { 1115 //3 ãã¤ãã³ã¼ãåè§æå1115 //3バイトコード半角文字 1116 1116 lcd_drawFont_(lcd, x, y, bitmap_data, FONT_HALF_WIDTH, FONT_HEIGHT, color, bg); 1117 1117 } 1118 //å 1119 ¨è§æå 1118 //全角文字 1120 1119 else { 1121 1120 lcd_drawFont_(lcd, x, y, bitmap_data, FONT_WIDTH, FONT_HEIGHT, color, bg); … … 1266 1265 return; 1267 1266 1268 //3 ãã¤ãã³ã¼ãåè§æåç¨1267 //3バイトコード半角文字用 1269 1268 if (use_chars == 3) { 1270 1269 for_3B_hankaku_code = 0; … … 1276 1275 current_top += use_chars; 1277 1276 1278 //1 ãã¤ãã³ã¼ãåè§æå1277 //1バイトコード半角文字 1279 1278 if (use_chars == 1) { 1280 1279 if (ctrl_code == 0x0D) { // CR … … 1296 1295 } 1297 1296 1298 //3 ãã¤ãã³ã¼ãåè§æå1297 //3バイトコード半角文字 1299 1298 if (use_chars == 3) { 1300 1299 if (((0xEFBDA1 <= for_3B_hankaku_code) && (for_3B_hankaku_code <= 0xEFBDBF)) || 1301 1300 ((0xEFBE80 <= for_3B_hankaku_code) && (for_3B_hankaku_code <= 0xEFBE9F))) { 1302 //3 ãã¤ãã³ã¼ãåè§æå1301 //3バイトコード半角文字 1303 1302 if (local_x + FONT_HALF_WIDTH > lcd->_width) { 1304 1303 local_x = X_LINE_HALF_TO_PIX(this, 0); … … 1311 1310 } 1312 1311 1313 //å 1314 ¨è§æå 1312 //全角文字 1315 1313 if (local_x + FONT_WIDTH > lcd->_width) { 1316 1314 local_x = X_LINE_TO_PIX(this, 0); -
azure_iot_hub/trunk/ntshell/lcd/adafruit_gfx.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/lcd/draw_font.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2018 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 責ãããã¨ï¼ 42 * 43 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 44 ã 45 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 46 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 47 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 48 * ã®è²¬ä»»ãè² ããªãï¼ 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 * 免責すること. 28 * 29 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 30 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 31 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 32 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 33 * の責任を負わない. 49 34 * 50 35 * @(#) $Id$ … … 85 70 if (len == 2) { 86 71 code = string[0]; 87 // 1 ãã¤ãç®ãµã¼ã72 // 1バイト目サーチ 88 73 for (i = 0; i < UTF8_CODE_2B_1_NUM; i++) { 89 74 if (Utf8CodeTable_2B_1st[i][0] == code) { … … 107 92 if (len == 3) { 108 93 code = string[0]; 109 // 1 ãã¤ãç®ãµã¼ã94 // 1バイト目サーチ 110 95 for (i = 0; i < UTF8_CODE_3B_1_NUM; i++) { 111 96 if (Utf8CodeTable_3B_1st[i][0] == code) { 112 97 code = string[1]; 113 // 2 ãã¤ãç®ãµã¼ã98 // 2バイト目サーチ 114 99 for (j = 0; j < Utf8CodeTable_3B_1st[i][1]; j++) { 115 100 if (Utf8CodeTable_3B_2nd[totalj][0] == code) { 116 101 code = string[2]; 117 // 3 ãã¤ãç®ãµã¼ã102 // 3バイト目サーチ 118 103 for (k = 0; k < Utf8CodeTable_3B_2nd[totalj][1]; k++) { 119 104 if (UTF8_3B_CODE_BITMAP[totalk].code == code) { … … 126 111 return; 127 112 } 128 else {/* èªã¿é£ã°ãbitmapåæ°ãèç©*/113 else {/*読み飛ばすbitmap個数を蓄積*/ 129 114 totalk += Utf8CodeTable_3B_2nd[totalj][1]; 130 115 } … … 132 117 } 133 118 } 134 else {/* èªã¿é£ã°ãbitmapåæ°ãèç©*/119 else {/*読み飛ばすbitmap個数を蓄積*/ 135 120 for (j = 0; j < Utf8CodeTable_3B_1st[i][1]; j++) { 136 121 totalk += Utf8CodeTable_3B_2nd[totalj][1]; … … 207 192 return; 208 193 209 //3 ãã¤ãã³ã¼ãåè§æåç¨194 //3バイトコード半角文字用 210 195 if (use_chars == 3) { 211 196 for_3B_hankaku_code = 0; … … 217 202 current_top += use_chars; 218 203 219 //1 ãã¤ãã³ã¼ãåè§æå204 //1バイトコード半角文字 220 205 if (use_chars == 1) { 221 206 if (ctrl_code == 0x0D) { // CR … … 237 222 } 238 223 239 //3 ãã¤ãã³ã¼ãåè§æå224 //3バイトコード半角文字 240 225 if (use_chars == 3) { 241 226 if (((0xEFBDA1 <= for_3B_hankaku_code) && (for_3B_hankaku_code <= 0xEFBDBF)) || 242 227 ((0xEFBE80 <= for_3B_hankaku_code) && (for_3B_hankaku_code <= 0xEFBE9F))) { 243 //3 ãã¤ãã³ã¼ãåè§æå228 //3バイトコード半角文字 244 229 if (local_x + FONT_HALF_WIDTH > hlcd->_width) { 245 230 local_x = X_LINE_HALF_TO_PIX(hlcd, 0); … … 252 237 } 253 238 254 //å 255 ¨è§æå 239 //全角文字 256 240 if (local_x + FONT_WIDTH > hlcd->_width) { 257 241 local_x = X_LINE_TO_PIX(hlcd, 0); -
azure_iot_hub/trunk/ntshell/lcd/draw_font.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2018 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$ -
azure_iot_hub/trunk/ntshell/lcd/misaki_font.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2018 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 * ç¾å²ãã©ã³ã39 * 美咲フォント 55 40 * http://www.geocities.jp/littlimi/misaki.htm 56 41 * Licence … … 60 45 #include "misaki_font.h" 61 46 62 // 1 ãã¤ãã³ã¼ã47 // 1バイトコード 63 48 const uint8_t UTF8_1B_CODE_BITMAP[UTF8_1B_CODE_BITMAP_NUM][FONT_HALF_WIDTH * FONT_HEIGHT / 8] = { 64 49 {0x00, 0x00, 0x00, 0x00}, … … 192 177 }; 193 178 194 // 2 ãã¤ãã³ã¼ãã1ãã¤ãç®179 // 2バイトコード 1バイト目 195 180 const uint8_t Utf8CodeTable_2B_1st[UTF8_CODE_2B_1_NUM][2] = { 196 181 {0xC2, 0x06}, … … 201 186 {0xD1, 0x11} 202 187 }; 203 // 2 ãã¤ãã³ã¼ã 2ãã¤ãç® bitmapãã¼ã¿188 // 2バイトコード 2バイト目 bitmapデータ 204 189 const struct utf8_code_bitmap UTF8_2B_CODE_BITMAP[UTF8_2B_CODE_BITMAP_NUM] = { 205 190 {0xA7, {0x1C, 0x20, 0x18, 0x24, 0x18, 0x04, 0x38, 0x00}}, … … 327 312 }; 328 313 329 // 3 ãã¤ãã³ã¼ã 1ãã¤ãç®314 // 3バイトコード 1バイト目 330 315 const uint8_t Utf8CodeTable_3B_1st[UTF8_CODE_3B_1_NUM][2] = { 331 316 {0xE2, 0x0E}, … … 337 322 {0xE8, 0x3F}, 338 323 {0xE9, 0x3C}, 339 {0xEF, (0x03+1)} /* åè§è¿½å2/2*/324 {0xEF, (0x03+1)} /*半角追加2/2*/ 340 325 }; 341 // 3 ãã¤ãã³ã¼ã 2ãã¤ãç®326 // 3バイトコード 2バイト目 342 327 const uint8_t Utf8CodeTable_3B_2nd[UTF8_CODE_3B_2_NUM][2] = { 343 328 {0x80, 0x0F}, … … 681 666 {0xBD, 0x12}, 682 667 {0xBE, 0x05}, 683 {0xBC, 0x3C}, /*" ï¼¼"追å*/684 {0xBD, 0x3D/*(0x1E+31)*/}, /* åè§è¿½å1/2*/685 {0xBE, 0x20}, /* åè§è¿½å2/2*/686 {0xBF, 0x05} /*" ï¿¢","ï¿ ","ï¿¡"追å*/668 {0xBC, 0x3C}, /*"\"追加*/ 669 {0xBD, 0x3D/*(0x1E+31)*/}, /*半角追加1/2*/ 670 {0xBE, 0x20}, /*半角追加2/2*/ 671 {0xBF, 0x05} /*"¬","¢","£"追加*/ 687 672 }; 688 673 689 // 3 ãã¤ãã³ã¼ã 3ãã¤ãç® bitmapãã¼ã¿674 // 3バイトコード 3バイト目 bitmapデータ 690 675 const struct utf8_code_bitmap UTF8_3B_CODE_BITMAP[UTF8_3B_CODE_BITMAP_NUM] = { 691 676 { 0x90 ,{0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00}}, … … 7407 7392 { 0xBA ,{0x7E, 0x02, 0x04, 0x08, 0x10, 0x20, 0x7E, 0x00}}, 7408 7393 { 0xBB ,{0x0E, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0E, 0x00}}, 7409 { 0xBC ,{0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00}},/*" ï¼¼"*/7394 { 0xBC ,{0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00}},/*"\"*/ 7410 7395 { 0xBD ,{0xE0, 0x20, 0x20, 0x20, 0x20, 0x20, 0xE0, 0x00}}, 7411 7396 { 0xBE ,{0x10, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, … … 7442 7427 { 0x9D ,{0xC0, 0x20, 0x20, 0x10, 0x20, 0x20, 0xC0, 0x00}}, 7443 7428 7444 { 0xA1 ,{0x00, 0x00, 0x00, 0x40, 0xA0, 0x40, 0x00, 0x00}}, /* åè§ã«ã¿ã«ã追å1/2*/7429 { 0xA1 ,{0x00, 0x00, 0x00, 0x40, 0xA0, 0x40, 0x00, 0x00}}, /*半角カタカナ追加1/2*/ 7445 7430 { 0xA2 ,{0xE0, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00}}, 7446 7431 { 0xA3 ,{0x00, 0x20, 0x20, 0x20, 0x20, 0xE0, 0x00, 0x00}}, … … 7473 7458 { 0xBE ,{0x80, 0xE0, 0xA0, 0xA0, 0x80, 0xE0, 0x00, 0x00}}, 7474 7459 { 0xBF ,{0xA0, 0x60, 0x60, 0x20, 0x40, 0x80, 0x00, 0x00}}, 7475 { 0x80 ,{0x40, 0x60, 0xA0, 0x60, 0x40, 0x80, 0x00, 0x00}}, /* åè§ã«ã¿ã«ã追å2/2*/7460 { 0x80 ,{0x40, 0x60, 0xA0, 0x60, 0x40, 0x80, 0x00, 0x00}}, /*半角カタカナ追加2/2*/ 7476 7461 { 0x81 ,{0xE0, 0x40, 0xE0, 0x40, 0x40, 0x80, 0x00, 0x00}}, 7477 7462 { 0x82 ,{0x00, 0xE0, 0xE0, 0x20, 0x20, 0xC0, 0x00, 0x00}}, … … 7506 7491 { 0x9F ,{0x40, 0xA0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00}}, 7507 7492 7508 { 0xA0 ,{0x04, 0x3C, 0x4A, 0x48, 0x52, 0x3C, 0x20, 0x00}},/*" ï¿"*/7509 { 0xA1 ,{0x18, 0x24, 0x70, 0x20, 0x60, 0x92, 0x6C, 0x00}},/*" ï¿¡"*/7510 { 0xA2 ,{0x00, 0x00, 0x00, 0xFE, 0x02, 0x02, 0x00, 0x00}},/*" ï¿¢"*/7493 { 0xA0 ,{0x04, 0x3C, 0x4A, 0x48, 0x52, 0x3C, 0x20, 0x00}},/*"¢"*/ 7494 { 0xA1 ,{0x18, 0x24, 0x70, 0x20, 0x60, 0x92, 0x6C, 0x00}},/*"£"*/ 7495 { 0xA2 ,{0x00, 0x00, 0x00, 0xFE, 0x02, 0x02, 0x00, 0x00}},/*"¬"*/ 7511 7496 { 0xA3 ,{0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, 7512 7497 { 0xA5 ,{0x44, 0x44, 0x28, 0x7C, 0x10, 0x7C, 0x10, 0x00}} -
azure_iot_hub/trunk/ntshell/lcd/misaki_font.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2018 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$ … … 67 52 #define UTF8_CODE_2B_1_NUM 6 68 53 #define UTF8_CODE_3B_1_NUM 9 69 #define UTF8_CODE_3B_2_NUM (343+1) /* åè§è¿½å2/2*/54 #define UTF8_CODE_3B_2_NUM (343+1) /*半角追加2/2*/ 70 55 71 56 #define UTF8_1B_CODE_BITMAP_NUM 128 72 #define UTF8_2B_CODE_BITMAP_NUM 122 /*" ï¿¢","ï¼¼","ï¿ ""ï¿¡"移å)*/73 #define UTF8_3B_CODE_BITMAP_NUM (6757+31+32) /* åè§è¿½å 1/2*/ /*åè§è¿½å 2/2*/ /*"ï¿¢","ï¼¼","ï¿ ""ï¿¡"追å)*/57 #define UTF8_2B_CODE_BITMAP_NUM 122 /*"¬","\","¢""£"移動)*/ 58 #define UTF8_3B_CODE_BITMAP_NUM (6757+31+32) /*半角追加1/2*/ /*半角追加2/2*/ /*"¬","\","¢""£"追加)*/ 74 59 75 // 1 ãã¤ãã³ã¼ã60 // 1バイトコード 76 61 extern const uint8_t UTF8_1B_CODE_BITMAP[UTF8_1B_CODE_BITMAP_NUM][FONT_HALF_WIDTH * FONT_HEIGHT / 8]; 77 62 78 // 2 ãã¤ãã³ã¼ãã1ãã¤ãç®63 // 2バイトコード 1バイト目 79 64 extern const uint8_t Utf8CodeTable_2B_1st[UTF8_CODE_2B_1_NUM][2]; 80 // 2 ãã¤ãã³ã¼ã 2ãã¤ãç® bitmapãã¼ã¿65 // 2バイトコード 2バイト目 bitmapデータ 81 66 extern const struct utf8_code_bitmap UTF8_2B_CODE_BITMAP[UTF8_2B_CODE_BITMAP_NUM]; 82 67 83 // 3 ãã¤ãã³ã¼ã 1ãã¤ãç®68 // 3バイトコード 1バイト目 84 69 extern const uint8_t Utf8CodeTable_3B_1st[UTF8_CODE_3B_1_NUM][2]; 85 // 3 ãã¤ãã³ã¼ã 2ãã¤ãç®70 // 3バイトコード 2バイト目 86 71 extern const uint8_t Utf8CodeTable_3B_2nd[UTF8_CODE_3B_2_NUM][2]; 87 72 88 // 3 ãã¤ãã³ã¼ã 3ãã¤ãç® bitmapãã¼ã¿73 // 3バイトコード 3バイト目 bitmapデータ 89 74 extern const struct utf8_code_bitmap UTF8_3B_CODE_BITMAP[UTF8_3B_CODE_BITMAP_NUM]; 90 75 -
azure_iot_hub/trunk/ntshell/lcd/shnm12_font.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2018 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 * æ±é²ãã©ã³ã39 * 東雲フォント 55 40 * http://openlab.ring.gr.jp/efont/shinonome/ 56 41 * Licence … … 61 46 #include "shnm12_font.h" 62 47 63 // 1 ãã¤ãã³ã¼ã48 // 1バイトコード 64 49 const uint8_t UTF8_1B_CODE_BITMAP[UTF8_1B_CODE_BITMAP_NUM][FONT_HALF_WIDTH * FONT_HEIGHT / 8] = { 65 50 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, … … 320 305 {0x01, 0x40, 0x22, 0x89, 0x25, 0x14, 0x20, 0x84, 0x20}, 321 306 }; 322 // 2 ãã¤ãã³ã¼ãã1ãã¤ãç®307 // 2バイトコード 1バイト目 323 308 const uint8_t Utf8CodeTable_2B_1st[UTF8_CODE_2B_1_NUM][2] = { 324 309 {0xC2, 0x06}, … … 329 314 {0xD1, 0x11}, 330 315 }; 331 // 2 ãã¤ãã³ã¼ã 2ãã¤ãç® bitmapãã¼ã¿316 // 2バイトコード 2バイト目 bitmapデータ 332 317 const struct utf8_code_bitmap UTF8_2B_CODE_BITMAP[UTF8_2B_CODE_BITMAP_NUM] = { 333 318 {0xA7, {0x0E, 0x01, 0x10, 0x18, 0x00, 0xC0, 0x0E, 0x01, 0x30, 0x19, 0x00, 0xE0, 0x06, 0x00, 0x30, 0x11, 0x00, 0xE0}}, … … 455 440 }; 456 441 457 // 3 ãã¤ãã³ã¼ã 1ãã¤ãç®442 // 3バイトコード 1バイト目 458 443 const uint8_t Utf8CodeTable_3B_1st[UTF8_CODE_3B_1_NUM][2] = { 459 444 {0xE2, 0x0E}, … … 467 452 {0xEF, 0x03}, 468 453 }; 469 // 3 ãã¤ãã³ã¼ã 2ãã¤ãç®454 // 3バイトコード 2バイト目 470 455 const uint8_t Utf8CodeTable_3B_2nd[UTF8_CODE_3B_2_NUM][2] = { 471 456 {0x80, 0x0E}, … … 813 798 {0xBF, 0x05}, 814 799 }; 815 // 3 ãã¤ãã³ã¼ã 3ãã¤ãç® bitmapãã¼ã¿800 // 3バイトコード 3バイト目 bitmapデータ 816 801 const struct utf8_code_bitmap UTF8_3B_CODE_BITMAP[UTF8_3B_CODE_BITMAP_NUM] = { 817 802 {0x90, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, -
azure_iot_hub/trunk/ntshell/lcd/shnm12_font.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2018 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$ … … 67 52 #define UTF8_CODE_2B_1_NUM 6 68 53 #define UTF8_CODE_3B_1_NUM 9 69 #define UTF8_CODE_3B_2_NUM 343 /* åè§è¿½å2/2*/54 #define UTF8_CODE_3B_2_NUM 343 /*半角追加2/2*/ 70 55 71 56 #define UTF8_1B_CODE_BITMAP_NUM 256 72 #define UTF8_2B_CODE_BITMAP_NUM 122 /*" ï¿¢","ï¼¼","ï¿ ""ï¿¡"移å)*/73 #define UTF8_3B_CODE_BITMAP_NUM 6757 /* åè§è¿½å 1/2*/ /*åè§è¿½å 2/2*/ /*"ï¿¢","ï¼¼","ï¿ ""ï¿¡"追å)*/57 #define UTF8_2B_CODE_BITMAP_NUM 122 /*"¬","\","¢""£"移動)*/ 58 #define UTF8_3B_CODE_BITMAP_NUM 6757 /*半角追加1/2*/ /*半角追加2/2*/ /*"¬","\","¢""£"追加)*/ 74 59 75 // 1 ãã¤ãã³ã¼ã60 // 1バイトコード 76 61 extern const uint8_t UTF8_1B_CODE_BITMAP[UTF8_1B_CODE_BITMAP_NUM][FONT_HALF_WIDTH * FONT_HEIGHT / 8]; 77 62 78 // 2 ãã¤ãã³ã¼ãã1ãã¤ãç®63 // 2バイトコード 1バイト目 79 64 extern const uint8_t Utf8CodeTable_2B_1st[UTF8_CODE_2B_1_NUM][2]; 80 // 2 ãã¤ãã³ã¼ã 2ãã¤ãç® bitmapãã¼ã¿65 // 2バイトコード 2バイト目 bitmapデータ 81 66 extern const struct utf8_code_bitmap UTF8_2B_CODE_BITMAP[UTF8_2B_CODE_BITMAP_NUM]; 82 67 83 // 3 ãã¤ãã³ã¼ã 1ãã¤ãç®68 // 3バイトコード 1バイト目 84 69 extern const uint8_t Utf8CodeTable_3B_1st[UTF8_CODE_3B_1_NUM][2]; 85 // 3 ãã¤ãã³ã¼ã 2ãã¤ãç®70 // 3バイトコード 2バイト目 86 71 extern const uint8_t Utf8CodeTable_3B_2nd[UTF8_CODE_3B_2_NUM][2]; 87 72 88 // 3 ãã¤ãã³ã¼ã 3ãã¤ãç® bitmapãã¼ã¿73 // 3バイトコード 3バイト目 bitmapデータ 89 74 extern const struct utf8_code_bitmap UTF8_3B_CODE_BITMAP[UTF8_3B_CODE_BITMAP_NUM]; 90 75 -
azure_iot_hub/trunk/ntshell/lcd/shnm16_font.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2018 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 * æ±é²ãã©ã³ã39 * 東雲フォント 55 40 * http://openlab.ring.gr.jp/efont/shinonome/ 56 41 * Licence … … 61 46 #include "shnm16_font.h" 62 47 63 // 1 ãã¤ãã³ã¼ã48 // 1バイトコード 64 49 const uint8_t UTF8_1B_CODE_BITMAP[UTF8_1B_CODE_BITMAP_NUM][FONT_HALF_WIDTH * FONT_HEIGHT / 8] = { 65 50 {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, … … 320 305 {0x00, 0x24, 0x24, 0x00, 0x00, 0x42, 0x42, 0x22, 0x24, 0x14, 0x08, 0x08, 0x10, 0x10, 0x20, 0x40}, 321 306 }; 322 // 2 ãã¤ãã³ã¼ãã1ãã¤ãç®307 // 2バイトコード 1バイト目 323 308 const uint8_t Utf8CodeTable_2B_1st[UTF8_CODE_2B_1_NUM][2] = { 324 309 {0xC2, 0x06}, … … 329 314 {0xD1, 0x11}, 330 315 }; 331 // 2 ãã¤ãã³ã¼ã 2ãã¤ãç® bitmapãã¼ã¿316 // 2バイトコード 2バイト目 bitmapデータ 332 317 const struct utf8_code_bitmap UTF8_2B_CODE_BITMAP[UTF8_2B_CODE_BITMAP_NUM] = { 333 318 {0xA7, {0x01, 0x80, 0x02, 0x40, 0x04, 0x20, 0x06, 0x20, 0x03, 0x00, 0x03, 0x80, 0x04, 0xC0, 0x04, 0x60, 0x06, 0x20, 0x03, 0x20, 0x01, 0xC0, 0x00, 0xC0, 0x04, 0x60, 0x04, 0x20, 0x02, 0x40, 0x01, 0x80}}, … … 455 440 }; 456 441 457 // 3 ãã¤ãã³ã¼ã 1ãã¤ãç®442 // 3バイトコード 1バイト目 458 443 const uint8_t Utf8CodeTable_3B_1st[UTF8_CODE_3B_1_NUM][2] = { 459 444 {0xE2, 0x0E}, … … 467 452 {0xEF, 0x03}, 468 453 }; 469 // 3 ãã¤ãã³ã¼ã 2ãã¤ãç®454 // 3バイトコード 2バイト目 470 455 const uint8_t Utf8CodeTable_3B_2nd[UTF8_CODE_3B_2_NUM][2] = { 471 456 {0x80, 0x0E}, … … 813 798 {0xBF, 0x05}, 814 799 }; 815 // 3 ãã¤ãã³ã¼ã 3ãã¤ãç® bitmapãã¼ã¿800 // 3バイトコード 3バイト目 bitmapデータ 816 801 const struct utf8_code_bitmap UTF8_3B_CODE_BITMAP[UTF8_3B_CODE_BITMAP_NUM] = { 817 802 {0x90, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, -
azure_iot_hub/trunk/ntshell/lcd/shnm16_font.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2018 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$ … … 67 52 #define UTF8_CODE_2B_1_NUM 6 68 53 #define UTF8_CODE_3B_1_NUM 9 69 #define UTF8_CODE_3B_2_NUM 343 /* åè§è¿½å2/2*/54 #define UTF8_CODE_3B_2_NUM 343 /*半角追加2/2*/ 70 55 71 56 #define UTF8_1B_CODE_BITMAP_NUM 256 72 #define UTF8_2B_CODE_BITMAP_NUM 122 /*" ï¿¢","ï¼¼","ï¿ ""ï¿¡"移å)*/73 #define UTF8_3B_CODE_BITMAP_NUM 6757 /* åè§è¿½å 1/2*/ /*åè§è¿½å 2/2*/ /*"ï¿¢","ï¼¼","ï¿ ""ï¿¡"追å)*/57 #define UTF8_2B_CODE_BITMAP_NUM 122 /*"¬","\","¢""£"移動)*/ 58 #define UTF8_3B_CODE_BITMAP_NUM 6757 /*半角追加1/2*/ /*半角追加2/2*/ /*"¬","\","¢""£"追加)*/ 74 59 75 // 1 ãã¤ãã³ã¼ã60 // 1バイトコード 76 61 extern const uint8_t UTF8_1B_CODE_BITMAP[UTF8_1B_CODE_BITMAP_NUM][FONT_HALF_WIDTH * FONT_HEIGHT / 8]; 77 62 78 // 2 ãã¤ãã³ã¼ãã1ãã¤ãç®63 // 2バイトコード 1バイト目 79 64 extern const uint8_t Utf8CodeTable_2B_1st[UTF8_CODE_2B_1_NUM][2]; 80 // 2 ãã¤ãã³ã¼ã 2ãã¤ãç® bitmapãã¼ã¿65 // 2バイトコード 2バイト目 bitmapデータ 81 66 extern const struct utf8_code_bitmap UTF8_2B_CODE_BITMAP[UTF8_2B_CODE_BITMAP_NUM]; 82 67 83 // 3 ãã¤ãã³ã¼ã 1ãã¤ãç®68 // 3バイトコード 1バイト目 84 69 extern const uint8_t Utf8CodeTable_3B_1st[UTF8_CODE_3B_1_NUM][2]; 85 // 3 ãã¤ãã³ã¼ã 2ãã¤ãç®70 // 3バイトコード 2バイト目 86 71 extern const uint8_t Utf8CodeTable_3B_2nd[UTF8_CODE_3B_2_NUM][2]; 87 72 88 // 3 ãã¤ãã³ã¼ã 3ãã¤ãç® bitmapãã¼ã¿73 // 3バイトコード 3バイト目 bitmapデータ 89 74 extern const struct utf8_code_bitmap UTF8_3B_CODE_BITMAP[UTF8_3B_CODE_BITMAP_NUM]; 90 75 -
azure_iot_hub/trunk/ntshell/ntshell/core/ntconf.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/ntshell/core/ntint.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/ntshell/core/ntlibc.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/ntshell/core/ntlibc.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/ntshell/core/ntshell.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/ntshell/core/ntshell.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/ntshell/core/text_editor.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/ntshell/core/text_editor.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/ntshell/core/text_history.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/ntshell/core/text_history.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/ntshell/core/vtrecv.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 2666 2666 #if (USE_ORIGINAL_LUT==1) 2667 2667 /* 2668 * ãã¼ãã«åç 2669 §ã«ããå®ç¾ã 2670 * åºå®æéã§åä½ããããã³ã¼ããµã¤ãºã¯æ¯è¼ç大ããã 2668 * テーブル参照による実現。 2669 * 固定時間で動作するが、コードサイズは比較的大きい。 2671 2670 */ 2672 2671 return STATE_TABLE[state - 1][ch]; 2673 2672 #else 2674 2673 /* 2675 * ããã°ã©ã ã«ããç·å½¢æ¢ç´¢ãã¼ã¸ã§ã³ã 2676 * ãã¼ãã«ã®å¾æ¹ã«ãããã¼ã¿ã«ãªãã»ã©åä½ã¯é 2677 ãã 2678 * ã³ã¼ããµã¤ãºã¯ãã¼ãã«åç 2679 §ãããå°ããã 2674 * プログラムによる線形探索バージョン。 2675 * テーブルの後方にあるデータになるほど動作は遅い。 2676 * コードサイズはテーブル参照よりも小さい。 2680 2677 */ 2681 2678 const int N = sizeof(table) / sizeof(table[0]); -
azure_iot_hub/trunk/ntshell/ntshell/core/vtrecv.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r388 r389 44 44 45 45 /** 46 * @brief ãªãªã¸ãã«ã«å«ã¾ããLUTã使ããã©ããã決å®ããã46 * @brief オリジナルに含まれるLUTを使うかどうかを決定する。 47 47 * @details 48 * ãªãªã¸ãã«ã§ã¯ãã·ã¼ã±ã³ã¹ã®é·ç§»ããã¼ãã«åç 49 §ã§å®è£ 50 ãã¦ãã£ãã 51 * 15ã®ã¹ãã¼ãã§åããã256ãã¿ã¼ã³ã®å 52 ¥åãå 53 ¨ç¶²ç¾ 54 ãããã¼ãã«ã§ããã 55 * ããã¯3840åã®ãã¼ãã«ãã¼ã¿ãæã¤ãã¨ã«ãªãã 48 * オリジナルでは、シーケンスの遷移をテーブル参照で実装してあった。 49 * 15のステートで取りうる256パターンの入力を全網羅するテーブルである。 50 * これは3840個のテーブルデータを持つことになる。 56 51 * 57 * ãã¼ãã«åç 58 §ã¯ã¡ã¢ãªã«å¯¾ãã¦ãªãã¢ã¢ã¯ã»ã¹å¯è½ãªããã»ããµã«ãã㦠59 * åºå®æéã§åä½ããããã¼ãã«åç 60 §ã®ã¡ãªããã¯åºå®æéã§ã®å¦çã§ããã 52 * テーブル参照はメモリに対してリニアアクセス可能なプロセッサにおいて 53 * 固定時間で動作する。テーブル参照のメリットは固定時間での処理である。 61 54 * 62 * ä¸æ¹ãæ°ãã«å®è£ 63 ããæ¹æ³ã¯ãéè¤ãããã¼ã¿ãå¤æ°åå¨ããäºã«çç®ãã 64 * ãã®ã§ãåºéæ¯ã«é©ç¨ããã·ã¼ã±ã³ã¹ãå®ç¾©ãããã¼ãã«ãç¨ããã 65 * ããã¯ãã¼ãã«ãç·å½¢æ¢ç´¢ããããå¾æ¹ã«ãããã¼ã¿ã«ãªãã»ã©åä½ã¯é 66 ãã 67 * ããããã³ã¼ããµã¤ãºã¯ãªãªã¸ãã«ã®å 68 ¨ç¶²ç¾ 69 å½¢å¼ã®ãã¼ãã«ãããå°ããã 55 * 一方、新たに実装した方法は、重複するデータが多数存在する事に着目した 56 * もので、区間毎に適用するシーケンスを定義したテーブルを用いる。 57 * これはテーブルを線形探索するため後方にあるデータになるほど動作は遅い。 58 * しかし、コードサイズはオリジナルの全網羅形式のテーブルよりも小さい。 70 59 * 71 * @retval 0 使ããªãã72 * @retval 1 使ãã60 * @retval 0 使わない。 61 * @retval 1 使う。 73 62 */ 74 63 #define USE_ORIGINAL_LUT (0) -
azure_iot_hub/trunk/ntshell/ntshell/core/vtsend.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/ntshell/core/vtsend.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/ntshell/usrcmd.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 133 133 #define LS_ALL 0x01 134 134 #define LS_LONG 0x02 135 /* ls ã³ãã³ã 1è¡è¡¨ç¤º*/135 /* lsコマンド 1行表示 */ 136 136 void print_one_list(FILINFO *fno, BYTE list_option) 137 137 { … … 179 179 180 180 #define LFN_BUF_SIZE (FF_MAX_LFN + 1) 181 /* lsã³ãã³ã dirå 182 表示 */ 181 /* lsコマンド dir内 表示 */ 183 182 void print_ls(char *path_p, char *pattern_p, BYTE list_option) 184 183 { … … 220 219 221 220 while ((res == FR_OK) && (fno.fname[0] != 0)) { 222 if (pattern_p != NULL && (fno.fattrib & AM_DIR) && ((fno.fname[0] == '.') ? (pattern_p[0] == '.') : 1)) {/* FATFS_DIR ã¨ãã¿ã¼ã³ããããã¦ããå ´å㯠FATFS_DIR å 223 é¨ã ls ãã */ 221 if (pattern_p != NULL && (fno.fattrib & AM_DIR) && ((fno.fname[0] == '.') ? (pattern_p[0] == '.') : 1)) {/* FATFS_DIR とパターンマッチしている場合は FATFS_DIR 内部を ls する */ 224 222 #if FF_USE_LFN 225 223 fn = *fno.lfname ? fno.lfname : fno.fname; … … 318 316 return 0; 319 317 320 /* å¼æ°ãã§ãã¯*/318 /* 引数チェック */ 321 319 for (i = 1; i < argc; i++) { 322 320 if (argv[i][0] == '-') … … 364 362 } 365 363 if (fno.fattrib & AM_DIR) { /* src is dir */ 366 /*******************************************************/ /* from dir */ /* æªå®è£ 367 */ 364 /*******************************************************/ /* from dir */ /* 未実装 */ 368 365 } 369 366 else { /* src is file */ … … 697 694 } 698 695 699 /* æ¹è¡ã³ã¼ãã®åé¤*/696 /* 改行コードの削除 */ 700 697 ret = ntlibc_strlen(buf); 701 698 buf[ret - 1] = '\0'; -
azure_iot_hub/trunk/ntshell/ntshell/usrcmd.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/ntshell/util/ntopt.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/ntshell/util/ntopt.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/ntshell/util/ntstdio.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/ntshell/util/ntstdio.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
-
azure_iot_hub/trunk/ntshell/src/echonet_app_config.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 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$ … … 54 39 #define _ECHONET_APP_CONFIG_H_ 55 40 56 #define ECHONET_TASK_STACK_SIZE 1024 /* ECNL UDP ã¿ã¹ã¯ç¨ã¹ã¿ãã¯é åã®ãµã¤ãº*/41 #define ECHONET_TASK_STACK_SIZE 1024 /* ECNL UDPタスク用スタック領域のサイズ */ 57 42 58 #define ECHONET_API_DATAQUEUE_COUNT 5 /* ECHONET Lite API ç¨ãã¼ã¿ãã¥ã¼*/59 #define ECHONET_SVC_DATAQUEUE_COUNT 5 /* ECHONET Lite ãµã¼ãã¹å¦çã¿ã¹ã¯ç¨ãã¼ã¿ãã¥ã¼*/60 #define ECHONET_UDP_DATAQUEUE_COUNT 5 /* ECHONET Lite UDP éä¿¡å¦çç¨ãã¼ã¿ãã¥ã¼*/43 #define ECHONET_API_DATAQUEUE_COUNT 5 /* ECHONET Lite API用データキュー */ 44 #define ECHONET_SVC_DATAQUEUE_COUNT 5 /* ECHONET Lite サービス処理タスク用データキュー */ 45 #define ECHONET_UDP_DATAQUEUE_COUNT 5 /* ECHONET Lite UDP通信処理用データキュー */ 61 46 62 47 /* 63 * ãµã¼ãã¹å¦çã¿ã¹ã¯ã«è¿½å ã®å¦çãæ¿å 64 ¥ãããå ´åã«å®ç¾©ãã 48 * サービス処理タスクに追加の処理を挿入したい場合に定義する 65 49 * 66 * ã¿ã¤ã ã¢ã¦ãå¤ãè¿ã50 * タイムアウト値を返す 67 51 * TMO echonet_task_get_timer(); 68 52 * #define ECHONET_TASK_GET_TIMER echonet_task_get_timer 69 53 * 70 * ã¿ã¤ãã¼ã®æéãé²ãã54 * タイマーの時間を進める 71 55 * void echonet_task_progress(TMO interval); 72 56 * #define ECHONET_TASK_PROGRESS(interval) echonet_task_progress(interval) 73 57 * 74 * ã¿ã¤ã ã¢ã¦ãå¦çï¼ã®ããã®å¼ã³åºãï¼58 * タイムアウト処理(のための呼び出し) 75 59 * void echonet_task_timeout(); 76 60 * #define ECHONET_TASK_TIMEOUT echonet_task_timeout() … … 78 62 79 63 /* 80 * UDPéä¿¡ã¿ã¹ã¯ã«è¿½å ã®å¦çãæ¿å 81 ¥ãããå ´åã«å®ç¾©ãã 64 * UDP通信タスクに追加の処理を挿入したい場合に定義する 82 65 * 83 * ã¿ã¤ã ã¢ã¦ãå¤ãè¿ã66 * タイムアウト値を返す 84 67 * TMO echonet_udp_task_get_timer(); 85 68 * #define ECHONET_UDP_TASK_GET_TIMER echonet_udp_task_get_timer 86 69 * 87 * ã¿ã¤ãã¼ã®æéãé²ãã70 * タイマーの時間を進める 88 71 * void echonet_udp_task_progress(TMO interval); 89 72 * #define ECHONET_UDP_TASK_PROGRESS(interval) echonet_udp_task_progress(interval) 90 73 * 91 * ã¿ã¤ã ã¢ã¦ãå¦çï¼ã®ããã®å¼ã³åºãï¼74 * タイムアウト処理(のための呼び出し) 92 75 * void echonet_udp_task_timeout(); 93 76 * #define ECHONET_UDP_TASK_TIMEOUT echonet_udp_task_timeout() 94 77 */ 95 78 96 /* ãããã°åºåæå¹åè¨å®ããã¨ãã«å®ç¾©*/79 /* デバッグ出力有効化設定するときに定義 */ 97 80 /* #define ECN_DBG_PUT_ENA */ 98 81 99 /* ãããã°åºå(CARP)æå¹åè¨å®ããã¨ãã«å®ç¾©*/82 /* デバッグ出力(CARP)有効化設定するときに定義 */ 100 83 /* #define ECN_CAP_PUT_ENA */ 101 84 102 /* syslog空ãå¾ 103 ã¡æå¹åè¨å®ããã¨ãã«å®ç¾© */ 85 /* syslog空き待ち有効化設定するときに定義 */ 104 86 /* #define ECN_DBG_WAI_ENA */ 105 87 106 /* æ¨æºã®ecn_data_prop_setã使ããªãã¨ãã«å®ç¾©*/88 /* 標準のecn_data_prop_setを使わないときに定義 */ 107 89 /* #define ECN_USER_DATA_PROP_SET */ 108 90 109 /* æ¨æºã®ecn_data_prop_getã使ããªãã¨ãã«å®ç¾©*/91 /* 標準のecn_data_prop_getを使わないときに定義 */ 110 92 /* #define ECN_USER_DATA_PROP_GET */ 111 93 -
azure_iot_hub/trunk/ntshell/src/fdtable.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2017 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$ … … 367 352 } 368 353 369 /* ã¤ãã³ãå¾ 370 ã¡ */ 354 /* イベント待ち */ 371 355 flgptn = 0; 372 356 ret = twai_flg(FLG_SELECT_WAIT, waitptn, TWF_ORW, &flgptn, tmout); … … 381 365 flgptn &= waitptn; 382 366 383 /* åãåã£ããã©ã°ã®ã¿ã¯ãªã¢*/367 /* 受け取ったフラグのみクリア */ 384 368 ret = clr_flg(FLG_SELECT_WAIT, ~flgptn); 385 369 if (ret != E_OK) { -
azure_iot_hub/trunk/ntshell/src/fdtable.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2017 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$ -
azure_iot_hub/trunk/ntshell/src/io_stub.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2017 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$ … … 161 146 break; 162 147 } 163 /* ãã¡ã¤ã«ãä½æ*/148 /* ファイルを作成 */ 164 149 if (flags & O_CREAT) { 165 /* æ¢åã®å 166 容ã¯æ¶ã */ 150 /* 既存の内容は消す */ 167 151 if (flags & O_TRUNC) { 168 152 fmd |= FA_CREATE_ALWAYS; 169 153 } 170 /* æ°è¦ä½æã®ä¿é*/154 /* 新規作成の保障 */ 171 155 else if (flags & O_EXCL) { 172 156 fmd |= FA_CREATE_NEW; … … 176 160 } 177 161 } 178 /* ããå ´åã¯éã*/162 /* ある場合は開く */ 179 163 else { 180 /* æ¢åã®å 181 容ã¯æ¶ã */ 164 /* 既存の内容は消す */ 182 165 if (flags & O_TRUNC) { 183 166 fmd |= FA_CREATE_ALWAYS; … … 404 387 } 405 388 int l = strlen(cwd); 406 // ã«ã¼ããã£ã¬ã¯ããªã®å ´å389 // ルートディレクトリの場合 407 390 if (cwd[l - 2] == ':' && cwd[l - 1] == '/') { 408 391 st->st_size = 0; -
azure_iot_hub/trunk/ntshell/src/net_misc.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2018 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$ … … 97 82 98 83 /* 99 * DHCP, NTP ã¯ã©ã¤ã¢ã³ã ã¿ã¹ã¯84 * DHCP, NTP クライアント タスク 100 85 */ 101 86 … … 112 97 syslog(LOG_NOTICE, "[NET MISC:%d,%d] started.", nc->tskid, (ID)exinf); 113 98 114 /* åæå*/99 /* 初期化 */ 115 100 ct = dhcp4_cli_initialize(nc->tskid, UDP4_DHCP_CLI_CEPID); 116 101 ntp_cli_initialize(nc, NTP_CLI_CEPID); … … 126 111 prev = time; 127 112 128 /* ã¿ã¤ãã¼åå¾*/113 /* タイマー取得 */ 129 114 timer = net_misc_get_timer(ct, nc); 130 115 131 /* å¾ 132 ã¡ */ 116 /* 待ち */ 133 117 error = tslp_tsk(timer); 134 118 if ((error != E_OK) && (error != E_TMOUT)) { … … 145 129 } 146 130 147 /* æéçµé*/131 /* 時間経過 */ 148 132 int elapse = time - prev; 149 133 dhcp4_cli_progress(ct, elapse); 150 134 ntp_cli_progress(nc, elapse); 151 135 152 /* èµ·ããããå ´å*/136 /* 起こされた場合 */ 153 137 if (error == E_OK) { 154 138 dhcp4_cli_wakeup(ct); … … 156 140 } 157 141 158 /* ã¿ã¤ã ã¢ã¦ãå¦ç*/142 /* タイムアウト処理 */ 159 143 dhcp4_cli_timeout(ct); 160 144 ntp_cli_timeout(nc); -
azure_iot_hub/trunk/ntshell/src/net_misc.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2018 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 * DHCP, NTP ã¯ã©ã¤ã¢ã³ãã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«39 * DHCP, NTP クライアントのシステムコンフィギュレーションファイル 55 40 */ 56 41 57 /* ã»ããã©*/42 /* セマフォ */ 58 43 59 44 CRE_SEM(SEM_DHCP4_CLI_LOCK, { TA_TPRI, 1, 1 }); 60 45 61 /* éåä¿¡ãããã¡*/46 /* 送受信バッファ */ 62 47 63 48 CRE_MPF(MPF_DHCP4_CLI_MSG, { … … 69 54 }); 70 55 71 /* ã¿ã¹ã¯*/56 /* タスク */ 72 57 73 58 CRE_TSK(NET_MISC_TASK, { -
azure_iot_hub/trunk/ntshell/src/net_misc.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2018 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$ … … 54 39 #define _NET_MISC_H_ 55 40 56 /* ã¹ã¿ãã¯ãµã¤ãº*/41 /* スタックサイズ */ 57 42 58 #define NET_MISC_STACK_SIZE 2048 /* NTP ã¯ã©ã¤ã¢ã³ãã¿ã¹ã¯ï¼IPv4ï¼ã®ã¹ã¿ãã¯ãµã¤ãº*/43 #define NET_MISC_STACK_SIZE 2048 /* NTP クライアントタスク(IPv4)のスタックサイズ */ 59 44 60 /* åªå 61 度 */ 45 /* 優先度 */ 62 46 63 #define NET_MISC_MAIN_PRIORITY 5 /* NTP ã¯ã©ã¤ã¢ã³ãã¿ã¹ã¯ï¼IPv4ï¼ã®åªå 64 度 */ 47 #define NET_MISC_MAIN_PRIORITY 5 /* NTP クライアントタスク(IPv4)の優先度 */ 65 48 66 /* ã¿ã¹ã¯*/49 /* タスク */ 67 50 68 51 extern void net_misc_task(intptr_t exinf); -
azure_iot_hub/trunk/ntshell/src/netcmd.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 5 5 * Tomakomai National College of Technology, JAPAN 6 6 * 7 * ä¸è¨èä½æ¨©è 8 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 9 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 10 * å¤ã»åé 11 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 12 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 13 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 14 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 15 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 16 * ç¨ã§ããå½¢ã§åé 17 å¸ããå ´åã«ã¯ï¼åé 18 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 19 * è 20 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 21 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 22 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 23 * ç¨ã§ããªãå½¢ã§åé 24 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 25 * ã¨ï¼ 26 * (a) åé 27 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 28 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 29 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 30 * (b) åé 31 å¸ã®å½¢æ 32 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 33 * å ±åãããã¨ï¼ 34 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 35 * 害ãããï¼ä¸è¨èä½æ¨©è 36 ããã³TOPPERSããã¸ã§ã¯ããå 37 責ãããã¨ï¼ 38 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 39 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 40 ããã³TOPPERSããã¸ã§ã¯ãã 41 * å 42 責ãããã¨ï¼ 7 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 8 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 9 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 11 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 12 * スコード中に含まれていること. 13 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 14 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 15 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 16 * の無保証規定を掲載すること. 17 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 18 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 19 * と. 20 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 21 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 22 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 23 * 報告すること. 24 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 25 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 26 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 27 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 28 * 免責すること. 43 29 * 44 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 45 ã 46 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 47 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 48 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 49 * ã®è²¬ä»»ãè² ããªãï¼ 30 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 31 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 32 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 33 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 34 * の責任を負わない. 50 35 * 51 36 * @(#) $Id$ … … 87 72 88 73 /* 89 * str_num -- cons_printf ã®æ°å¤å¤æ74 * str_num -- cons_printf の数値変換 90 75 */ 91 76 … … 100 85 101 86 /* 102 * str_num -- cons_printf ã®æ°å¤å¤æ87 * str_num -- cons_printf の数値変換 103 88 */ 104 89 … … 133 118 134 119 pad = ix; 135 if (!left) /* å³è©°ã*/120 if (!left) /* 右詰め */ 136 121 for ( ; pad < width; pad ++) 137 122 str_chr(text, pos, size, padchar); … … 140 125 str_chr(text, pos, size, digits[ix]); 141 126 142 if (left) /* 左詰ã*/127 if (left) /* 左詰め */ 143 128 for ( ; pad < width; pad ++) 144 129 str_chr(text, pos, size, padchar); … … 148 133 149 134 /* 150 * str_ipv4addr -- IPv4 ã¢ãã¬ã¹åºå135 * str_ipv4addr -- IPv4 アドレス出力 151 136 */ 152 137 … … 154 139 str_ipv4addr (char *text, int size, T_IN4_ADDR *addr, int width) 155 140 { 156 int len = 3, pos = 0; /* 3 㯠'.' ã®æåæ°*/141 int len = 3, pos = 0; /* 3 は '.' の文字数 */ 157 142 158 143 len += str_num(text, &pos, size, (*addr >> 24) & 0xff, 10, radhex, 0, false, ' '); … … 171 156 172 157 /* 173 * ipv6addr -- IPv6 ã¢ãã¬ã¹åºå158 * ipv6addr -- IPv6 アドレス出力 174 159 */ 175 160 … … 230 215 231 216 /* 232 * str_macaddr -- MAC ã¢ãã¬ã¹åºå217 * str_macaddr -- MAC アドレス出力 233 218 */ 234 219 … … 378 363 379 364 /* 380 * s_show_dns_domain_name -- DNS ã®ãã¡ã¤ã³åã表示ããã365 * s_show_dns_domain_name -- DNS のドメイン名を表示する。 381 366 */ 382 367 … … 406 391 407 392 /* 408 * show_dns_soa -- DNS ã® SOA RDATA ã表示ããã393 * show_dns_soa -- DNS の SOA RDATA を表示する。 409 394 */ 410 395 … … 436 421 437 422 /* 438 * show_dns_qdsection -- DNS ã® Question ã»ã¯ã·ã§ã³ã表示ããã423 * show_dns_qdsection -- DNS の Question セクションを表示する。 439 424 */ 440 425 … … 462 447 463 448 /* 464 * show_dns_section -- DNS ã®åã»ã¯ã·ã§ã³ã表示ããã449 * show_dns_section -- DNS の各セクションを表示する。 465 450 */ 466 451 … … 536 521 } 537 522 /* 538 * dns_info -- DNS æ 539 å ±ã®è¡¨ç¤º 523 * dns_info -- DNS 情報の表示 540 524 */ 541 525 … … 587 571 588 572 /* 589 * name_lookup -- ãã¹ãåï¼IP ã¢ãã¬ã¹å¤æ573 * name_lookup -- ホスト名-IP アドレス変換 590 574 */ 591 575 … … 615 599 } 616 600 617 /* ã³ãã³ãã®ãªãã·ã§ã³ãè¨å®ããã*/601 /* コマンドのオプションを設定する。*/ 618 602 line = skip_blanks(resolv_options(&flags, line, DEFAULT_API_PROTO)); 619 603 if ((flags & (DNS_LUP_FLAGS_PROTO_IPV6 | DNS_LUP_FLAGS_PROTO_IPV4)) == 0) { … … 622 606 } 623 607 624 /* ç 625 §ä¼ãããã¹ãåã»IP ã¢ãã¬ã¹ã解æããã*/ 608 /* 照会するホスト名・IP アドレスを解析する。*/ 626 609 resolv_hoststr(&flags, hostname, sizeof(hostname), line); 627 610 628 /* æ£å¼ãã§ãéå¼ãã§ããããã³ã«ä¸ã¯æ£å¼ããæå®ããã*/611 /* 正引きでも逆引きでもプロトコル上は正引きを指定する。*/ 629 612 flags |= DNS_LUP_OPCODE_FORWARD; 630 613 631 /* IPv6 ã¢ãã¬ã¹ãã¾ã㯠IPv4 ã¢ãã¬ã¹ãæå®ãããæã¯ãç 632 §ä¼ã¿ã¤ã㯠PTR ã«è¨å®ããã*/ 614 /* IPv6 アドレス、または IPv4 アドレスが指定された時は、照会タイプは PTR に設定する。*/ 633 615 if (((flags & DNS_LUP_FLAGS_NAME_MASK) == DNS_LUP_FLAGS_NAME_IPV6) || 634 616 ((flags & DNS_LUP_FLAGS_NAME_MASK) == DNS_LUP_FLAGS_NAME_IPV4)) -
azure_iot_hub/trunk/ntshell/src/netcmd.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2018 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$ -
azure_iot_hub/trunk/ntshell/src/ntp_cli.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2018 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 * NTP ã¯ã©ã¤ã¢ã³ã39 * NTP クライアント 55 40 */ 56 41 … … 84 69 #include "ntp_cli.h" 85 70 86 /* NTP ãµã¼ãã®ãã¼ãçªå·*/71 /* NTP サーバのポート番号 */ 87 72 88 73 #define NTP_SRV_PORTNO UINT_C(123) 89 74 90 /* NTP ãµã¼ãã®URL */75 /* NTP サーバのURL */ 91 76 92 77 #define NTP_SRV_URL "ntp.nict.jp" 93 78 94 /* éä¿¡éé*/79 /* 送信間隔 */ 95 80 96 81 #define SLP_ITV (60*SYSTIM_HZ) 97 82 98 /* é¢æ°*/83 /* 関数 */ 99 84 100 85 void ntp_cli_update_time(T_NTP_CLI_CONTEXT *nc); … … 105 90 106 91 /* 107 * å 108 ¨åå¤æ° 92 * 全域変数 109 93 */ 110 94 … … 171 155 } 172 156 173 #define NTP_POLL_ASYNC 10 // 1024 ç§æ¯ã«æå»åãåãã174 #define NTP_POLL_NORMAL 16 // 65536 ç§æ¯ã«æå»åãåãã157 #define NTP_POLL_ASYNC 10 // 1024秒毎に時刻問い合わせ 158 #define NTP_POLL_NORMAL 16 // 65536秒毎に時刻問い合わせ 175 159 176 160 void ntp_cli_initialize(T_NTP_CLI_CONTEXT *nc, ID cepid) … … 214 198 T_NTP_MSG *ntp = &nc->ntp_msg; 215 199 216 // NTP æå»å¿çã®å ´å200 // NTP時刻応答の場合 217 201 if ((ntp->mode == NTP_MODE_SERVER) || (ntp->mode == NTP_MODE_BROADCAST)) { 218 202 switch (nc->state) { … … 221 205 break; 222 206 case NTP_CLI_STATE_REQUEST: 223 // ãµã¼ãã¼ããã®å¿çæå»ãåå¾207 // サーバーからの応答時刻を取得 224 208 memcpy(&nc->receive_timestamp, &ntp->receive_timestamp, sizeof(nc->receive_timestamp)); 225 209 memcpy(&nc->transmit_timestamp, &ntp->transmit_timestamp, sizeof(nc->transmit_timestamp)); 226 210 227 // ç¾å¨æå»åå¾211 // 現在時刻取得 228 212 ntp_cli_read_time(nc, &tp); 229 213 230 // NTPåç 231 §æå»ã«ç¾å¨æå»ãè¨å® 214 // NTP参照時刻に現在時刻を設定 232 215 set_systime_to_ntptime(&tp, &nc->recv_resp_timestamp); 233 216 234 // æå»ãæ´æ°217 // 時刻を更新 235 218 ntp_cli_update_time(nc); 236 219 … … 243 226 } 244 227 } 245 // NTP æå»è¦æ±ã®å ´å228 // NTP時刻要求の場合 246 229 else if (ntp->mode == NTP_MODE_CLIENT) { 247 // ç¾å¨æå»åå¾230 // 現在時刻取得 248 231 ntp_cli_read_time(nc, &tp); 249 232 250 // NTP åä¿¡ã»éä¿¡æå»ã«ç¾å¨æå»ãè¨å®233 // NTP受信・送信時刻に現在時刻を設定 251 234 set_systime_to_ntptime(&tp, &nc->receive_timestamp); 252 235 set_systime_to_ntptime(&tp, &nc->transmit_timestamp); 253 236 254 // NTP ãã±ããéä¿¡237 // NTPパケット送信 255 238 ntp_cli_time_synchronization(nc, NTP_MODE_SERVER); 256 239 } … … 267 250 div2_timestamp(&ofs); 268 251 269 // å·®ã大ããå ´åã¯ãµã¼ãã¼ã®éä¿¡æéãè¨å®252 // 差が大きい場合はサーバーの送信時間を設定 270 253 if (ntohl(ofs.integer) > 2) { 271 254 memcpy(&nc->reference_timestamp, &nc->transmit_timestamp, sizeof(nc->transmit_timestamp)); … … 286 269 #endif 287 270 { 288 /* æ¹è¡ã³ã¼ãã®åé¤*/271 /* 改行コードの削除 */ 289 272 int len = strnlen(nc->buf, sizeof(nc->buf) - 1); 290 273 nc->buf[len - 1] = '\0'; … … 344 327 /* through */ 345 328 case NTP_CLI_STATE_RESOLVE_ADDR: 346 // ç¾å¨æå»åå¾329 // 現在時刻取得 347 330 ntp_cli_read_time(nc, &tp); 348 331 349 // NTP éå§æå»ã«ç¾å¨æå»ãè¨å®332 // NTP開始時刻に現在時刻を設定 350 333 set_systime_to_ntptime(&tp, &nc->originate_timestamp); 351 334 memset(&nc->receive_timestamp, 0, sizeof(nc->receive_timestamp)); 352 335 memset(&nc->transmit_timestamp, 0, sizeof(nc->transmit_timestamp)); 353 336 354 // NTP ãã±ããéä¿¡337 // NTPパケット送信 355 338 ntp_cli_time_synchronization(nc, NTP_MODE_CLIENT); 356 339 357 // NTPå¿çå¾ 358 ã¡ã«é·ç§»ã500msã§ãªãã©ã¤ 340 // NTP応答待ちに遷移、500msでリトライ 359 341 nc->retry = 0; 360 342 nc->state = NTP_CLI_STATE_REQUEST; … … 366 348 nc->state = NTP_CLI_STATE_ASYNC; 367 349 nc->poll = NTP_POLL_ASYNC; 368 nc->timer = (1 << nc->poll) * 1000 * 1000; // 1024 ç§å¾ã«æå»åæ369 break; 370 } 371 // ç¾å¨æå»åå¾350 nc->timer = (1 << nc->poll) * 1000 * 1000; // 1024秒後に時刻同期 351 break; 352 } 353 // 現在時刻取得 372 354 ntp_cli_read_time(nc, &tp); 373 355 374 // NTP éå§æå»ã«ç¾å¨æå»ãè¨å®356 // NTP開始時刻に現在時刻を設定 375 357 set_systime_to_ntptime(&tp, &nc->originate_timestamp); 376 358 memset(&nc->receive_timestamp, 0, sizeof(nc->receive_timestamp)); 377 359 memset(&nc->transmit_timestamp, 0, sizeof(nc->transmit_timestamp)); 378 360 379 // NTP ãã±ããéä¿¡361 // NTPパケット送信 380 362 ntp_cli_time_synchronization(nc, NTP_MODE_CLIENT); 381 363 382 // NTPå¿çå¾ 383 ã¡ã«é·ç§»ã500msã§ãªãã©ã¤ 364 // NTP応答待ちに遷移、500msでリトライ 384 365 nc->state = NTP_CLI_STATE_REQUEST; 385 366 nc->timer = 500 * 1000; 386 367 break; 387 368 case NTP_CLI_STATE_SYNC: 388 // ç¾å¨æå»åå¾369 // 現在時刻取得 389 370 ntp_cli_read_time(nc, &tp); 390 371 391 // NTP éå§æå»ã«ç¾å¨æå»ãè¨å®372 // NTP開始時刻に現在時刻を設定 392 373 set_systime_to_ntptime(&tp, &nc->originate_timestamp); 393 374 memset(&nc->receive_timestamp, 0, sizeof(nc->receive_timestamp)); 394 375 memset(&nc->transmit_timestamp, 0, sizeof(nc->transmit_timestamp)); 395 376 396 // NTP ãã±ããéä¿¡377 // NTPパケット送信 397 378 ntp_cli_time_synchronization(nc, NTP_MODE_CLIENT); 398 379 399 // NTPå¿çå¾ 400 ã¡ã«é·ç§»ã500msã§ãªãã©ã¤ 380 // NTP応答待ちに遷移、500msでリトライ 401 381 nc->state = NTP_CLI_STATE_REQUEST; 402 382 nc->timer = 500 * 1000; … … 418 398 ntp->stratum = (mode == NTP_MODE_CLIENT) ? 2 : 1; 419 399 ntp->poll = nc->poll; 420 ntp->precision = 0xfa; // 精度ã¯10^-6(1μs)400 ntp->precision = 0xfa; // 精度は10^-6(1μs) 421 401 ntp->root_delay = htonl(0); 422 402 ntp->root_dispersion = htonl(0); 423 // åæã®ããã®å¤é¨çãªæ段ã®ãªããµãããã403 // 同期のための外部的な手段のないサブネット 424 404 ntp->reference_identifier[0] = 'L'; 425 405 ntp->reference_identifier[1] = 'O'; 426 406 ntp->reference_identifier[2] = 'C'; 427 407 ntp->reference_identifier[3] = 'L'; 428 // åç 429 §ã¿ã¤ã ã¹ã¿ã³ã 408 // 参照タイムスタンプ 430 409 memcpy(&ntp->reference_timestamp, &nc->reference_timestamp, sizeof(ntp->reference_timestamp)); 431 // éå§ã¿ã¤ã ã¹ã¿ã³ã410 // 開始タイムスタンプ 432 411 memcpy(&ntp->originate_timestamp, &nc->originate_timestamp, sizeof(ntp->originate_timestamp)); 433 // åä¿¡ã¿ã¤ã ã¹ã¿ã³ã412 // 受信タイムスタンプ 434 413 memcpy(&ntp->receive_timestamp, &nc->receive_timestamp, sizeof(ntp->receive_timestamp)); 435 // éä¿¡ã¿ã¤ã ã¹ã¿ã³ã414 // 送信タイムスタンプ 436 415 memcpy(&ntp->transmit_timestamp, &nc->transmit_timestamp, sizeof(ntp->transmit_timestamp)); 437 // éµèå¥å416 // 鍵識別子 438 417 ntp->key_identifier[0] = 0x08; 439 418 ntp->key_identifier[1] = 0x18; … … 486 465 487 466 /* 488 * ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°467 * ノンブロッキングコールのコールバック関数 489 468 */ 490 469 … … 497 476 len = *(ER_UINT*)p_parblk; 498 477 if (len < 0 && len != E_RLWAI) { 499 /* E_RLWAI 以å¤ã§ã0 以ä¸ã®å ´åã¯ãã¨ã©ã¼ãæå³ãã¦ããã*/478 /* E_RLWAI 以外で、0 以下の場合は、エラーを意味している。*/ 500 479 syslog(LOG_NOTICE, "[NTP CLI,%d] callback error: %s, fncd: %s", nc->cepid, 501 480 itron_strerror(len), in_strtfn(fncd)); … … 525 504 526 505 /* 527 * NTP ã¯ã©ã¤ã¢ã³ãéä¿¡ã¿ã¹ã¯506 * NTP クライアント送信タスク 528 507 */ 529 508 … … 539 518 syslog(LOG_NOTICE, "[NTP CLI:%d,%d] started.", nc->tskid, (ID)exinf); 540 519 541 /* åæå*/520 /* 初期化 */ 542 521 ntp_cli_initialize(nc, (ID)exinf); 543 522 … … 552 531 prev = time; 553 532 554 /* ã¿ã¤ãã¼åå¾*/533 /* タイマー取得 */ 555 534 timer = ntp_cli_get_timer(nc); 556 535 557 /* å¾ 558 ã¡ */ 536 /* 待ち */ 559 537 error = tslp_tsk(timer); 560 538 if ((error != E_OK) && (error != E_TMOUT)) { … … 571 549 } 572 550 573 /* æéçµé*/551 /* 時間経過 */ 574 552 ntp_cli_progress(nc, time - prev); 575 553 576 /* èµ·ããããå ´å*/554 /* 起こされた場合 */ 577 555 if (error == E_OK) { 578 556 ntp_cli_wakeup(nc); 579 557 } 580 558 581 /* ã¿ã¤ã ã¢ã¦ãå¦ç*/559 /* タイムアウト処理 */ 582 560 ntp_cli_timeout(nc); 583 561 } -
azure_iot_hub/trunk/ntshell/src/ntp_cli.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2018 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 * NTP ã¯ã©ã¤ã¢ã³ãã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«39 * NTP クライアントのシステムコンフィギュレーションファイル 55 40 */ 56 41 57 /* ã¿ã¹ã¯*/42 /* タスク */ 58 43 59 44 CRE_TSK(NTP_CLI_TASK, { -
azure_iot_hub/trunk/ntshell/src/ntp_cli.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2018 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$ … … 54 39 #define _NTP_CLI_H_ 55 40 56 /* ã¹ã¿ãã¯ãµã¤ãº*/41 /* スタックサイズ */ 57 42 58 #define NTP_CLI_STACK_SIZE 1024 /* NTP ã¯ã©ã¤ã¢ã³ãã¿ã¹ã¯ï¼IPv4ï¼ã®ã¹ã¿ãã¯ãµã¤ãº*/43 #define NTP_CLI_STACK_SIZE 1024 /* NTP クライアントタスク(IPv4)のスタックサイズ */ 59 44 60 /* åªå 61 度 */ 45 /* 優先度 */ 62 46 63 #define NTP_CLI_MAIN_PRIORITY 5 /* NTP ã¯ã©ã¤ã¢ã³ãã¿ã¹ã¯ï¼IPv4ï¼ã®åªå 64 度 */ 47 #define NTP_CLI_MAIN_PRIORITY 5 /* NTP クライアントタスク(IPv4)の優先度 */ 65 48 66 /* ã¿ã¹ã¯*/49 /* タスク */ 67 50 68 51 extern void ntp_cli_task(intptr_t exinf); 69 52 70 /* NTP ã¿ã¤ã ã¹ã¿ã³ã*/53 /* NTPタイムスタンプ */ 71 54 typedef struct ntp_timestamp { 72 55 uint32_t integer; … … 74 57 } __attribute__((packed)) T_NTP_TIMESTAMP; 75 58 76 /* NTP ãã±ãã*/59 /* NTPパケット */ 77 60 typedef struct ntp_msg { 78 61 uint8_t mode : 3; … … 104 87 } ntp_mode_t; 105 88 106 /* NTPã¯ã©ã¤ã¢ã³ãç¶æ 107 */ 89 /* NTPクライアント状態 */ 108 90 typedef enum ntp_cli_state { 109 91 NTP_CLI_STATE_ASYNC, … … 137 119 } T_NTP_CLI_CONTEXT; 138 120 139 /* é¢æ°*/121 /* 関数 */ 140 122 141 123 void ntp_cli_initialize(T_NTP_CLI_CONTEXT *nc, ID cepid); -
azure_iot_hub/trunk/ntshell/src/ntshell.cdl
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain;charset=UTF-8
r388 r389 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * 11 * ä¸è¨èä½æ¨©è 12 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 13 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 14 * å¤ã»åé 15 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 16 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 17 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 18 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 19 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 20 * ç¨ã§ããå½¢ã§åé 21 å¸ããå ´åã«ã¯ï¼åé 22 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 23 * è 24 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 25 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 26 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 27 * ç¨ã§ããªãå½¢ã§åé 28 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 29 * ã¨ï¼ 30 * (a) åé 31 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 32 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 33 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 34 * (b) åé 35 å¸ã®å½¢æ 36 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 37 * å ±åãããã¨ï¼ 38 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 39 * 害ãããï¼ä¸è¨èä½æ¨©è 40 ããã³TOPPERSããã¸ã§ã¯ããå 41 責ãããã¨ï¼ 42 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 43 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 44 ããã³TOPPERSããã¸ã§ã¯ãã 45 * å 46 責ãããã¨ï¼ 11 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 13 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 16 * スコード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 18 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 19 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 20 * の無保証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 22 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 23 * と. 24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 25 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 27 * 報告すること. 28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 29 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 30 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 31 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 32 * 免責すること. 47 33 * 48 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 49 ã 50 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 51 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 52 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 53 * ã®è²¬ä»»ãè² ããªãï¼ 34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 * の責任を負わない. 54 39 * 55 40 * $Id$ … … 59 44 60 45 /* 61 * ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãºã®ããã©ã«ã46 * タスクのスタックサイズのデフォルト 62 47 */ 63 const size_t DefaultTaskStackSize = 1024; /* ã¹ã¿ãã¯ãµã¤ãºï¼1KBï¼*/48 const size_t DefaultTaskStackSize = 1024; /* スタックサイズ(1KB)*/ 64 49 65 50 /* 66 * ã·ã¹ãã ãã°ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãºã®å®ç¾©51 * システムログタスクのスタックサイズの定義 67 52 */ 68 53 const size_t LogTaskStackSize = DefaultTaskStackSize; 69 54 70 55 /* 71 * ã«ã¼ãã«èµ·åã¡ãã»ã¼ã¸ã«é¢ããå®ç¾©56 * カーネル起動メッセージに関する定義 72 57 */ 73 const char *const BannerTargetName = C_EXP("TARGET_NAME"); /* ã¿ã¼ã²ããå*/74 const char *const BannerCopyrightNotice = ""; /* èä½æ¨©è¡¨ç¤º*/58 const char *const BannerTargetName = C_EXP("TARGET_NAME"); /* ターゲット名 */ 59 const char *const BannerCopyrightNotice = ""; /* 著作権表示 */ 75 60 76 61 /* 77 * ã¿ã¼ã²ããä¾åã®ã»ã«ã¿ã¤ãã®å®ç¾©62 * ターゲット依存のセルタイプの定義 78 63 */ 79 64 import("syssvc/tPutLogSIOPort.cdl"); … … 81 66 82 67 /* 83 * ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ã¿ã¼ã²ããä¾åé¨ã®çµã¿ä¸ãè¨è¿°68 * シリアルインタフェースドライバのターゲット依存部の組み上げ記述 84 69 */ 85 70 cell tSIOPortNTShell SIOPortTarget1 { … … 87 72 88 73 /* 89 * ä½ã¬ãã«åºåã®çµã¿ä¸ãè¨è¿°74 * 低レベル出力の組み上げ記述 90 75 */ 91 76 cell tPutLogSIOPort PutLogTarget { 92 /* SIO ãã©ã¤ãã¨ã®çµå*/77 /* SIOドライバとの結合 */ 93 78 cSIOPort = SIOPortTarget1.eSIOPort; 94 79 }; -
azure_iot_hub/trunk/ntshell/src/ntshell_main.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2014-2017 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 * ãµã³ãã«ããã°ã©ã (1)ã®æ¬ä½39 * サンプルプログラム(1)の本体 55 40 */ 56 41 … … 107 92 108 93 /* 109 * ntshell ã¿ã¹ã¯94 * ntshellタスク 110 95 */ 111 96 void ntshell_task(intptr_t exinf) -
azure_iot_hub/trunk/ntshell/src/ntshell_main.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 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 * ntshell ã®ã·ã¹ãã ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«39 * ntshellのシステムコンフィギュレーションファイル 55 40 */ 56 41 #include "ntshell_main.h" -
azure_iot_hub/trunk/ntshell/src/ntshell_main.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2014-2017 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$ … … 55 40 56 41 /* 57 * ntshell ã¿ã¹ã¯ã®ããããã¡ã¤ã«42 * ntshellタスクのヘッダファイル 58 43 */ 59 44 60 45 /* 61 * ã¿ã¼ã²ããä¾åã®å®ç¾©46 * ターゲット依存の定義 62 47 */ 63 48 #include <kernel.h> … … 67 52 68 53 /* 69 * åã¿ã¹ã¯ã®åªå 70 度ã®å®ç¾© 54 * 各タスクの優先度の定義 71 55 */ 72 56 73 #define NTSHELL_PRIORITY 8 /* ntshellã¿ã¹ã¯ã®åªå 74 度 */ 57 #define NTSHELL_PRIORITY 8 /* ntshellタスクの優先度 */ 75 58 76 #define NTSHELL_STACK_SIZE 10240 /* ntshell ã¿ã¹ã¯ã®ã¹ã¿ãã¯é åã®ãµã¤ãº*/59 #define NTSHELL_STACK_SIZE 10240 /* ntshellタスクのスタック領域のサイズ */ 77 60 78 #define NUM_NTSHELL_DATAQUEUE 1 /* ntshellã¿ã¹ã¯ã§å¾ 79 ã¡åãã¦ãããã¼ã¿ãã¥ã¼ã®ãµã¤ãº */ 61 #define NUM_NTSHELL_DATAQUEUE 1 /* ntshellタスクで待ち受けているデータキューのサイズ */ 80 62 81 63 /* 82 * é¢æ°ã®ãããã¿ã¤ã宣è¨64 * 関数のプロトタイプ宣言 83 65 */ 84 66 #ifndef TOPPERS_MACRO_ONLY … … 94 76 extern PRI main_task_priority; 95 77 96 /* ntshell ã®åæå*/78 /* ntshellの初期化 */ 97 79 void sys_init(intptr_t exinf); 98 80 99 /* ntshell ã¿ã¹ã¯åæå*/81 /* ntshellタスク初期化 */ 100 82 void ntshell_task_init(ID portid); 101 83 102 /* ntshell ã¿ã¹ã¯*/84 /* ntshellタスク */ 103 85 void ntshell_task(intptr_t exinf); 104 86 105 /* éå§*/87 /* 開始 */ 106 88 void ntshell_change_netif_link(uint8_t link_up, uint8_t up); 107 89 108 /* ã³ãã³ãå®è¡*/90 /* コマンド実行 */ 109 91 int cmd_execute(const char *text, void *extobj); 110 92 111 93 /* 112 * ãã³ããããã³ã°ã³ã¼ã«ã®ã³ã¼ã«ããã¯é¢æ°94 * ノンブロッキングコールのコールバック関数 113 95 */ 114 96 extern ER socket_udp_callback(ID cepid, FN fncd, void *p_parblk); -
azure_iot_hub/trunk/ntshell/src/route_cfg.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 5 5 * Tomakomai National College of Technology, JAPAN 6 6 * 7 * ä¸è¨èä½æ¨©è 8 ã¯ï¼ä»¥ä¸ã® (1)ï½(4) ã®æ¡ä»¶ãï¼Free Software Foundation 9 * ã«ãã£ã¦å 10 ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨ 11 * è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢ 12 * ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé 13 å¸ï¼ä»¥ä¸ï¼ 14 * å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 15 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 16 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 17 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 18 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 19 * ç¨ã§ããå½¢ã§åé 20 å¸ããå ´åã«ã¯ï¼åé 21 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 22 * è 23 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 24 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 25 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 26 * ç¨ã§ããªãå½¢ã§åé 27 å¸ããå ´åã«ã¯ï¼æ¬¡ã®æ¡ä»¶ãæºãããã¨ï¼ 28 * (a) åé 29 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 30 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 31 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 32 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 33 * 害ãããï¼ä¸è¨èä½æ¨©è 34 ããã³TOPPERSããã¸ã§ã¯ããå 35 責ãããã¨ï¼ 7 * 上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation 8 * によって公表されている GNU General Public License の Version 2 に記 9 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 10 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 11 * 利用と呼ぶ)することを無償で許諾する. 12 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 13 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 14 * スコード中に含まれていること. 15 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 16 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 17 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 18 * の無保証規定を掲載すること. 19 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 20 * 用できない形で再配布する場合には,次の条件を満たすこと. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * ã«ã¼ãã£ã³ã°è¡¨35 * ルーティング表 48 36 */ 49 37 … … 56 44 #include <netinet/in_var.h> 57 45 58 /* IPv6 ã«é¢ããå®ç¾©*/46 /* IPv6 に関する定義 */ 59 47 60 48 #ifdef _IP6_CFG … … 68 56 #endif /* of #ifdef _IP6_CFG */ 69 57 70 /* IPv4 ã«é¢ããå®ç¾©*/58 /* IPv4 に関する定義 */ 71 59 72 60 #ifdef _IP4_CFG … … 92 80 T_IN4_RTENTRY routing4_tbl[NUM_IN4_ROUTE_ENTRY] = { 93 81 94 /* ç°ãªã LANãdefault gateway ã«ããéæ¥é 95 é */ 82 /* 異なる LAN、default gateway による間接配送 */ 96 83 { 0, 0, IPV4_ADDR_DEFAULT_GW }, 97 84 98 /* åä¸ LAN å 99 ãç´æ¥é 100 é */ 85 /* 同一 LAN 内、直接配送 */ 101 86 { IPV4_ADDR_LOCAL & 102 87 IPV4_ADDR_LOCAL_MASK, IPV4_ADDR_LOCAL_MASK, 0 }, 103 88 104 /* åä¸ LAN å 105 ã¸ã®ããã¼ããã£ã¹ããç´æ¥é 106 é */ 89 /* 同一 LAN 内へのブロードキャスト、直接配送 */ 107 90 { 0xffffffff, 0xffffffff, 0 }, 108 91 -
azure_iot_hub/trunk/ntshell/src/shellif.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2017 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$ … … 286 271 struct rusage; 287 272 int shell_wait4(pid_t, int *, int, struct rusage *); 288 // âââmusl273 // ↑↑↑musl 289 274 290 275 // arduino.h -
azure_iot_hub/trunk/ntshell/src/socket_stub.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2017 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$ -
azure_iot_hub/trunk/ntshell/src/stdio_stub.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2017-2019 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$ … … 403 388 ER ret; 404 389 405 // ã¿ã¹ã¯ã³ã³ããã¹ãã§ãªãå ´å390 // タスクコンテキストでない場合 406 391 if (sense_context()) { 407 // éä¿¡å¯è½ã«ãªãã¾ã§å¾ 408 ã¡ 392 // 送信可能になるまで待ち 409 393 while (!serial_writable(serial)); 410 // éä¿¡ãã394 // 送信する 411 395 serial_putc(serial, c); 412 396 return; 413 397 } 414 398 415 // éä¿¡ãããã¡ã空ã§399 // 送信バッファが空で 416 400 if (uart->tx_pos_w == uart->tx_pos_r) { 417 // éä¿¡å¯è½ãªã401 // 送信可能なら 418 402 if (serial_writable(serial)) { 419 // éä¿¡ãã403 // 送信する 420 404 serial_putc(serial, c); 421 405 return; … … 423 407 } 424 408 425 // éä¿¡ãããã¡ã«è¿½å ãã409 // 送信バッファに追加する 426 410 uart->tx_buf[uart->tx_pos_w++] = c; 427 411 if (uart->tx_pos_w >= sizeof(uart->tx_buf)) 428 412 uart->tx_pos_w = 0; 429 413 430 // éä¿¡å¯è½ã«ãªã£ããå²ãè¾¼ã¿ããããããè¨å®414 // 送信可能になったら割り込みをもらうよう設定 431 415 serial_irq_set(serial, TxIrq, true); 432 416 … … 475 459 } 476 460 477 // éä¿¡ãããã¡ã空ãªã461 // 送信バッファが空なら 478 462 if (uart->tx_pos_w == uart->tx_pos_r) { 479 // SIO ãã©ã¤ãã®éä¿¡463 // SIOドライバの送信 480 464 sio_isr_snd(fp->handle); 481 // ãã£ã±ãéä¿¡ãããã¡ã空ãªã465 // やっぱり送信バッファが空なら 482 466 if (uart->tx_pos_w == uart->tx_pos_r) { 483 // éä¿¡å²ãè¾¼ã¿åæ¢467 // 送信割り込み停止 484 468 serial_irq_set(serial, TxIrq, false); 485 469 return; … … 491 475 uart->tx_pos_r = 0; 492 476 493 // éä¿¡ãã477 // 送信する 494 478 serial_putc(serial, c); 495 479 } -
azure_iot_hub/trunk/ntshell/src/syscall.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2018 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$ -
azure_iot_hub/trunk/ntshell/src/tSIOPortNTShell.cdl
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain;charset=UTF-8
r388 r389 9 9 * Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 * 11 * ä¸è¨èä½æ¨©è 12 ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 13 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 14 * å¤ã»åé 15 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 16 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 17 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 18 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 19 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 20 * ç¨ã§ããå½¢ã§åé 21 å¸ããå ´åã«ã¯ï¼åé 22 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 23 * è 24 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 25 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 26 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 27 * ç¨ã§ããªãå½¢ã§åé 28 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 29 * ã¨ï¼ 30 * (a) åé 31 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 32 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 33 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 34 * (b) åé 35 å¸ã®å½¢æ 36 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 37 * å ±åãããã¨ï¼ 38 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 39 * 害ãããï¼ä¸è¨èä½æ¨©è 40 ããã³TOPPERSããã¸ã§ã¯ããå 41 責ãããã¨ï¼ 42 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 43 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 44 ããã³TOPPERSããã¸ã§ã¯ãã 45 * å 46 責ãããã¨ï¼ 11 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 13 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 14 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 15 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 16 * スコード中に含まれていること. 17 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 18 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 19 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 20 * の無保証規定を掲載すること. 21 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 22 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 23 * と. 24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 25 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 27 * 報告すること. 28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 29 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 30 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 31 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 32 * 免責すること. 47 33 * 48 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 49 ã 50 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 51 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 52 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 53 * ã®è²¬ä»»ãè² ããªãï¼ 34 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 * の責任を負わない. 54 39 * 55 40 * $Id$ … … 57 42 58 43 /* 59 * ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ã¿ã¼ã²ããä¾åé¨ï¼NTShellç¨ï¼60 * ã®ã³ã³ãã¼ãã³ãè¨è¿°44 * シリアルインタフェースドライバのターゲット依存部(NTShell用) 45 * のコンポーネント記述 61 46 */ 62 47 63 48 /* 64 * NTShell ã«é¢ããå®ç¾©49 * NTShell に関する定義 65 50 */ 66 51 import_C("termios.h"); 67 52 68 53 /* 69 * SIO ãã©ã¤ãã®æ¬ä½ã®ã»ã«ã¿ã¤ã54 * SIOドライバの本体のセルタイプ 70 55 */ 71 56 celltype tSIOPortNTShellMain { 72 57 /* 73 * ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¨ã®çµå58 * シリアルインタフェースドライバとの結合 74 59 */ 75 60 entry sSIOPort eSIOPort; … … 77 62 78 63 /* 79 * çµäºå¦çã«ã¼ãã³64 * 終了処理ルーチン 80 65 */ 81 66 entry sRoutineBody eTerminate; 82 67 83 68 attr { 84 const char *path; /* ãã¹å*/69 const char *path; /* パス名 */ 85 70 }; 86 71 87 72 var { 88 bool_t opened = false; /* ãªã¼ãã³æ¸ã¿ãã©ã° */ 89 struct termios saved_term; /* å 90 ã®ç«¯æ«å¶å¾¡æ 91 å ± */ 92 int_t read_fd; /* èªåºãç¨ãã¡ã¤ã«ãã£ã¹ã¯ãªãã¿ */ 93 bool_t rcv_flag; /* åä¿¡æåãããã¡æå¹ãã©ã° */ 94 char rcv_buf; /* åä¿¡æåãããã¡ */ 95 bool_t rcv_rdy; /* åä¿¡éç¥ã³ã¼ã«ããã¯è¨±å¯ãã©ã° */ 96 int_t write_fd; /* æ¸è¾¼ã¿ç¨ãã¡ã¤ã«ãã£ã¹ã¯ãªãã¿ */ 97 bool_t snd_flag; /* éä¿¡æåãããã¡æå¹ãã©ã° */ 98 char snd_buf; /* éä¿¡æåãããã¡ */ 99 bool_t snd_rdy; /* éä¿¡éç¥ã³ã¼ã«ããã¯è¨±å¯ãã©ã° */ 73 bool_t opened = false; /* オープン済みフラグ */ 74 struct termios saved_term; /* 元の端末制御情報 */ 75 int_t read_fd; /* 読出し用ファイルディスクリプタ */ 76 bool_t rcv_flag; /* 受信文字バッファ有効フラグ */ 77 char rcv_buf; /* 受信文字バッファ */ 78 bool_t rcv_rdy; /* 受信通知コールバック許可フラグ */ 79 int_t write_fd; /* 書込み用ファイルディスクリプタ */ 80 bool_t snd_flag; /* 送信文字バッファ有効フラグ */ 81 char snd_buf; /* 送信文字バッファ */ 82 bool_t snd_rdy; /* 送信通知コールバック許可フラグ */ 100 83 }; 101 84 }; 102 85 103 86 /* 104 * SIO ãã©ã¤ãï¼è¤åã³ã³ãã¼ãã³ãï¼ã®ã»ã«ã¿ã¤ã87 * SIOドライバ(複合コンポーネント)のセルタイプ 105 88 */ 106 89 [active] 107 90 composite tSIOPortNTShell { 108 91 /* 109 * ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã¨ã®çµå92 * シリアルインタフェースドライバとの結合 110 93 */ 111 94 entry sSIOPort eSIOPort; … … 113 96 114 97 /* 115 * å±æ§ã®å®ç¾©98 * 属性の定義 116 99 */ 117 100 attr { 118 const char *path = C_EXP("NULL"); /* ãã¹å*/101 const char *path = C_EXP("NULL"); /* パス名 */ 119 102 }; 120 103 121 104 /* 122 * SIO ãã©ã¤ãã®æ¬ä½105 * SIOドライバの本体 123 106 */ 124 107 cell tSIOPortNTShellMain SIOPortMain { … … 129 112 130 113 /* 131 * SIO ãã©ã¤ãã®çµäºå¦çã«ã¼ãã³114 * SIOドライバの終了処理ルーチン 132 115 */ 133 116 cell tTerminateRoutine TerminateSIO { -
azure_iot_hub/trunk/ntshell/src/tSIOPortNTShellMain.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r388 r389 7 7 * Graduate School of Information Science, Nagoya Univ., JAPAN 8 8 * 9 * ä¸è¨èä½æ¨©è 10 ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 11 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 12 * å¤ã»åé 13 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 14 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 15 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 16 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 17 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 18 * ç¨ã§ããå½¢ã§åé 19 å¸ããå ´åã«ã¯ï¼åé 20 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 21 * è 22 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 23 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 24 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 25 * ç¨ã§ããªãå½¢ã§åé 26 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 27 * ã¨ï¼ 28 * (a) åé 29 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 30 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 31 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 32 * (b) åé 33 å¸ã®å½¢æ 34 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 35 * å ±åãããã¨ï¼ 36 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 37 * 害ãããï¼ä¸è¨èä½æ¨©è 38 ããã³TOPPERSããã¸ã§ã¯ããå 39 責ãããã¨ï¼ 40 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 41 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 42 ããã³TOPPERSããã¸ã§ã¯ãã 43 * å 44 責ãããã¨ï¼ 45 * 46 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 47 ã 48 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 49 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 50 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 51 * ã®è²¬ä»»ãè² ããªãï¼ 9 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 10 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 11 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 12 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 13 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 14 * スコード中に含まれていること. 15 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 16 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 17 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 18 * の無保証規定を掲載すること. 19 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 20 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 21 * と. 22 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 23 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 24 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 25 * 報告すること. 26 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 27 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 28 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 29 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 30 * 免責すること. 31 * 32 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 33 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 34 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 35 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 36 * の責任を負わない. 52 37 * 53 38 * $Id$ … … 55 40 56 41 /* 57 * ã·ãªã¢ã«ã¤ã³ã¿ãã§ã¼ã¹ãã©ã¤ãã®ã¿ã¼ã²ããä¾åé¨ï¼NTShellç¨ï¼42 * シリアルインタフェースドライバのターゲット依存部(NTShell用) 58 43 */ 59 44 … … 68 53 69 54 /* 70 * SIO ãã¼ãã®ãªã¼ãã³55 * SIOポートのオープン 71 56 */ 72 57 void … … 79 64 if (!VAR_opened) { 80 65 /* 81 * æ¢ã«ãªã¼ãã³ãã¦ããå ´åã¯ãäºéã«ãªã¼ãã³ããªãï¼66 * 既にオープンしている場合は、二重にオープンしない. 82 67 */ 83 68 if (ATTR_path != NULL) { … … 88 73 } 89 74 else { 90 fd = STDIN_FILENO; /* æ¨æºå 91 ¥åºåã使ã */ 75 fd = STDIN_FILENO; /* 標準入出力を使う */ 92 76 VAR_read_fd = STDIN_FILENO; 93 77 VAR_write_fd = STDOUT_FILENO; … … 110 94 111 95 /* 112 * SIO ãã¼ãã®ã¯ãã¼ãº96 * SIOポートのクローズ 113 97 */ 114 98 void … … 131 115 132 116 /* 133 * SIO ãã¼ãã¸ã®æåéä¿¡117 * SIOポートへの文字送信 134 118 */ 135 119 bool_t … … 156 140 157 141 /* 158 * SIO ãã¼ãããã®æååä¿¡142 * SIOポートからの文字受信 159 143 */ 160 144 int_t … … 179 163 180 164 /* 181 * SIO ãã¼ãããã®ã³ã¼ã«ããã¯ã®è¨±å¯165 * SIOポートからのコールバックの許可 182 166 */ 183 167 void … … 197 181 198 182 /* 199 * SIO ãã¼ãããã®ã³ã¼ã«ããã¯ã®ç¦æ¢183 * SIOポートからのコールバックの禁止 200 184 */ 201 185 void … … 215 199 216 200 /* 217 * SIO ã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³201 * SIOの割込みサービスルーチン 218 202 */ 219 203 bool_t … … 240 224 241 225 /* 242 * SIO ã®å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³226 * SIOの割込みサービスルーチン 243 227 */ 244 228 bool_t … … 263 247 264 248 /* 265 * SIO ãã©ã¤ãã®çµäºå¦ç249 * SIOドライバの終了処理 266 250 */ 267 251 void -
azure_iot_hub/trunk/ntshell/src/tinet_main.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain;charset=UTF-8
r388 r389 1 1 /* 2 * TOPPERS ECHONET Lite Communication Middleware2 * TOPPERS PROJECT Home Network Working Group Software 3 3 * 4 4 * Copyright (C) 2014 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 * ãããã¯ã¼ã¯å¯¾å¿ main.c ããã°ã©ã ã® TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«39 * ネットワーク対応 main.c プログラムの TCP/IP コンフィギュレーションファイル 55 40 */ 56 41 57 42 #include "main.h" 58 43 59 /* Socket ç¨ é信端ç¹*/44 /* Socket用 通信端点 */ 60 45 61 46 #ifdef SUPPORT_INET4 -
azure_iot_hub/trunk/ntshell/src/tinet_ntp_cli.cfg
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/plain
totext/plain;charset=UTF-8
r388 r389 5 5 * Tomakomai National College of Technology, JAPAN 6 6 * 7 * ä¸è¨èä½æ¨©è 8 ã¯ï¼ä»¥ä¸ã® (1)ï½(4) ã®æ¡ä»¶ãï¼Free Software Foundation 9 * ã«ãã£ã¦å 10 ¬è¡¨ããã¦ãã GNU General Public License ã® Version 2 ã«è¨ 11 * è¿°ããã¦ããæ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ã¢ï¼æ¬ã½ããã¦ã§ã¢ 12 * ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹å¤ã»åé 13 å¸ï¼ä»¥ä¸ï¼ 14 * å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 15 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 16 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 17 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 18 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 19 * ç¨ã§ããå½¢ã§åé 20 å¸ããå ´åã«ã¯ï¼åé 21 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 22 * è 23 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 24 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 25 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 26 * ç¨ã§ããªãå½¢ã§åé 27 å¸ããå ´åã«ã¯ï¼æ¬¡ã®æ¡ä»¶ãæºãããã¨ï¼ 28 * (a) åé 29 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 30 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 31 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 32 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 33 * 害ãããï¼ä¸è¨èä½æ¨©è 34 ããã³TOPPERSããã¸ã§ã¯ããå 35 責ãããã¨ï¼ 7 * 上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation 8 * によって公表されている GNU General Public License の Version 2 に記 9 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア 10 * を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下, 11 * 利用と呼ぶ)することを無償で許諾する. 12 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 13 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 14 * スコード中に含まれていること. 15 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 16 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 17 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 18 * の無保証規定を掲載すること. 19 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 20 * 用できない形で再配布する場合には,次の条件を満たすこと. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 24 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 36 25 * 37 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 38 ã 39 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ãã®é©ç¨å¯è½æ§ã 40 * å«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´ 41 * æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ãã®è²¬ä»»ãè² ããªãï¼ 26 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 27 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も 28 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直 29 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 45 33 46 34 /* 47 * NTP ã¯ã©ã¤ã¢ã³ã48 * TCP/IP ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«35 * NTP クライアント 36 * TCP/IP コンフィギュレーションファイル 49 37 */ 50 38 51 /* UDP é信端ç¹*/39 /* UDP 通信端点 */ 52 40 53 41 UDP_CRE_CEP (NTP_CLI_CEPID, {
Note:
See TracChangeset
for help on using the changeset viewer.