Go bindings for eCAL 6 (currently unreleased). Inspired from Blutkoete/golang-ecal.
# Go binding demo
go run .
# Go version of eCAL monitor
go run ./cmd/monitor
- eCAL 6 compatible (unreleased)
- Pure cgo; no SWIG dependency
- Custom C interface implementation
- Direct deserialization from subscriber buffer to Go types
- Rewrite of eCAL monitor using bubbletea
Provides Go interfaces for:
- Core
- Configuration
- Publisher
- Zero Copy
- Subscriber
- Message Types
- Generic
- String
- Protobuf
- Logging
- Services
- Monitoring
- Publisher/Subscribers
- Processes
- Server/Clients
- Registration
- Topic callbacks
Features:
- Show Publishers and Subscribers
- Detailed topic view
- Live message view
- Show Services
- Show Hosts
- Show Processes
- Show eCAL Logs
- Show config
If eCAL is not installed in a default search path or you wish to use a specific
install of eCAL there is a helper CMake project to generate a package_user.go
with the correct cgo
flags.
cmake -S . -B build -DCMAKE_PREFIX_PATH=/path/to/cmake/install
go run .
To help write the C and C++ wrapper use the CMake project to generate a
compile_commands.json
.