mirror of https://github.com/LaskaKit/ESPlan.git
41 lines
1.4 KiB
C
Executable File
41 lines
1.4 KiB
C
Executable File
#ifndef RL_RELAY_H
|
||
#define RL_RELAY_H
|
||
/*
|
||
* relay.h – Ovladani RS485 rele modulu (8 / 16 kanalu)
|
||
*
|
||
* Vsechny funkce vraci true pri OK odpovedi z modulu. SW stav
|
||
* v RelayState.channels[] se aktualizuje pouze pri OK.
|
||
*/
|
||
|
||
#include "cfg.h"
|
||
#include "mb_client.h"
|
||
|
||
// Open / Close (sepne / rozepne)
|
||
bool relaySet (ModbusClient& mb, RelayState& st, const RelayConfig& cfg,
|
||
uint8_t channel /*1..N*/, bool on);
|
||
|
||
// Toggle (self-locking) – prepne stav
|
||
bool relayToggle (ModbusClient& mb, RelayState& st, const RelayConfig& cfg,
|
||
uint8_t channel);
|
||
|
||
// Latch (inter-locking) – jen tento kanal ON, ostatni OFF
|
||
bool relayLatch (ModbusClient& mb, RelayState& st, const RelayConfig& cfg,
|
||
uint8_t channel);
|
||
|
||
// Momentary (non-locking) – 1s puls
|
||
bool relayMomentary(ModbusClient& mb, RelayState& st, const RelayConfig& cfg,
|
||
uint8_t channel);
|
||
|
||
// Delay – sepne na zadany pocet sekund (0-255), pak automaticky rozepne
|
||
bool relayDelay (ModbusClient& mb, RelayState& st, const RelayConfig& cfg,
|
||
uint8_t channel, uint8_t seconds);
|
||
|
||
// Vsechny kanaly ON / OFF
|
||
bool relayAll (ModbusClient& mb, RelayState& st, const RelayConfig& cfg,
|
||
bool on);
|
||
|
||
// Cteni stavu vsech aktivnich kanalu pres FC03
|
||
bool relayReadAll (ModbusClient& mb, RelayState& st, const RelayConfig& cfg);
|
||
|
||
#endif // RL_RELAY_H
|