This is a Common Lisp wrapper of LCM-C project for message passing and data marshalling.
Most of the code is ported from LCMCore julia repo. with the following differences:
- hash-table used for storing dimensions, types, and, fingerprints.
- callback pass function name and message type as strings.
- LCM is installed
Clone into home/common-lisp directory. Then asdf:test-system "lcm"
- lcm.lisp file was generated using siwg.
- :boolean
- :uint8
- :sint8
- :sint16
- :sint32
- :sint64
- :float32
- :float64
- :string
Then :array (size)
keyword would be added for arrays
(deflcmstruct example_t
(timestamp :sint64)
(position :float64 :array (3)) ;; '(size) or (size)
(orientation :float64 :array '(4))
(num_ranges :sint32)
(ranges :float64 :array (num_ranges))
(name :string)
(enabled :boolean))
See test files
Tested on SBCL 1.4.10
- test publish
- test subscribe
- parse .lcm file
- benchmark
Copyright (c) 2018 Islam Omar ([email protected])
Licensed under the MIT License.