From 9996124c5437ac6f28da23d1da5296cef3b7e085 Mon Sep 17 00:00:00 2001 From: Michiel van Turnhout Date: Wed, 7 Aug 2019 11:58:33 +0200 Subject: [PATCH] updates for canbus triggers --- esphome/components/canbus/automation.h | 30 +++++++++++++++++++------- esphome/components/canbus/canbus.h | 12 ----------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/esphome/components/canbus/automation.h b/esphome/components/canbus/automation.h index 8d0e0aada3..07f5740f0a 100644 --- a/esphome/components/canbus/automation.h +++ b/esphome/components/canbus/automation.h @@ -1,16 +1,18 @@ #pragma once -#include "esphome/core/component.h" -#include "esphome/core/automation.h" #include "esphome/components/canbus/canbus.h" +#include "esphome/core/automation.h" +#include "esphome/core/component.h" #include "esphome/core/log.h" namespace esphome { namespace canbus { -template class CanbusSendAction : public Action, public Parented { - public: - void set_data_template(const std::function(Ts...)> func) { +template +class CanbusSendAction : public Action, public Parented { +public: + void + set_data_template(const std::function(Ts...)> func) { this->data_func_ = func; this->static_ = false; } @@ -30,12 +32,24 @@ template class CanbusSendAction : public Action, public P } } - protected: +protected: uint32_t can_id_; bool static_{false}; std::function(Ts...)> data_func_{}; std::vector data_static_{}; }; -} // namespace canbus -} // namespace esphome +class CanbusTrigger : public Trigger, public Component { +public: + explicit CanbusTrigger(const std::uint32_t &can_id); + + void setup() override; + void dump_config() override; + float get_setup_priority() const override; + +protected: + uint32_t can_id_; +}; + +} // namespace canbus +} // namespace esphome diff --git a/esphome/components/canbus/canbus.h b/esphome/components/canbus/canbus.h index 76831fe060..b1bb1f45ca 100644 --- a/esphome/components/canbus/canbus.h +++ b/esphome/components/canbus/canbus.h @@ -74,17 +74,5 @@ class Canbus : public Component { virtual ERROR send_message_(const struct can_frame *frame); }; -class CanbusTrigger : public Trigger, public Component { - public: - explicit CanbusTrigger(const std::uint32_t &can_id); - - void setup() override; - void dump_config() override; - float get_setup_priority() const override; - - protected: - uint32_t can_id_; -}; - } // namespace canbus } // namespace esphome \ No newline at end of file