Linux-GPIB 4.3.7 Documentation
Prev |  | Next

# ibconfig

## Name

ibconfig -- change configuration (board or device)

## Synopsis

    #include <gpib/ib.h>

``int ibconfig`(int ud, int option, int setting);`

## Description

Changes various configuration settings associated with the board or device descriptor `ud`. The `option` argument specifies the particular setting you wish to modify. The `setting` argument specifies the option's new configuration. To query the descriptor's configuration, see ibask().

Table 1. ibconfig options

option | value (hexadecimal) | effect | used for board/device
--- | --- | --- | ---
IbcPAD | 0x1 | Sets GPIB primary address. Same as ibpad() | board or device
IbcSAD | 0x2 | Sets GPIB secondary address. Same as ibsad() | board or device
IbcTMO | 0x3 | Sets timeout for io operations. Same as ibmto(). | board or device
IbcEOT | 0x4 | If setting is nonzero, EOI is asserted with last byte on writes. Same as ibeot(). |
IbcPPC | 0x5 | Sets parallel poll configuration. Same as ibppc(). | board
IbcREADDR | 0x6 | Not implemented, included for compatibility only. Device ibrd* and ibwrt* calls always re-address. To avoid re-addressing use an initial device read or write followed by board read or writes to the controlling minor, ensuring no other intervening device access occurs. | device
IbcAUTOPOLL | 0x7 | If setting is nonzero then automatic serial polling is enabled. | board
IbcCICPROT | 0x8 | Useless, included for compatibility only. | board
IbcSC | 0xa | If setting is nonzero, board becomes system controller. Same as ibrsc(). | board
IbcSRE | 0xb | If setting is nonzero then board asserts REN when it becomes sytem controller otherwise REN is not asserted. It is nonzero by default. See ibrsc(). | board
IbcEOSrd | 0xc | If setting is nonzero then reads are terminated on reception of the end-of-string character. See ibeos(), in particular the REOS bit. | board or device
IbcEOSwrt | 0xd | If setting is nonzero then EOI is asserted whenever the end-of-string character is sent. See ibeos(), in particular the XEOS bit. | board or device
IbcEOScmp | 0xe | If setting is nonzero then all 8 bits are used to match the end-of-string character. Otherwise only the least significant 7 bits are used. See ibeos(), in particular the BIN bit. | board or device
IbcEOSchar | 0xf | Sets the end-of-string byte. See ibeos(). | board or device

IbcPP2

0x10

If setting is nonzero then the board is put into local parallel poll configure mode (IEEE 488.1 PP2 subset), and will not change its parallel poll configuration in response to receiving 'parallel poll enable' command bytes from the controller-in-charge. Instead, the parallel poll configuration is set locally by doing a board-level call of ibppc(). A zero value puts the board in remote parallel poll configure mode (IEEE 488.1 PP1 subset). IEEE 488.2 requires devices to support the remote PP1 subset and not the local PP2 subset. Some older hardware does not support local parallel poll configure mode.

board

IbcTIMING | 0x11 | Sets the T1 delay. Use setting of 1 for 2 microseconds, 2 for 500 nanoseconds, or 3 for 350 nanoseconds. These values are declared in the header files as the constants T1_DELAY_2000ns, T1_DELAY_500ns, and T1_DELAY_350ns. A 2 microsecond T1 delay is safest, but will limit maximum transfer speeds to a few hundred kilobytes per second. | board
IbcReadAdjust | 0x13 | If setting is nonzero then byte pairs are automatically swapped during reads. Presently, this feature is unimplemented. | board or device
IbcWriteAdjust | 0x14 | If setting is nonzero then byte pairs are automatically swapped during writes. Presently, this feature is unimplemented. | board or device
IbcEventQueue | 0x15 | If setting is nonzero then the event queue is enabled. The event queue is disabled by default. | board
IbcSPollBit | 0x16 | If the setting is nonzero then the use of the SPOLL bit in ibsta is enabled. | board
IbcSendLLO | 0x17 | If the setting is nonzero then devices connected to this board are automatically put into local lockout mode when brought online with ibfind() or ibdev(). | board
IbcSPollTime | 0x18 | Sets timeout for serial polls. The setting must be between 0 and 17, which correspond to the same time periods as in ibtmo(). | device
IbcPPollTime | 0x19 | Sets timeout for parallel polls. The setting must be between 0 and 17, which correspond to the same time periods as in ibtmo(). | board
IbcEndBitIsNormal | 0x1a | If setting is nonzero then the END bit of ibsta is set on reception of the end-of-string character or EOI (default). Otherwise END bit is only set on EOI. | board or device
IbcUnAddr | 0x1b | If setting is nonzero then UNT (untalk) and UNL (unlisten) commands are automatically sent after a completed ibrd* or ibwrt* operation using this descriptor. | device

IbcHSCableLength

0x1f

Configures the total cable length in meters for your system, by sending the command bytes CFE and CFGn. This is required to enable high speed noninterlocked handshaking (a.k.a. HS488) and set associated handshake timings. Valid `setting` values are 0 through 15. A value of zero disables noninterlocked handshaking, otherwise the value is the total number of meters of cable.

board

IbcIst | 0x20 | Sets the individual status bit, a.k.a. 'ist'. Same as ibist(). | board
IbcRsv | 0x21 | Sets the current status byte this board will use to respond to serial polls. Same as ibrsv(). | board
IbcBNA | 0x200 | Changes the GPIB interface board used to access a device. The setting specifies the board index of the new access board. This configuration option is similar to ibbna() except the new board is specified by its board index instead of a name. | device

## Return value

The value of ibsta is returned.

Prev | Home | Next
ibcmda | Up | ibdev