| 1 | == リフレクティブメモリの読み出し == |
| 2 | |
| 3 | aai レコードタイプと組み合わせて、リフレクティブメモリからのデータ読み出しを行う。 [[br]] |
| 4 | Device Type 名は "'''aai5565'''" |
| 5 | |
| 6 | '''Synopsis''' |
| 7 | {{{ |
| 8 | record(aai, "pv-name") { |
| 9 | field(DTYP, "aai5565") |
| 10 | field(INP, "#C<card_number> S @<offset>") |
| 11 | field(FTVL, "<value_type>") |
| 12 | field(NELM, "<num_of_elems>") |
| 13 | } |
| 14 | }}} |
| 15 | * card_number[[br]]The card number designated in argument card in RM5565PciConfigure |
| 16 | * offset[[br]]Offset of RM5565 memory |
| 17 | * value_type[[br]]Field Type of Value |
| 18 | * num_of_elems[[br]]Number of elements |
| 19 | |
| 20 | '''Usage''' |
| 21 | {{{ |
| 22 | record(aai, "RM5565:DEV0:A000:R") { |
| 23 | field(DTYP, "aai5565") |
| 24 | field(INP, "#C0 S @0xA000") |
| 25 | field(FTVL, "LONG") |
| 26 | field(NELM, "1") |
| 27 | ・ |
| 28 | ・ |
| 29 | ・ |
| 30 | } |
| 31 | }}} |
| 32 | INP フィールドでカード番号/オフセットを指定する。 [[br]] |
| 33 | "C" に続く数字(例では '0')でカード番号を、 "@" に続く数字(例では '0xA000')でオフセットを指定しておく。 [[br]] |
| 34 | 指定できるオフセットは 0x0000~である。ちなみに VME版では 0x3000~であり、 PCI版の 0x0000 と VME版の 0x3000 が同じアドレスになる。 |
| 35 | また、オフセットの指定には 16 進表記以外にも 10 進表記や 8 進表記も使用可能。 [[br]] |
| 36 | {{{ |
| 37 | field(INP, "#C0 S @40960") ... 10 進表記 |
| 38 | }}} |
| 39 | {{{ |
| 40 | field(INP, "#C0 S @0120000") ... 8 進表記 |
| 41 | }}} |
| 42 | このレコードをプロセスすると、リフレクティブメモリのオフセット 0xA000 番地から 32 ビットデータを読み込み、VAL フィールドにセットする。 |
| 43 | {{{ |
| 44 | $ caput RM5565:DEV0:A000:R.PROC 1 |
| 45 | Old : RM5565:DEV0:A000:R.PROC 0 |
| 46 | New : RM5565:DEV0:A000:R.PROC 1 |
| 47 | $ caget RM5565:DEV0:A000:R |
| 48 | RM5565:DEV0:A000:R 0 |
| 49 | }}} |