{# Rolling frame log — swap target for both the manual Refresh button and the auto-poll trigger. Newest first. #}
No frames captured yet. Anything on the bus will appear here.
{% else %}| Time | Src | Type | Summary | Data | |
|---|---|---|---|---|---|
| {{ f.time_str }} | {{ f.source_alias }} {# Filter-to-this-alias affordance: sets the src filter to this row's alias + triggers the filter form's input event so htmx re-fetches. Kept small + inline so it sits next to the alias without visual noise. #} [only] {% if f.is_us %}us{% endif %} | {{ '%#x' | format(f.frame_type) }} | {{ f.summary }} | {{ f.data_hex or '(empty)' }} | {# Replay: reuses olcbFillFrame() from the send-form preset buttons. data-header/data-body match the preset button convention, so one JS function serves both. #} |