This is an automated email from the ASF dual-hosted git repository. jerpelea pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 87abfcf36f787b0a6c412b97bc34d5e3a8a630b5 Author: raiden00pl <[email protected]> AuthorDate: Thu Aug 20 14:41:10 2026 +0200 boards/sim: add S2OPC server configuration add S2OPC server configuration for sim Assisted-by: Claude Code Signed-off-by: raiden00pl <[email protected]> --- .../platforms/sim/sim/boards/sim/index.rst | 39 +++++++++ boards/sim/sim/sim/configs/s2opc/defconfig | 99 ++++++++++++++++++++++ 2 files changed, 138 insertions(+) diff --git a/Documentation/platforms/sim/sim/boards/sim/index.rst b/Documentation/platforms/sim/sim/boards/sim/index.rst index c11abb6f7c7..2e2ad3d63e2 100644 --- a/Documentation/platforms/sim/sim/boards/sim/index.rst +++ b/Documentation/platforms/sim/sim/boards/sim/index.rst @@ -110,6 +110,45 @@ graphical front-end to GDB: need to start the Cygwin-X server before running ``ddd``. On macOS, it's probably easier to use ``lldb`` instead of ``gdb``. +S2OPC +===== + +The ``sim:s2opc`` configuration provides the S2OPC OPC UA server example. +Build it from the NuttX source directory:: + + $ ./tools/configure.sh -l sim:s2opc + $ make -j + +An out-of-tree CMake build is also supported:: + + $ cmake -B build -DBOARD_CONFIG=sim:s2opc -GNinja + $ cmake --build build + +The simulator attaches its TAP device to a host bridge named ``s2opc0``. +Create the bridge and assign the host address:: + + $ sudo ip link add s2opc0 type bridge + $ sudo ip address add 10.0.0.1/24 dev s2opc0 + $ sudo ip link set s2opc0 up + +Start NuttX with permission to create the TAP device, then start the server:: + + $ ./nuttx + nsh> ping 10.0.0.1 + nsh> s2opc + +From another host terminal, read the standard server time node:: + + $ uaread -u opc.tcp://10.0.0.2:4841 -n i=2258 + +Press Ctrl-C at the NSH terminal to stop the server. After testing, stop +NuttX and remove the bridge:: + + $ sudo ip link delete s2opc0 + +See :doc:`/applications/examples/s2opc/index` for command-line overrides and +:doc:`/applications/netutils/s2opc/index` for toolkit configuration. + Issues ====== diff --git a/boards/sim/sim/sim/configs/s2opc/defconfig b/boards/sim/sim/sim/configs/s2opc/defconfig new file mode 100644 index 00000000000..03ecf7edbf8 --- /dev/null +++ b/boards/sim/sim/sim/configs/s2opc/defconfig @@ -0,0 +1,99 @@ +# +# This file is autogenerated: PLEASE DO NOT EDIT IT. +# +# You can use "make menuconfig" to make any modifications to the installed .config file. +# You can then do "make savedefconfig" to generate a new defconfig file that includes your +# modifications. +# +# CONFIG_NSH_CMDOPT_HEXDUMP is not set +CONFIG_ARCH="sim" +CONFIG_ARCH_BOARD="sim" +CONFIG_ARCH_BOARD_SIM=y +CONFIG_ARCH_CHIP="sim" +CONFIG_ARCH_SIM=y +CONFIG_BOARDCTL_APP_SYMTAB=y +CONFIG_BOARDCTL_POWEROFF=y +CONFIG_BOARD_LOOPSPERMSEC=0 +CONFIG_BOOT_RUNFROMEXTSRAM=y +CONFIG_BUILTIN=y +CONFIG_COVERAGE_ALL=y +CONFIG_COVERAGE_TOOLCHAIN=y +CONFIG_CRYPTO_MBEDTLS=y +CONFIG_DEBUG_ASSERTIONS=y +CONFIG_DEBUG_ASSERTIONS_EXPRESSION=y +CONFIG_DEBUG_FEATURES=y +CONFIG_DEBUG_SYMBOLS=y +CONFIG_DEV_GPIO=y +CONFIG_DEV_LOOP=y +CONFIG_DEV_URANDOM=y +CONFIG_ETC_FATDEVNO=2 +CONFIG_ETC_ROMFS=y +CONFIG_ETC_ROMFSDEVNO=1 +CONFIG_EXAMPLES_GPIO=y +CONFIG_EXAMPLES_HELLO=y +CONFIG_EXAMPLES_S2OPC=y +CONFIG_EXAMPLES_S2OPC_ENDPOINT_URL="opc.tcp://10.0.0.2:4841" +CONFIG_FAT_LCNAMES=y +CONFIG_FAT_LFN=y +CONFIG_FS_BINFS=y +CONFIG_FS_FAT=y +CONFIG_FS_HOSTFS=y +CONFIG_FS_PROCFS=y +CONFIG_FS_RAMMAP=y +CONFIG_FS_ROMFS=y +CONFIG_GPIO_LOWER_HALF=y +CONFIG_HAVE_CXXINITIALIZE=y +CONFIG_IDLETHREAD_STACKSIZE=4096 +CONFIG_INIT_ENTRYPOINT="nsh_main" +CONFIG_IOEXPANDER=y +CONFIG_IOEXPANDER_DUMMY=y +CONFIG_LIBC_ENVPATH=y +CONFIG_LIBC_EXECFUNCS=y +CONFIG_LIBC_LOCALE=y +CONFIG_LIBC_LOCALE_CATALOG=y +CONFIG_LIBC_LOCALE_GETTEXT=y +CONFIG_LIBC_MAX_EXITFUNS=1 +CONFIG_LIBC_NETDB=y +CONFIG_LIBC_NUMBERED_ARGS=y +CONFIG_NDEBUG=y +CONFIG_NET=y +CONFIG_NETUTILS_S2OPC=y +CONFIG_NET_BINDTODEVICE=y +CONFIG_NET_ETH_PKTSIZE=1514 +CONFIG_NET_ICMP_SOCKET=y +CONFIG_NET_LOOPBACK=y +CONFIG_NET_SOCKOPTS=y +CONFIG_NET_TCP=y +CONFIG_NET_TCP_KEEPALIVE=y +CONFIG_NET_UDP=y +CONFIG_NSH_BUILTIN_APPS=y +CONFIG_NSH_FILE_APPS=y +CONFIG_NSH_READLINE=y +CONFIG_PATH_INITIAL="/bin" +CONFIG_PIPES=y +CONFIG_PSEUDOFS_ATTRIBUTES=y +CONFIG_PSEUDOFS_FILE=y +CONFIG_PTHREAD_MUTEX_TYPES=y +CONFIG_READLINE_CMD_HISTORY=y +CONFIG_READLINE_EDIT_EMACS=y +CONFIG_READLINE_TABCOMPLETION=y +CONFIG_RR_INTERVAL=10 +CONFIG_RTC=y +CONFIG_RTC_ARCH=y +CONFIG_RTC_DRIVER=y +CONFIG_SCHED_BACKTRACE=y +CONFIG_SCHED_EVENTS=y +CONFIG_SCHED_HAVE_PARENT=y +CONFIG_SCHED_WAITPID=y +CONFIG_SIM_HOSTFS=y +CONFIG_SIM_NETDEV=y +CONFIG_SIM_NET_BRIDGE=y +CONFIG_SIM_NET_BRIDGE_DEVICE="s2opc0" +CONFIG_SIM_WALLTIME_SIGNAL=y +CONFIG_START_MONTH=6 +CONFIG_START_YEAR=2008 +CONFIG_SYSTEM_DUMPSTACK=y +CONFIG_SYSTEM_GCOV=y +CONFIG_SYSTEM_NSH=y +CONFIG_SYSTEM_PING=y +CONFIG_TESTING_OSTEST=y
