Common use of National Instruments GPIB-1014D Clause in Contracts

National Instruments GPIB-1014D. This is support for a National Instruments VME GPIB interface. The configuration command is: ni1014Config(portNameA,portNameB,base,vector,level,priority,noAutoConnect) where • portNameA - An ascii string specifying the port name that will be registered with asynDriver for portA. • portNameB - An ascii string specifying the port name that will be registered with asynDriver for portB. If only one port should be registered, then leave this as a null string. The support should also work for a single port NI1014 but has not been tested. • base - VME A16 base address. • vector - VME interrupt vector. • level - An integer specifying the interrupt level. • priority - In integer specifying the priority of the portThread. A value of 0 will result in a defalt value being assigned • noAutoConnect - Zero or missing indicates that portThread should automatically connect. Non-zero if explicit connect command must be issued. An example is: ni1014Config("L0","L1",0x5000,0x64,5,0,0) NOTES: • Ports A and B are almost but not quite the same. Thus the code for connecting to port A is slightly different than the code for portB. • In order to disconnect and reconnect either port, BOTH ports must be disconnected and reconnected. • When the ports are connected, portA MUST be connected before port B. • Programmed I/O, via interrupts, rather than DMA is implemented. Thus no A24 address space is required. Configure each instance of the driver in the application startup script: usbtmcConfigure("asynPort", vendorId, productId, "serialNumber", priority, flags) The asynPort and serialNumber arguments are strings and the other arguments are integers. A missing or 0 vendorId or productId matches any value and a missing or empty serialNumber string matches any value. Thus the command: usbtmcConfigure("usbtmc1") National Instruments GPIB-1014D 79 will associate ASYN port usbtmc1 with the first USB TMC device discovered. A missing or 0 priority will set the worker thread priority to its default value of 50 (epicsThreadPriorityMedium). A missing flags argument is taken to be 0. As of now only one bit is used: Bit 0 (0x1) Disable/enable (1/0) automatic port connection. In addition to the asynOctet stream this support module provides some values for records with DTYP=asynInt32. Since the port is a single-address device the subaddress field of the INP or OUT '@asyn()' descriptor can not be used. Instead the 'drvUser' string at the end of the INP or OUT field is used to distinguish the parameter to be read or written. The presence of one or more records with INP="@asyn(port, 0, 0) SRQ") will cause the driver to create an extra thread to read from the device Interrupt-In endpoint. The SCAN field must be "I/O Intr". Record processing will occur when the device sends a service request message on the Interrupt-In endpoint and the value will be the device status byte sent as part of the service request message. Typically the record type will be longin or mbbiDirect. The USBTMC/USB488 device status byte is read by a record with INP="@asyn(port, 0, 0) STB"). Typically the record type will be longin or mbbiDirect. The device remote enable is written by a record with OUT="@asyn(port, 0, 0) REN") Typically the record type will be bo. Linux udev configuration If attempts to communicate with a device result in error messages of the form "Access denied (insufficient permissions)" you must add udev entries to allow access. In the /etc/udev/rules.d directory create a file, 55-usbtmc.rules for example, with a line for each device of interest. To allow everyone in the "usbtmc" group access to a device with vendor code 1BFA (hexadecimal) and product code 0498 (hexadecimal) the line would look like: SUBSYSTEM=="usb", ATTRS{idVendor}=="1BFA", ATTRS{idProduct}=="0498", GROUP="usbtmc", MODE="0660" To allow everyone access the line would look like: SUBSYSTEM=="usb", ATTRS{idVendor}=="1BFA", ATTRS{idProduct}=="0498", MODE="0666" 80 USB TMC (Test and Measurement Class) driver The {idVendor} and {idProduct} values must match those of the device with which you wish to communicate.

Appears in 2 contracts

Sources: License Agreement, License Agreement

National Instruments GPIB-1014D. This is support for a National Instruments VME GPIB interface. The configuration command is: ni1014Config(portNameA,portNameB,base,vector,level,priority,noAutoConnect) where • portNameA - An ascii string specifying the port name that will be registered with asynDriver for portA. • portNameB - An ascii string specifying the port name that will be registered with asynDriver for portB. If only one port should be registered, then leave this as a null string. The support should also work for a single port NI1014 but has not been tested. • base - VME A16 base address. • vector - VME interrupt vector. • level - An integer specifying the interrupt level. • priority - In integer specifying the priority of the portThread. A value of 0 will result in a defalt value being assigned • noAutoConnect - Zero or missing indicates that portThread should automatically connect. Non-zero if explicit connect command must be issued. An example is: ni1014Config("L0","L1",0x5000,0x64,5,0,0) NOTES: • Ports A and B are almost but not quite the same. Thus the code for connecting to port A is slightly different than the code for portB. • In order to disconnect and reconnect either port, BOTH ports must be disconnected and reconnected. • When the ports are connected, portA MUST be connected before port B. • Programmed I/O, via interrupts, rather than DMA is implemented. Thus no A24 address space is required. Configure each instance of the driver in the application startup script: usbtmcConfigure("asynPort", vendorId, productId, "serialNumber", priority, flags) The asynPort and serialNumber arguments are strings and the other arguments are integers. A missing or 0 vendorId or productId matches any value and a missing or empty serialNumber string matches any value. Thus the command: usbtmcConfigure("usbtmc1") National Instruments GPIB-1014D 79 will associate ASYN port usbtmc1 with the first USB TMC device discovered. A missing or 0 priority will set the worker thread priority to its default value of 50 (epicsThreadPriorityMedium). A missing flags argument is taken to be 0. As of now only one bit is used: Bit 0 (0x1) Disable/enable (1/0) automatic port connection. In addition to the asynOctet stream this support module provides some values for records with DTYP=asynInt32. Since the port is a single-address device the subaddress field of the INP or OUT '@asyn()' descriptor can not be used. Instead the 'drvUser' string at the end of the INP or OUT field is used to distinguish the parameter to be read or written. The presence of one or more records with INP="@asyn(port, 0, 0) SRQ") will cause the driver to create an extra thread to read from the device Interrupt-In endpoint. The SCAN field must be "I/O Intr". Record processing will occur when the device sends a service request message on the Interrupt-In endpoint and the value will be the device status byte sent as part of the service request message. Typically the record type will be longin or mbbiDirect. The USBTMC/USB488 device status byte is read by a record with INP="@asyn(port, 0, 0) STB"). Typically the record type will be longin or mbbiDirect. The device remote enable is written by a record with OUT="@asyn(port, 0, 0) REN") Typically the record type will be bo. Linux udev configuration If attempts to communicate with a device result in error messages of the form "Access denied (insufficient permissions)" you must add udev entries to allow access. In the /etc/udev/rules.d directory create a file, 55-usbtmc.rules for example, with a line for each device of interest. To allow everyone in the "usbtmc" group access to a device with vendor code 1BFA (hexadecimal) and product code 0498 (hexadecimal) the line would look like: SUBSYSTEM=="usb", ATTRS{idVendor}=="1BFA", ATTRS{idProduct}=="0498", GROUP="usbtmc", MODE="0660" To allow everyone access the line would look like: SUBSYSTEM=="usb", ATTRS{idVendor}=="1BFA", ATTRS{idProduct}=="0498", MODE="0666" 80 USB TMC (Test and Measurement Class) driver The {idVendor} and {idProduct} values must match those of the device with which you wish to communicate.

Appears in 1 contract

Sources: License Agreement

National Instruments GPIB-1014D. This is support for a National Instruments VME GPIB interface. The configuration command is: ni1014Config(portNameA,portNameB,base,vector,level,priority,noAutoConnect) where Green Springs IP488 79 • portNameA - An ascii string specifying the port name that will be registered with asynDriver for portA. • portNameB - An ascii string specifying the port name that will be registered with asynDriver for portB. If only one port should be registered, then leave this as a null string. The support should also work for a single port NI1014 but has not been tested. • base - VME A16 base address. • vector - VME interrupt vector. • level - An integer specifying the interrupt level. • priority - In integer specifying the priority of the portThread. A value of 0 will result in a defalt value being assigned • noAutoConnect - Zero or missing indicates that portThread should automatically connect. Non-zero if explicit connect command must be issued. An example is: ni1014Config("L0","L1",0x5000,0x64,5,0,0) NOTES: • Ports A and B are almost but not quite the same. Thus the code for connecting to port A is slightly different than the code for portB. • In order to disconnect and reconnect either port, BOTH ports must be disconnected and reconnected. • When the ports are connected, portA MUST be connected before port B. • Programmed I/O, via interrupts, rather than DMA is implemented. Thus no A24 address space is required. Configure each instance of the driver in the application startup script: usbtmcConfigure("asynPort", vendorId, productId, "serialNumber", priority, flags) The asynPort and serialNumber arguments are strings and the other arguments are integers. A missing or 0 vendorId or productId matches any value and a missing or empty serialNumber string matches any value. Thus the command: usbtmcConfigure("usbtmc1") National Instruments GPIB-1014D 79 will associate ASYN port usbtmc1 with the first USB TMC device discovered. A missing or 0 priority will set the worker thread priority to its default value of 50 (epicsThreadPriorityMedium). A missing flags argument is taken to be 0. As of now only one bit is used: Bit 0 (0x1) Disable/enable (1/0) automatic port connection. 80 National Instruments GPIB-1014D In addition to the asynOctet stream this support module provides some values for records with DTYP=asynInt32. Since the port is a single-address device the subaddress field of the INP or OUT '@asyn()' descriptor can not be used. Instead the 'drvUser' string at the end of the INP or OUT field is used to distinguish the parameter to be read or written. The presence of one or more records with INP="@asyn(port, 0, 0) SRQ") will cause the driver to create an extra thread to read from the device Interrupt-In endpoint. The SCAN field must be "I/O Intr". Record processing will occur when the device sends a service request message on the Interrupt-In endpoint and the value will be the device status byte sent as part of the service request message. Typically the record type will be longin or mbbiDirect. The USBTMC/USB488 device status byte is read by a record with INP="@asyn(port, 0, 0) STB"). Typically the record type will be longin or mbbiDirect. The device remote enable is written by a record with OUT="@asyn(port, 0, 0) REN") Typically the record type will be bo. Linux udev configuration If attempts to communicate with a device result in error messages of the form "Access denied (insufficient permissions)" you must add udev entries to allow access. In the /etc/udev/rules.d directory create a file, 55-usbtmc.rules for example, with a line for each device of interest. To allow everyone in the "usbtmc" group access to a device with vendor code 1BFA (hexadecimal) and product code 0498 (hexadecimal) the line would look like: SUBSYSTEM=="usb", ATTRS{idVendor}=="1BFA", ATTRS{idProduct}=="0498", GROUP="usbtmc", MODE="0660" To allow everyone access the line would look like: SUBSYSTEM=="usb", ATTRS{idVendor}=="1BFA", ATTRS{idProduct}=="0498", MODE="0666" 80 USB TMC (Test and Measurement Class) driver The {idVendor} and {idProduct} values must match those of the device with which you wish to communicate.

Appears in 1 contract

Sources: License Agreement