リフレクティブメモリネットワーク割り込みの受信
intrx レコードタイプと組み合わせて、 Network-Interrupt の受信を行う。
Device Type 名は "intrx5565"
Synopsis
record(intrx, "pv-name") { field(DTYP, "intrx5565") field(SCAN, "I/O Intr") field(INP, "#C<card_number> S<int_type> @") field(SNAM, "<subroutine_name>") }
- card_number
The card number designated in argument card in RM5565Configure
- int_type
Network-Interrupt type
1 ... Type 1 Network-Interrupt
2 ... Type 2 Network-Interrupt
3 ... Type 3 Network-Interrupt
4 ... Type 4 Network-Interrupt - subroutine_name
Network-Interrupt 発生時に呼び出す関数名
Usage
record(intrx, "RM5565:DEV0:INT1:RX") { field(DTYP, "intrx5565") field(SCAN, "I/O Intr") field(INP, "#C0 S1 @") field(SNAM, "int1func") ・ ・ ・ }
INP フィールドでカード番号/Network-Interrupt Type を指定する。
"C" に続く数字 (例では '0') でカード番号を、 "S" に続く数字 (例では '1') で Network-Interrupt Type を指定しておく。
他ノードから自ノードに対して指定した Network-Interrupt が送信されるとレコードがプロセスされる。
その際、下記フィールドには以下の値がセットされる。
Field | セットされる値 |
NID | Network-Interrupt を送信したノードのID |
VAL | Network-Interrupt Data |
また、フィールド SNAM で指定されたサブルーチン(例では int1func)がコールされる。
関数側の記述例は下記の通り。
void int1func(struct intrxRecord *prec) { ・ ・ ・ } epicsRegisterFunction(int1func);
Last modified 18 months ago
Last modified on 11/11/22 15:08:32