== リフレクティブメモリへの書き込み == aao レコードタイプと組み合わせて、リフレクティブメモリへのデータ書き込みを行う。 [[br]] Device Type 名は "'''aao5565'''" [[br]] '''Synopsis''' {{{ record(aao, "pv-name") { field(DTYP, "aao5565") field(OUT, "#C S @[,]") field(FTVL, "") field(VAL, "") field(NELM, "") } }}} * card_number[[br]]The card number designated in argument card in RM5565PciConfigure * offset[[br]]Offset of RM5565 memory * wait[[br]]Waiting time for completion of write * value_type[[br]]Field Type of Value * num_of_elems[[br]]Number of elements * data[[br]]data to write '''Usage''' {{{ record(aao, "RM5565:DEV0:A000:W") { field(DTYP, "aao5565") field(OUT, "#C0 S @0xA000,1.0") field(FTVL, "SHORT") field(NELM, "1") ・ ・ ・ field(VAL, "") } }}} OUT フィールドでカード番号/オフセットを指定する。 [[br]] "C" に続く数字(例では '0')でカード番号を、 "@" に続く数字(例では '0xA000')でオフセットを指定しておく。 [[br]] 指定できるオフセットは 0x0000~である。ちなみに VME版では 0x3000~であり、 PCI版の 0x0000 と VME版の 0x3000 が同じアドレスになる。 [[br]] また、オフセットの指定には 16 進表記以外にも 10 進表記や 8 進表記も使用可能。 {{{ field(OUT, "#C0 S @40960") ... 10 進表記 }}} {{{ field(OUT, "#C0 S @0120000") ... 8 進表記 }}} また、オプションとして書き込み完了待ちの最大時間を秒で指定可能 (例では '1.0')である。 [[br]] 書き込み待ちの処理は PRIO フィールドで指定された General Purpose Callback Task のコンテキストで非同期式デバイスサポート処理として実行され、 drvRM5565_waitOwnData を使用して完了までの待ち処理を行う。 [[br]] もし、最大待ち時間を過ぎても書き込みが完了しなかった (OWN DATA ビットがセットされなかった)場合、 レコードは COMM_ALARM/MINOR_ALARM 状態になる。