1
0
mirror of https://github.com/esphome/esphome.git synced 2025-11-19 08:15:49 +00:00
This commit is contained in:
J. Nick Koston
2025-11-08 23:21:57 -06:00
parent 0341e4baba
commit db8b96f257

View File

@@ -44,11 +44,11 @@ template<typename... Ts> class RawAction : public RemoteTransmitterActionBase<Ts
public: public:
void set_code_template(RawTimings (*func)(Ts...)) { void set_code_template(RawTimings (*func)(Ts...)) {
this->code_.func = func; this->code_.func = func;
this->len_ = -1; this->len_ = -1; // Sentinel value indicates template mode
} }
void set_code_static(const int32_t *code, size_t len) { void set_code_static(const int32_t *code, size_t len) {
this->code_.data = code; this->code_.data = code;
this->len_ = len; this->len_ = len; // Length >= 0 indicates static mode
} }
TEMPLATABLE_VALUE(uint32_t, carrier_frequency); TEMPLATABLE_VALUE(uint32_t, carrier_frequency);
@@ -69,7 +69,7 @@ template<typename... Ts> class RawAction : public RemoteTransmitterActionBase<Ts
} }
protected: protected:
ssize_t len_{-1}; ssize_t len_{-1}; // -1 = template mode, >=0 = static mode with length
union Code { union Code {
RawTimings (*func)(Ts...); RawTimings (*func)(Ts...);
const int32_t *data; const int32_t *data;