FindLstn — find devices
#include <gpib/ib.h>
void FindLstn( | board_desc, | |
padList[], | ||
resultList[], | ||
maxNumResults) ; |
int board_desc
;const Addr4882_t padList[]
;Addr4882_t resultList[]
;int maxNumResults
; FindLstn() will check the primary addresses in the padList
array for devices. The GPIB addresses of all devices found will be stored in the
resultList
array, and
ibcnt
will be set to the number
of devices found. The maxNumResults
parameter
limits the maximum number of results that will be returned, and is usually
set to the number of elements in the resultList
array.
If more than maxNumResults
devices are found, an
ETAB error is returned in iberr.
The padList
should consist of primary addresses only,
with no secondary addresses (all possible secondary addresses will be checked
as necessary).
Your GPIB board must have the capability to monitor the NDAC bus line in order to use this function (see iblines).
This function has the additional effect of addressing the board as talker for the duration of the Find Listeners protocol, which is beyond what IEEE 488.2 specifies. This is done because some boards cannot reliably read the state of the NDAC bus line unless they are the talker. Being the talker causes the board's gpib transceiver to configure NDAC as an input, so its state can be reliably read from the bus through the transceiver.