Docs menu

Native Components

Relay Panel

A semantic multi-channel logical relay-control interface. PROVEN on the current ESP32-P4 evidence ledger.

#3 — Relay Panel

Relay Panel in the implemented ForgeUI Native Component library.

A semantic multi-channel logical relay-control interface.

  • Relays and contactors
  • Pumps and valves
  • Fans and lights
  • General digital outputs

Inspector capabilities and presentation

  • One to eight stable-ID channels
  • Zero-based bounded channel APIs
  • Optional master control
  • Per-channel labels, states, enabled states and status

The component remains one serialized Canvas object. Browser Preview, Live Studio and Standalone Export consume its normalized semantic model while internal LVGL composition stays private.

Generated Runtime SDK family

c
void FG_Set_<RelayPanel>_Channel(uint32_t channel, bool enabled);
bool FG_Get_<RelayPanel>_Channel(uint32_t channel);
void FG_Set_<RelayPanel>_Channel_Enabled(uint32_t channel, bool enabled);
void FG_Set_<RelayPanel>_All(bool enabled);
void FG_Set_<RelayPanel>_Label(uint32_t channel, const char * label);
void FG_Set_<RelayPanel>_Status(uint32_t channel, const char * text);
void FG_Set_<RelayPanel>_Master(bool enabled);

Interaction and UserEvents

c
void FG_On_<RelayPanel>_Channel_Changed(uint32_t channel, bool enabled);
void FG_On_<RelayPanel>_Master_Changed(bool enabled);

Channel and master hooks fire only for genuine operator interaction. Disabled channels are inert and setters remain silent.

Where hooks exist, implement the exact declarations in 95_UserEvents.c. Runtime SDK calls never simulate user input.

Ownership boundary

ForgeUI owns semantic presentation, private LVGL composition, generated contracts, persisted identity, fixed storage and Browser/Live/Standalone alignment.

Browser, Live, Standalone and ESP32-P4 status

SurfaceStatus
Browser PreviewImplemented
Live StudioImplemented
Standalone ExportImplemented
Persisted identity and duplicate isolationImplemented
ESP32-P4PROVEN