Brendan Chandler 6b866ddc67 Configure Static IP with RTEMS libbsd (#853)
* Add RTEMS libbsd static network config for motload nvram

setBootConfigFromNVRAM() now configures static networking via the
libbsd rtems_bsd_ifconfig() API when building against RTEMS with
libbsd.  It only uses static networking if it can find a configured IP
and netmask from GEV or the mot script boot parameters, otherwise it
falls back to DHCP.

Also note, NTP was part of setBootConfigFromNVRAM() when using legacy
RTEMS networking, but is handled outside this function for LibBSD.  To
preserve the legacy behavior, setBootConfigFromNVRAM() still pulls out
NTP server info, but now stores it in an output parameter for outside
code to use.

* Wait for link to come up when starting RTEMS/libbsd/static IP

When configuring a static IP on RTEMS/libbsd, we need to intentionally
wait for the link to come up before continuing to configure ntp, etc.

* Separate common network setup from BSP specific implementations

All the BSP setBootConfigFromNVRAM() functions ultimately configured
the RTEMS networking the same way.  The common networking code
has been pulled out into a separate function now called from BSP specific
code.

All networking setup is now included and optionally used only
when the BSP sets the field appropriately.

This lets the setBootConfigFromNVRAM functions be independent of the
network stack, just focussing on collecting the configuration from each
BSP as appropriate.

* Fix unused function warnings for functions unused on certain BSPs

* Remove old comments about if MY_BOOTP

* Added release note entry

-- 
Co-authored-by: Brendan Chandler <bchandler@anl.gov>
2026-08-04 17:22:18 -05:00
2025-11-20 14:50:16 -08:00
2026-08-03 16:30:19 -07:00
2026-06-09 20:54:08 -05:00
2026-02-18 10:34:08 -06:00
2024-06-27 22:20:19 -05:00
2025-10-08 09:40:21 -05:00
2017-09-20 14:39:32 +02:00
2025-10-08 09:37:41 -05:00
2026-02-27 13:19:16 +00:00
2026-07-22 20:33:06 +02:00

EPICS Base

EPICS (Experimental Physics and Industrial Control System) is a set of software tools and applications which provide a software infrastructure for use in building distributed control systems to operate devices such as Particle Accelerators, Large Experiments and major Telescopes. EPICS Base is the central core of the control system toolkit. More details can be found at the About page of the official website

Documentation

Community Communication

Quick Install

Download a release from the Downloads page and unpack it. Inside the unpacked folder run:

make

For more information on how to install on your system see the Installation page of the documentation.

Quick run a softIOC

After building, you can run an example soft-IOC (Input/Output Controller) which runs a Channel Access server.

./bin/*/softIoc -x first

Run the dbl command to list the records it provides:

epics> dbl
first:BaseVersion
first:exit
epics>

Contributing

See CONTRIBUTING.md.

License

EPICS Base is distributed subject to a Software License Agreement found in the file LICENSE that is included with this distribution.

S
Description
See the PSI-* branches for releases including our PSI setup and modifications. The branches without PSI prefix are original upstream. https://github.com/epics-base/epics-base.git
Readme
112 MiB
0 Stars 0 Watchers 0 Forks
Languages
C 65.8%
C++ 21.2%
Perl 5.8%
HTML 3.4%
Makefile 1.6%
Other 2.1%