Scroll to navigation

IBCONFIG(3) Traditional API Functions IBCONFIG(3)

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 6. 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.

COPYRIGHT

Copyright © 2003-2006, 2008 Frank Mori Hess

11/28/2025 linux-gpib 4.3.7