{% extends "base.html" %} {% block title %}OpenLCB node {{ node.alias }}{% endblock %} {% block content %}

OpenLCB node {{ node.alias }}

← back to discovery

Identity

{% include "_openlcb_node_detail.html" %} {# Health-check result target — empty until the button is clicked; the fragment replaces this div in place. #}

Open CDI editor → · View FDI (functions) →

Events

Produced ({{ node.produced_events | length }}) {% if not node.produced_events %}

No produced events cached. Run discover from the main page to broadcast an Identify Events request.

{% else %}
    {% for ev in node.produced_events %}
  • {{ ev }}
  • {% endfor %}
{% endif %} {% if node.produced_ranges %} Produced ranges ({{ node.produced_ranges | length }})
    {% for r in node.produced_ranges %}
  • {{ r[0] }} … {{ r[1] }}
  • {% endfor %}
{% endif %}
Consumed ({{ node.consumed_events | length }}) {% if not node.consumed_events %}

No consumed events cached.

{% else %}
    {% for ev in node.consumed_events %}
  • {{ ev }}
  • {% endfor %}
{% endif %} {% if node.consumed_ranges %} Consumed ranges ({{ node.consumed_ranges | length }})
    {% for r in node.consumed_ranges %}
  • {{ r[0] }} … {{ r[1] }}
  • {% endfor %}
{% endif %}

Firmware upgrade

Push a firmware binary to this node using the OpenLCB S-9.7.4.3 flow. The target reboots into upgrade mode, receives the file, then reboots back into normal operation. Do not interrupt this: a mid-transfer power loss can brick the node unless it ships with a recovery bootloader.

transferring…

PCER activity

Auto-refresh every 3 seconds.
{% include "_openlcb_node_pcer_history.html" %}

Recent frames from this peer

Auto-refresh every 3 seconds. Newest first.
{# Auto-polling wrapper — the fragment endpoint applies the source_alias filter server-side, so this card can't accidentally show frames from a different peer. #}
{% include "_openlcb_node_frames.html" %}
{% endblock %}