EPICS 7 Recent Developments and Plans

EPICS 7 Recent Developments and Plans
Slide Note
Embed
Share

The latest updates in EPICS 7.0.9, including released features, merged changes, and longer-term development plans. Dive into the details of changes such as improved documentation publication, enhanced shell commands, and flexibility with record aliases. Stay informed about the progress and future direction of EPICS development.

  • EPICS
  • Collaboration
  • Development
  • Software
  • Updates

Uploaded on Apr 13, 2025 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. EPICS Collaboration Meeting 711 April, 2025 Recent Developments and Plans for EPICS 7 Andrew Johnson, for EPICS Core Developers

  2. Outline Outline Released Changes in EPICS 7.0.9 (Feb 2025) Merged Changes already merged onto the 7.0 branch since 7.0.9 Developing Pull requests still pending Longer term plans

  3. RELEASED FEATURES PRESENT IN EPICS 7.0.9

  4. Last 5 EPICS Releases Last 5 EPICS Releases EPICS 7.0.6.1 EPICS 7.0.7 EPICS 7.0.8 EPICS 7.0.8.1 EPICS 7.0.9 6 October 2021 7 September 2022 15 December 2023 27 June 2024 21 February 2025

  5. Changes in EPICS 7.0.9 Changes in EPICS 7.0.9 1/3 1/3 Documentation that gets built from tagged versions of the software is now published on the docs.epics-controls.org website and integrated into main EPICS Documentation site.

  6. Changes in EPICS 7.0.9 Changes in EPICS 7.0.9 2/3 2/3 At build-time, the Base IOC component reference documentation is installed as Markdown in the doc directory, easier for developers to read in a text editor than the original .dbd.podsources When built with GNU Readline the IOC s shell only saves interactive commands to the .iocsh_historyfile now New environment parameter EPICS_ABORT_ON_ASSERT can be set to YESto make programs abort instead of suspending the thread if an assert()call fails (very rare). Doesn t affect cantProceed() and related functions The AMSGalarm string will now propagate through DB output links flagged MSS, and are cleared when the alarm severity is NO_ALARM

  7. Changes in EPICS 7.0.9 Changes in EPICS 7.0.9 3/3 3/3 Record aliases can be set more than once without error as long as they always refer to the same record and dbRecordsOnceOnlyis non-zero While loading database files, records and aliases can be deleted, e.g. record("#","unwanted"){}removes a record named unwanted . This can avoid having to copy and modify a common template The msiprogram searches for included files with relative paths in a way that s more consistent with most command-line utilities GCC builds with _FORTIFY_SOURCE=3now work properly again See the Release Notes from the docs.epics-controls.org website for more details on the above and a few additional minor changes

  8. MERGED FEATURES ON 7.0 BRANCH NOT YET RELEASED

  9. Changes already merged onto the 7.0 branch since 7.0.9 Changes already merged onto the 7.0 branch since 7.0.9 Base no longer builds with MS Visual Studio 2010 or 2012 on Windows, their C++ support is too old (nobody complained when we asked!) initHooks only call each registered hook routine once per hook state CA links with CPor CPPflag now use the IOC s PUTF& RPROmechanism to reprocess a record that s busy when the link gets a monitor event New dbServerStats()API, allows iocStats and similar modules to get the number of clients and channels from all dbServer layers In C++ code, epicsExportAddress(), epicsExportRegistrar()and epicsRegisterFunction()don t extern "C" {}any more CA Reference Manual is moving to read-the-docs, incomplete for now dbgrepcan take a list of fields whose values are printed like dbl

  10. DEVELOPING FUTURE FEATURES

  11. Pull Requests still pending Pull Requests still pending Many PRs still in our queue, some from past Codeathons still need completing and reviewing: Change fdManager subsystem to use poll()instead of select() where available; the ca-gateway and other CA servers using pcas will support more than 1024 simultaneously connected clients & IOCs! Fully support RTEMS-6 on several BSPs; with the libbsd network stack this can talk NFSv3 and NFSv4, and run ntpd for better time-keeping Local iocsh variables with the scope of an iocshLoaded file Support multi-line iocsh commands with back-slash new-line Various other changes

  12. Longer Term Plans Longer Term Plans Developing a road-map for the next major release branch, 7.1 Still no specific timetable for creating this yet, but getting closer Will require C99 and C++11 compilers (GCC 4.8.1 or later) Will not support VxWorks or RTEMS 4.x Will initially add pvxs module to Base alongside the older pvData, pvAccess, pvDatabase & pva2pva modules Plan to drop support for the 3.15 series when 7.1 is released R3.15.9 was released in June 2021, only 20 commits since then Core Developers will meet with Council on Friday to discuss this

  13. Thank You! Questions or Comments? This work is supported in part by the U.S. Department of Energy, Office of Science, Office of Basic Energy Sciences, under Contract No. DE-AC02-06CH11357.

More Related Content