EDT PCD SDK Documentation 6.1.0
Changelog

SPDX-License-Identifier: BSD-3-Clause

Copyright (C) 2022 Engineering Design Team, Inc.

6.1.0 - 2024-02-29

Added

  • Windows and Linux installers create a EDT_PCD_DIR or EDT_PDV_DIR environment variable, which edt_home_dir() now looks for. [!168]
  • Open calls (e.g. edt_open_device()) now check if the library and driver versions are compatible. [!181]
    • If the "major" (first) version numbers are different, the edt_open*() calls now return an error.
    • If lesser version numbers are different, a warning log message is emitted and the edt_open*() call succeeds.
  • Example applications are provided pre-built in addition to their source files. [!192]

Changed

  • edt_get_parms_block() returns NULL, instead of BAD_PARMS_BLOCK, if bad flash parameters detected. [!174]

Deprecated

  • BAD_PARMS_BLOCK define. [!174]

Removed

  • edt_flash_read16(), edt_get_id_addrs(), edt_get_flash_file_header() were not implemented. [!174]
  • [Windows] Move "Open in Powershell" shortcut from Start Menu to Desktop, to avoid Windows hiding one if both PCD and PDV are installed. [!190]
  • [Windows] Excess Microsoft UCRT DLLs from package's "bin/" directory. [!190]
  • bitfile_keys.h – functions were not implimented. [!186]

Fixed

  • pciload fallback directory changed from <InstallDir>/flash/ to <InstallDir>/bitfiles/ to match the directory that firmware packages, such as edt_fw_telecom, install bitfiles. [!183]
  • [PDV] VisionLink CLS firmware version string missing from pciload output. [!176]
  • [PDV] pdv_serial_wait() returned msec delay instead of number of serial data bytes. [!177]
  • setdebug memory corruption when attempting to read "todo list". [#139, !182]
  • setdebug trace buffer indexing error. [#213, !182]
  • [PCD] fourp continued to run after failing to open a dummy device. [!182]
  • [PCD] Fix fourp / libocx accepting a non-existing port argument, causing transceiver reconfiguration errors. [!188]
  • [PCD] chkprbs15 data rate calculation in 'speedtest' option was wrong. [!187]
  • Missing extern "C" from various C headers, namely pdv_initcam.h. [!186]
  • [Linux] Kernel 3.10.0 support. Tested against 3.10.0-327.el7.x86_64. [!191]
  • [Windows] Fixed slow access to ring buffer memory. [!193]

6.0.0 - 2023-12-19

Added

Changed

  • All Linux driver code built from source.
  • libtiff statically linked into EDT's Linux libraries.
  • Resolved Linux kernel driver compiler warnings. [!45]
  • Removed flashing IOCTLs. FPGA bitfile flashing implementation is now constrained to the library. [!45]
  • Cleanup clseredt.dll/libclseredt.so. Renamed header from "edt_camlink.h" to "libclseredt.h". [!55]
  • License the Linux driver source as GNU GPL 2.0. Explicitly declare license of user-space libraries and applications as BSD 3-Clause.
  • Linux driver uses modern PCI "probe" / "remove" callbacks for supported devices, instead of manual probing. [!69]
    • New v6.x driver may not detect devices when upgrading from v5.x to v6.x due to old v5.x driver failing to release resources. Simply restart the system and the v6.x driver should be able to probe EDT PCI devices properly.
  • Linux driver adds/removes "/dev" interface files itself, instead of relying on external "edtinit" script. [!69]
  • Applications and libraries in PCD and PDV packages only enumerate and interact with devices they support. [!70]
    • For example, pciload previously used to enumerate and show both PCD and PDV devices, but now pciload from the PCD package will only show PCD-type devices.
  • Cleanup/refactoring example application sources. [!85, !90, !98, !99, !100, !101, !102, !103]
  • PdvDependent is now an opaque pointer. Use pdv_get_*() or pdv_set_*() functions to access data previously directly accessible with this struct. [!115]
  • EdtDev is now an opaque pointer. [!119]
  • Linux driver exposes reserve_pages option as both a module parameter and a SysFS file (/sys/bus/pci/drivers/edt_pci_<pcd|pdv>/reserve_pages) [!144]
    • Sys config file (/etc/sysconfig/edt/reserve_pages) removed.

Deprecated

  • Support for Sun Solaris, VxWorks, and Apple operating systems.
  • Support for Linux kernels older/earlier than v3.10.0.
  • Support for Microsoft Windows older/earlier than Windows 10, build 1507.

Removed

  • Support for building CLI application source code into other applications, using NO_MAIN.
  • FPGA firmware (bitfiles) are no longer included, but will be available as separate packages.
  • [PDV] Remove camera config files for deprecated "AIA" type frame grabbers. Common config files for CameraLink frame grabbers still exist in "./camera_config/" directory. Extra config files provided in "./camera_config/edt_camera_config_extra" archive.
  • [PDV] Support for vlviewer v5.x GUI application.
  • Support for discontinued products. A detailed list is provided in changelog_addendum_v6.0.0.
  • Many IOCTLs unused by EDT code. [!54, !53]
  • Linux driver clear_cache option. [!54]
  • Linux "edtinit" service. [!69]
  • Unused and/or deprecated C headers and library functions. [!77] A detailed list is provided in changelog_addendum_v6.0.0.

Fixed

  • When using a dummy device ("DMY_ID") the value of the nanoseconds field returned by edt_get_timestamp() was in microseconds. [!106]
  • Memory leaks in send_tiffs example. [!151]

Security