Skip to content

DownerCase/ecal-go

Repository files navigation

Go-eCAL

Go bindings for eCAL 6 (currently unreleased). Inspired from Blutkoete/golang-ecal.

Usage

# Go binding demo
go run .

# Go version of eCAL monitor
go run ./cmd/monitor

Features

  • 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

CLI Tools

Monitor

Features:

  • Show Publishers and Subscribers
    • Detailed topic view
    • Live message view
  • Show Services
  • Show Hosts
  • Show Processes
  • Show eCAL Logs
  • Show config

Non-system installations

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 .

Development

To help write the C and C++ wrapper use the CMake project to generate a compile_commands.json.

About

Go bindings for eclipse eCAL

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published