Changes for version 1.4 - 2026-02-24

  • Testing serial with AR488-ESP32-esp32 https://github.com/douardda/AR488-ESP32 which support Prologix command set
  • Fixed a problem with baud rates, revealed by AR488-ESP32: on recent versions of Linx, perl Device::SerialPort does not set the baud rate of a serial USB port properly. It passes the value of the symbolic variables, say B115200 = 0x00001002 to cfsetospeed() and cfsetispeed(), where it should (at least for recent Linux) pass the integer value of the actual baud rate B115200. On linux we now set the correct baud rate directly in the serial port structure which is ugly but necessary.
  • Refactored Prologix.pm so it can use either TCP or Serial transports,in order to support AR488-ESP32 over TCPIP
  • Refactored controller and transport warning() and debug() to all go through Device::GPIB::Controller::warning() and Device::GPIB::Controller::debug() for easy overriding and redirecting.
  • Testing with linux-gpib 4.3.7, some changes required.

Modules

Perl extension to access a variety of generic and specific GPIB devices, via a number of supported GPIB interfaces. Device::GPIB does not do anything specific except to make a place for documentation and as a wrapper for all included modules.
Interface to Prologix GPIB-USB Controller
Interface to devices that implement GPIB-like commands over Serial ports. Available as a superclass to GPIB controllers that use a Serial interface.
Interface to devices that implement GPIB-like commands over TCP ports. Available as a superclass to GPIB controllers that use a TCP interface.

Provides

in lib/Device/GPIB/Advantest/TR4131.pm
in lib/Device/GPIB/Controller.pm
in lib/Device/GPIB/Controllers/LinuxGpib.pm
in lib/Device/GPIB/Generic.pm
in lib/Device/GPIB/HP/HP3456A.pm
in lib/Device/GPIB/HP/HP3577A.pm
in lib/Device/GPIB/HP/HP5342A.pm
in lib/Device/GPIB/HP/HP8904A.pm
in lib/Device/GPIB/Tektronix.pm
in lib/Device/GPIB/Tektronix/AFG310.pm
in lib/Device/GPIB/Tektronix/AFG5101.pm
in lib/Device/GPIB/Tektronix/DC5009.pm
in lib/Device/GPIB/Tektronix/DM5010.pm
in lib/Device/GPIB/Tektronix/DM5110.pm
in lib/Device/GPIB/Tektronix/LA1240.pm
in lib/Device/GPIB/Tektronix/MI5010.pm
in lib/Device/GPIB/Tektronix/PFG5105.pm
in lib/Device/GPIB/Tektronix/PS5010.pm
in lib/Device/GPIB/Tektronix/SI5010.pm
in lib/Device/GPIB/Tektronix/SI5020.pm