What defines a Cask Channel?

In the documentation for Accessing Cask Logs there is a reference to “foo_channel”

from isaac import Cask, Message
cask = Cask('/path/to/log/')

# List all channels recorded
series = cask.channels['foo_channel']:    # Looks for channel named 'foo_channel'
for msg in series:                        # Goes through every messages one by one in recorded order
   print(msg.proto)
   print(msg.uuid)
   print(msg.acqtime)
   print(msg.pubtime)```

However, there is no "channel" property in the cask.Recorder API
  • base_directory [ string ] [default=”/tmp/isaac”]: The base directory used as part of the log directory (see class comment)
  • batch_accumulation_duration [ double ] [default=0.1]: Maximum duration to wait before writing out messages, in seconds
  • tag [ string ] [default=”“]: A tag used as part of the log directory (see class comment)
  • use_compression [ bool ] [default=false]: If enabled compression is used when writing to the log file
  • max_buffer_size_mb [ int ] [default=4096]: If messages can not be written out fast enough they are kept in memory. If more than a certain amount of memory is used no new messages are accepted until all messages are written out to the disk.
  • max_bytes_written_per_tick_mb [ double ] [default=100]: Maximum total size of messages written per tick.
  • min_bytes_per_tick_per_channel_mb [ double ] [default=0.2]: Minimum total size of messages written per tick and channel
  • start_recording_automatically [ bool ] [default=true]: If true, the recording will automatically start when this Codelet starts.

My question is how does the channel get defined?

Hi Mike,

The Cask channel is defined when you connect the codelets, for example app.connect(odometry_interface, "base_state", pose_recorder_component, "pose_message")
Where pose_message is the channel for the cask log.

Hope this helps!

Mike

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.