atMb — documented working library

Start with library/atMb-Documented.export: comments-only documentation of your working CmpAtomModbus export, retaining its embedded C library object. It uses ClientTCP, matching the uploaded working interface.

Read docs/USER-GUIDE.md for setup and examples and docs/API-REFERENCE.md for all 95 code objects, parameters, outputs, methods and properties. docs/DOCUMENTATION-VALIDATION.md records code/payload preservation checks. reference/Working-CmpAtomModbus.export is the exact uploaded original.

The earlier development export and generator are retained for source history. library/build_native_export.py generates the earlier migration export; it does not generate or supersede the newly documented working export. Do not overwrite working IDE changes by regenerating that migration export. The documentation adds no C changes; the source-to-uploaded-binary match remains unverified.

The rest of the source/build kit remains below.

atMb — native Modbus for CODESYS

Git-ready source snapshot, revision 0.9.1. Public namespace atMb. C implementation supports TCP client, RTU client and TCP slave; IEC code has no ModbusFB dependency. Online-change support remains future work.

Files

  • component-source/: C engine, CODESYS component frame/interface and host tests.
  • ExtensionSDK/: supplied SDK used by the component build.
  • library/atMb-Native.export: corrected IEC import; includes public status declarations.
  • library/atMb-Native-Review.st: readable generated IEC source.
  • library/build_native_export.py: reproducible export generator.
  • reference/CmpAtomModbus-AllInOne.export: required generator baseline, not the final import.
  • artifacts/arm64/: your uploaded shared object and precompile cache, preserved unchanged.
  • docs/BUILD-AND-USAGE.md: import, deployment, API, diagnostics and limitations.
  • SHA256SUMS.txt: snapshot file checksums.

Build and test on the Pi

sudo apt install build-essential m4 dos2unix python3
make -C component-source/component SDKDIR="$(realpath ExtensionSDK)" clean
make -C component-source/component SDKDIR="$(realpath ExtensionSDK)" all
make -C component-source test

Build natively for each Linux target architecture; the uploaded ARM64 .so cannot run on ARM32 or x86-64. Runtime/SDK compatibility must also be checked for each CODESYS target. The host tests exercise protocol code independently of the CODESYS runtime.

IEC export

python3 library/build_native_export.py

Import library/atMb-Native.export into a fresh CODESYS library project, namespace atMb, and embed the newly built .so in a C Implemented Library object. See the full instructions in docs/BUILD-AND-USAGE.md. The export is source, not a compiled .library. The supplied precompile cache is an opaque reference artifact and is not a substitute for the library project.

Your uploaded .so is ARM64 and contains RTU/server symbols. Its exact match to this source snapshot and its operation in the runtime have not been verified; rebuild from source before making a release. The older development instructions say no prebuilt binary is included: that applies to the earlier kit; this repo snapshot adds your uploaded binary under artifacts/arm64/.

Start a repository

cd atMb-repo
git init
git add .
git commit -m "Initial atMb native Modbus source"

No Git history or remote is included. The SDK and baseline came from supplied files; review their redistribution terms before publishing a public repository. No new license is assigned by this snapshot.

S
Description
No description provided
Readme
8.8 MiB
Languages
M4 53%
C 28%
C++ 10%
Python 6%
Makefile 3%