Skip to content

DownerCase/ecal-go

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3c65eb6 · Dec 16, 2024

History

40 Commits
Dec 9, 2024
Dec 16, 2024
Dec 16, 2024
Dec 16, 2024
Dec 16, 2024
Dec 3, 2024
Nov 14, 2024
Nov 22, 2024
Dec 16, 2024
Dec 16, 2024
Dec 4, 2024
Oct 26, 2024
Dec 9, 2024
Dec 16, 2024
Dec 16, 2024
Dec 16, 2024
Dec 16, 2024

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