| 253 | == 出力するarxmlファイルでの整数、小数の表記 == |
| 254 | * ABREXでは、Ruby標準のYAMLライブラリを使用して、YAMLファイルを読み込むが、整数、少数はそれぞれInteger、Floatクラスとして解釈される |
| 255 | * この結果、以下のように、16進数表記で記述した整数は10進数表記で出力され、0に近い小数は指数表記で出力される |
| 256 | <入力するYAMLファイル> |
| 257 | {{{ |
| 258 | Ecuc: |
| 259 | Os: |
| 260 | MAIN_HW_COUNTER: |
| 261 | DefinitionRef: OsCounter |
| 262 | OsCounterMaxAllowedValue: 0x7FFFFFFF |
| 263 | OsSecondsPerTick: 0.00000001666666 |
| 264 | }}} |
| 265 | <出力されるarxmlファイル> |
| 266 | {{{ |
| 267 | <ECUC-NUMERICAL-PARAM-VALUE> |
| 268 | <DEFINITION-REF DEST="ECUC-INTEGER-PARAM-DEF">/AUTOSAR/EcucDefs/Os/OsCounter/OsCounterMaxAllowedValue</DEFINITION-REF> |
| 269 | <VALUE>2147483647</VALUE> |
| 270 | </ECUC-NUMERICAL-PARAM-VALUE> |
| 271 | <ECUC-NUMERICAL-PARAM-VALUE> |
| 272 | <DEFINITION-REF DEST="ECUC-FLOAT-PARAM-DEF">/AUTOSAR/EcucDefs/Os/OsCounter/OsSecondsPerTick</DEFINITION-REF> |
| 273 | <VALUE>1.666666e-08</VALUE> |
| 274 | </ECUC-NUMERICAL-PARAM-VALUE> |
| 275 | }}} |
| 276 | * この現象を回避し、YAMLにファイルに書いた通りに出力したい場合は、以下のように文字列として記述する |
| 277 | <入力するYAMLファイル> |
| 278 | {{{ |
| 279 | Ecuc: |
| 280 | Os: |
| 281 | MAIN_HW_COUNTER: |
| 282 | DefinitionRef: OsCounter |
| 283 | OsCounterMaxAllowedValue: "0x7FFFFFFF" |
| 284 | OsSecondsPerTick: "0.00000001666666" |
| 285 | }}} |
| 286 | <出力されるarxmlファイル> |
| 287 | {{{ |
| 288 | <ECUC-NUMERICAL-PARAM-VALUE> |
| 289 | <DEFINITION-REF DEST="ECUC-INTEGER-PARAM-DEF">/AUTOSAR/EcucDefs/Os/OsCounter/OsCounterMaxAllowedValue</DEFINITION-REF> |
| 290 | <VALUE>0x7FFFFFFF</VALUE> |
| 291 | </ECUC-NUMERICAL-PARAM-VALUE> |
| 292 | <ECUC-NUMERICAL-PARAM-VALUE> |
| 293 | <DEFINITION-REF DEST="ECUC-FLOAT-PARAM-DEF">/AUTOSAR/EcucDefs/Os/OsCounter/OsSecondsPerTick</DEFINITION-REF> |
| 294 | <VALUE>0.00000001666666</VALUE> |
| 295 | </ECUC-NUMERICAL-PARAM-VALUE> |
| 296 | }}} |
| 297 | |