Release Notes 5.x

FrontPanel 5.3.0

The configurations below represent the current build targets for the API, samples, and applications in this release. Many similar configurations are known to work (e.g. Linux Ubuntu, etc) but these are the official distribution targets. 

System Configuration

OSC/C++PYTHONJAVARUBYC#
Windows 7, 8.1, 10, 11MSVS 20193.79YesYes
macOS 10.10+
Intel and Apple Silicon
SDK 10.103.6.5 (homebrew)1.8.01.8.7
Ubuntu 22.04 LTS (64)
Linux 5.15.0-1013
gcc 9.4.03.10.4113.0.0
Ubuntu 20.04 LTS (64)
Linux 5.4.0-28
gcc 9.3.03.8.2112.7.0
CentOS 7.5 (64)
Linux 3.10.0-862
gcc 4.8.53.6.81.8.02.0.0
Raspbian 10.0 (ARM-Raspberry Pi, Buster)
Linux 5.10.103
gcc 6.3.03.5.31.8.02.3.3
Ubuntu 18.04 (ARM-nVidia TX2)
Linux 4.9
gcc 5.4.03.5.21.8.02.3.1

Support Roadmap

Distribution Discontinuation Notices

CentOS 7.5 will be EOL on June 30th, 2024. As a result, no future builds of FrontPanel will be distributed after that time. If you have any questions, please contact Opal Kelly Support.

API Discontinuation Notices

The following methods will be removed in FrontPanel 6.0.

  • okCFrontPanel::IsFrontPanel3Supported
  • okCFrontPanel::EnableAsynchronousTransfers
  • okCFrontPanel::GetHostInterfaceWidth
    • Migrate to:
      • okTDeviceInfo::wireWidth
      • okTDeviceInfo::triggerWidth
      • okTDeviceInfo::pipeWidth
      • okTDeviceInfo::registerAddressWidth
      • okTDeviceInfo::registerDataWidth
  • okCFrontPanel::IsHighSpeed
    • Migrate to okTDeviceInfo::usbSpeed
  • okCFrontPanel::GetBoardModel
    • Migrate to okTDeviceInfo::productID
  • okCFrontPanel::GetDeviceMajorVersion
    • Migrate to okTDeviceInfo::deviceMajorVersion
  • okCFrontPanel::GetDeviceMinorVersion
    • Migrate to okTDeviceInfo::deviceMinorVersion
  • okCFrontPanel::GetSerialNumber
    • Migrate to okTDeviceInfo::serialNumber
  • okCFrontPanel::GetDeviceID
    • Migrate to okTDeviceInfo::deviceID
  • okCFrontPanel::GetDeviceCount
    • OpalKelly::FrontPanelDevices::GetCount
  • okCFrontPanel::GetDeviceListModel
    • Migrate to okTDeviceInfo::productID
  • okCFrontPanel::GetBoardModel
    • Migrate to okTDeviceInfo::productID
  • okCFrontPanel::GetDeviceListSerial
    • Migrate to OpalKelly::FrontPanelDevices::GetSerial()
  • okCFrontPanel::OpenBySerial
    • Migrate to OpalKelly::FrontPanelDevices::Open()

Changelog

FrontPanel 5.3.1 (2024-01-09)

Changelog

  • Add XEM8370-KU11P support
  • Use XDG-compliant location for configuration files under Linux.
  • Add error checking to I2C EEPROM writes.
  • Improve reset profile loading on Linux.
  • Improve device setting window appearing to hang on Linux.
  • Upgrade samples to MSVS 22.
  • Improve handling of maximum and minimum values for digit display and entry XFP controls.
    • Configurable minimum and maximum values.
    • Max value doesn’t need to be in the form of 2^N-1 anymore.
    • Background color of the element changes when an error condition is met.
    • Add tool tip when an error condition is met.
  • Remove max limit of 255 from okSlider.
  • Counters sample XFP now makes fewer noises, and won’t repeat sounds when certain resets are held in the XFP.
  • Remove broken PDF links in the Windows start menu.
  • Add HTML link to docs.opalkelly.com to the Windows start menu.
  • Firmware updater visual updates.
  • Fix several cosmetic problems in dark mode.

FrontPanel 5.3.0 (2023-06-13)

FrontPanel API Changes

  • Important change to pipe timeout handling under Linux: pipe transfers using the specified timeout may take slightly longer in case the timeout actually expires, i.e. the total function execution time is not exactly bounded by the timeout anymore, as the function still performs the required cleanup in this case, unlike before.
  • Recommendation: in case of an error during pipe transfer, it is recommended to close the device as there is no guarantee that the memory used as the transfer buffer can be safely freed until this is done.
  • Fix segmentation fault in Linux when using timeouts a certain way, related to the above change.
  • Python 2 support discontinued.
  • Many EOL software distributions discontinued.

FPoIP Changes

  • Fix minor bug where FrontPanel over IP Client IsFrontPanel3Supported function was incorrectly sending an IsFrontPanelEnabled request to the server.
  • Add HasDeviceSettingsSupport method.
  • Add HasDeviceSensorsSupport method.
  • Increment FPoIP to version 0.20.
  • Add the following methods to the FPoIP API:
    • FlashEraseSector
    • FlashWrite
    • FlashRead
    • ClearFPGAConfiguration
    • ConfigureFPGAFromMemoryWithReset
    • ConfigureFPGAFromFlash
    • SetFPGAResetProfile
    • GetFPGAResetProfile
    • LoadDefaultPLLConfiguration
    • SetPLL22150Configuration
    • GetPLL22150Configuration
    • SetEepromPLL22150Configuration
    • GetEepromPLL22150Configuration
    • GetDeviceSensors
    • The okCDeviceSettings class
    • okTDeviceSensor struct support
  • Update FrontPanel WebAPI with these additions as well: https://github.com/opalkelly-opensource/frontpanel-ws

FrontPanel Sample Changes

  • Revert reset pulse for the RAMTester sample to longer duration for the XEM7350 and XEM7360 only. This is for reliability reasons on older revisions.
  • Add opening and closing default nettype directives for many Opal Kelly sample files.
  • QOL fixes for DESTester.py.
  • Update WebAPI samples Counters and PipeTest to the new frontpanel-ws package version.
  • PipeTest now uses std::chrono for timing transfers. Resolves issue on certain systems where the timer would not be set correctly, causing PipeTest to not run any tests.

Linux Installer QOL Changes

  • Add basic uninstaller on Linux distributions.
  • Add functionality to install.sh to not install share files on non-GUI distributions of
    FrontPanel.
  • FrontPanel launch script on Linux now checks locally for FrontPanel library files.
  • Relevant FrontPanel executables are now copied to /usr/local/bin via install.sh.
  • FrontPanel library files are now copied to /usr/local/lib.
  • Change Linux file permissions so they no longer require chmod before use.

FrontPanel GUI Changes

  • Add icon and shortcut support to Linux Distributions via .desktop file.
  • Add dark mode support for Windows 10/11.
  • Fix an issue with setting an empty device ID from the FrontPanel app. The device ID now displays as “<empty>” if the device ID string is empty, so it may be clicked in the FrontPanel app.
  • Allow pressing “-” to toggle the sign of okDigitEntry XFP elements.
  • Allow pressing “+” to make okDigitEntry XFP elements positive.
  • Clarify tool tip of the “Disable Updates” button in the FrontPanel app.
  • High DPI support in FrontPanel Windows distribution.
  • Update Mac FrontPanel Icons.
  • Improve appearance of the About Box.
  • Various other appearance changes.

FrontPanel 5.2.12 (2023-01-31)

Distribution Discontinuation Notices

Occasionally, we need to sunset support for older distributions. In general, if a targeted operating system or programming language is EOL, it is subject to be discontinued. Below are important notices regarding software and official OS support.

Ubuntu 18.04 (LTS)

Ubuntu 18.04 will be discontinued by April 1, 2023.

Ubuntu 16.04 (LTS)

Ubuntu 16.04 will be discontinued in FrontPanel 5.3.0

CentOS 6.9 and CentOS 8.1

CentOS 6.9 and CentOS 8.1 will be discontinued in FrontPanel 5.3.0.

Ubuntu 14.04 (ARM-Nvidia)

Ubuntu 14.04 (ARM-Nvidia) will be discontinued in FrontPanel 5.3.0.

Raspbian 9.11

Raspbian 9.11 will be discontinued in FrontPanel 5.3.0, and replaced with Raspbian 10.

32-Bit Windows Distributions

32-Bit Windows Distributions of FrontPanel will be discontinued in FrontPanel 5.3.0.

Software Discontinuation Notices

Python 2

Python 2 has been marked EOL since Jan 1, 2020. It will be discontinued in FrontPanel 5.3.0.

OSC/C++PYTHONJAVARUBYC#
Windows 7, 8.1, 10, 11MSVS 20192.7, 3.79YesYes
macOS 10.10+
Intel and Apple Silicon
SDK 10.102.7.2, 3.6.5 (homebrew)1.8.01.8.7
Ubuntu 22.04 LTS (64)
Linux 5.15.0-1013
gcc 9.4.02.7.18, 3.10.4113.0.0
Ubuntu 20.04 LTS (64)
Linux 5.4.0-28
gcc 9.3.02.7.18, 3.8.2112.7.0
Ubuntu 18.04 LTS (64)
Linux 4.15.0-42
gcc 7.4.02.7.15, 3.6.61.8.02.5.1
Ubuntu 16.04 LTS (32/64)
Linux 4.13.0-38
gcc 5.4.02.7.12, 3.5.282.3.1
CentOS 8.0 (64)
Linux 4.18.0-147
gcc 8.3.12.7.16, 3.6.8112.5.5
CentOS 7.0 (64)
Linux 3.10.0-862
gcc 4.8.52.7.5, 3.6.81.8.02.0.0
CentOS 6.9 
Linux 2.6.32-431
gcc 4.4.72.6.61.8.71.7.0
Raspbian 9.0 (ARM-Raspberry Pi)
Linux 4.14.52
gcc 6.3.02.7.13, 3.5.31.8.02.3.3
Ubuntu 14.04 (ARM-Nvidia)
Linux 3.10.40
gcc 4.8.42.7.6, 3.4.31.7.01.9.3
Ubuntu 16.04 (ARM-Nvidia)
Linux 4.4.38
gcc 5.4.02.7.12, 3.5.21.8.02.3.1

Changelog

  • Support new firmware update protocol in FrontPanel. Please note that previous versions of FrontPanel cannot be used for firmware updates any longer since 2023-01-23, and this version or later is required to perform them.
  • Add device support for XEM8320 rev Cxx.
  • Fix a bug with the “FrontPanel Enabled” tooltip in the FrontPanel application.
  • Add the WriteRegister() and ReadRegister() functions to the Lua scripting API.
  • Explicitly constrain DIFF_TERM to FALSE for the 200Mhz clock oscillator in all samples for the XEM7305, XEM7310, XEM7310MT, XEM7320, XEM7350, and XEM7360.

FrontPanel 5.2.11 (2022-10-10)

  • Add Apple Silicon support for FrontPanel Samples.
  • Add XEM8350-KU115 HDL to Linux distributions.

FrontPanel 5.2.10 (2022-09-27)

  • Add XEM8350-KU115 support.
  • Improved recovery behavior for pipe transaction timeouts

FrontPanel 5.2.9 (2022-08-31)

  • Fix Python 3 API support on Apple Silicon.

FrontPanel 5.2.8 (2022-08-23)

  • Add Apple Silicon Support.
  • Add Windows 11 Support.
  • Add XEM7320-A200 FrontPanel HDL.
  • Add support for XEM7350 revision Fxx.
  • All executables, installers, and DLLs are now signed in Windows distributions.
  • Signing certificate file digest updated to SHA-256 in Windows distributions.
  • Known issues:
    • Python 3 API doesn’t function as expected on Apple Silicon. Will be fixed shortly with the release of FrontPanel 5.2.9.

FrontPanel 5.2.7 (2022-07-11)

  • Add Ubuntu 22.04 distribution.
  • Device sensors now update without a bitfile having to be loaded.
  • Add preliminary support for XEM7350 revision Fxx.
  • Add read back feature to Flashloader sample. See the documentation for more info: https://docs.opalkelly.com/fpsdk/samples-and-tools/tool-flashloader/
  • Fix a bug where an extra sector would be erased when using the flash utility in FrontPanel.
  • Fix a bug with the flashloader sample and flash utility in FrontPanel where extra data would be appended to the last transfer when not aligned to 1024 bytes.
  • Set FPGA flash memory’s QE bit in Flashloader sample and FrontPanel flash utility when applicable (XEM8310, XEM8320, and XEM8350).
  • Update samples for XEM8310 and XEM8320 to use DDR4-2400. Visit DDR4 memory page in the documentation for more information.
  • Reorder Configure Device Settings tabs, Device Settings tab is now the default tab instead of Firmware.

FrontPanel 5.2.6 (2022-05-02)

  • Add XEM8310 device support.
  • Add XEM7360 Rev EXX VCCINT device sensor support.
  • Set multi-purpose VREF pins in the XEM7360 and XEM7350 samples Hi-Z when it is not used. See the DDR3 Memory page for either product for more details.

FrontPanel 5.2.5 (2022-02-02)

  • Add XEM8320 device support.
  • Fix issues related to XEM8350 and other USB 3.0 devices configuring flash loaded bitfiles from within FrontPanel.
  • Add functionality to program the XEM8350-KU060’s flash from FrontPanel GUI.
  • Fix an issue with the FPGA Flash sector size on the XEM8350.
  • Fix for Vivado naming conflict with xpm_cdc_async_rst.
  • Add FrontPanel HDL for Vivado 2021.1 and later for applicable XEM products.
    • See https://docs.opalkelly.com/fpsdk/troubleshooting/ for more details.
  • okToggleButton now works for macOS.
  • Add flashloader sample for XEM8320 and XEM8350.
  • Add hasQuadConfigFlash flag to okTDeviceInfo.
  • Known Issues:
    • FrontPanel XFP file updates are not detected on MacOS.

FrontPanel 5.2.4 (2021-07-09)

  • Add low VIO support XEM8350 device setting.
  • Use a background thread for monitoring device connections under Linux.
  • Handle failure to claim USB interface as an error under Linux.
  • Fix harmless Valgrind warnings about using uninitialized memory in FrontPanel library.
  • Known Issues:
    • FrontPanel XFP file updates are not detected on MacOS

FrontPanel 5.2.3 (2020-08-27)

  • Improve performance for opening devices in Linux.
  • Fix a bug preventing use of the --load-profile FrontPanel command line option.
  • Raspbian 8 support discontinued.
  • Known Issues:
    • FrontPanel XFP file updates are not detected on MacOS

FrontPanel 5.2.2 (2020-06-11)

  • Add FPoIP WebAPI Counters and PipeTest samples
  • Add okimpl_fpoip shared object/DLL to the same directory as the FrontPanel GUI to simplify GUI FPoIP use.
  • Known Issues:
    • FrontPanel XFP file updates are not detected on MacOS

FrontPanel 5.2.1 (2020-06-02)

  • Ruby is now a supported language in Windows, please refer to the Programming Languages documentation for details on installing and using the Ruby API.
  • Added a new field to okTDeviceInfo to differentiate between FPGA flash configuration methods.
  • Additional bug fixes and improvements.
  • Updates to the FPoIP server for use with the JavaScript FPoIP WebAPI
  • Known Issues:
    • FrontPanel XFP file updates are not detected on MacOS

FrontPanel 5.2.0 (2020-02-28)

  • The Python 3 API wrapper is now compatible with all Python 3.x versions beyond 3.4.
  • New DeviceInfo fields for determining the FPGA vendor, number of USB interfaces, and whether a USB interface is the primary on a connected module.
  • Rename okFrontPanelDLL.h to just okFrontPanel.h to make naming more consistent across operating systems. Applications may still use okFrontPanelDLL.h, which is still provided for compatibility.
  • FPoIP servers can now communicate with clients based on earlier protocol versions so long as there are no incompatible differences.
  • [Java] Return value of size() method of various collections is now int instead of long, for consistency with the other Java containers.
  • FrontPanel HDL simulation sources now check for valid endpoint addresses.
  • The FrontPanel Android release now includes the correct shared objects.
  • Additional bug fixes and improvements.
  • Known Issues:
    • FrontPanel XFP file updates are not detected on MacOS

FrontPanel 5.1.3 (2020-02-04)

  • Add return values for UpdateWireIns() and UpdateWireOuts()

FrontPanel 5.1.2 (2019-11-19)

  • Resolve bug preventing use of FPoIP Server Side Scripts
  • Allow use of LoadFile in Server Side Scripts from SWIG APIs
  • Add support for reading/writing registers in FPoIP
  • The Read and Write Register functions now return UnsupportedFeature instead of DeviceNotOpen for devices that do not support registers
  • Miscellaneous bug fixes
  • Known Issues:
    • FrontPanel XFP file updates are not detected on MacOS

FrontPanel 5.1.1 (2019-10-10)

  • Addition of FrontPanel XFP Versioning
  • Added GetProfileDirectory function for XFP Lua scripts
  • Support for dark mode on MacOS
  • Resolve bugs preventing firmware updates on Ubuntu 18.04
  • Resolve issues with Linux Ruby API
  • Miscellaneous bug fixes
  • Known Issues:
    • FrontPanel XFP file updates are not detected on MacOS

FrontPanel 5.1.0 (2019-07-08)

  • Addition of FrontPanel XFP Lua scripting enabling more functional XFP designs.
  • Device support for the XEM8350 and XEM7310MT
  • Miscellaneous bug fixes
  • Known Issues:
    • It is not possible to enter an email address in the FrontPanel firmware update window on Ubuntu 18.04
    • FrontPanel XFP file updates are not detected on MacOS

FrontPanel 5.0.2 (2018-07-20)

  • The FPoIP components of the FrontPanel library have been split into a separate library. FPoIP applications must include both libraries to function.
  • A new “prescale” parameter is available for the okDigitEntry FrontPanel XML component.

FrontPanel 5.0.1 (2018-06-13)

  • Firmware updates now supported under Mac OS X.
  • A Doxygen tag file and HTML documentation are now included for all platforms.
  • Resolved a bug that resulted in a crash during firmware updates.

FrontPanel 5.0.0 (2018-05-04)

  • Built using Microsoft Visual Studio 2015. (Visual Studio Runtime here: https://www.microsoft.com/en-us/download/details.aspx?id=48145)
  • Addition of FPoIP allowing to use remote FrontPanel devices.
  • Added Python 3 support for Windows, macOS, and Ubuntu 16.04 LTS.
  • Added support for XEM7320 and XEM7305
  • okCFrontPanelDevices can be used for enumerating and opening the devices.
  • okCFrontPanelManager can be used to be notified about devices connections and disconnections dynamically.
  • Add okCFrontPanel::GetLastErrorMessage() function.
  • Add functions returning FrontPanel version.
  • Known Issues
    • Firmware updates are currently only supported under Windows.