Changeset 389 for azure_iot_hub/trunk/ntshell/echonet/echonet.trb
- Timestamp:
- May 22, 2019, 10:03:37 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
azure_iot_hub/trunk/ntshell/echonet/echonet.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
Note:
See TracChangeset
for help on using the changeset viewer.