#ifndef BUTTON_BEHAVIOUR_h #define BUTTON_BEHAVIOUR_h #include "Arduino.h" #include "Behaviours.h" #include <VizBlocks.h> class ButtonPressed : public Behaviour { /* * Class that defines a behaviour that publishes a * ButtonPressed message to the input topic of the * MQQT broker */ VizBlocks* _node; public: ButtonPressed(VizBlocks* node, String name = "ButtonPressed") char* args(); String start(String args); } class ButtonReleased : public Behaviour { /* * Class that defines a behaviour that publishes a * ButtonReleased message to the input topic of the * MQQT broker */ VizBlocks* _node; public: ButtonReleased(VizBlocks* node, String name = "ButtonReleased"); char* args() String start(String args) }; class ButtonClicked : public Behaviour { /* * Class that defines a behaviour that publishes a * ButtonClicked message to the input topic of the * MQQT broker */ VizBlocks* _node; public: ButtonClicked(VizBlocks* node, String name = "ButtonClicked"); char* args() String start(String args); }; class ButtonHeld : public Behaviour { /* * Class that defines a behaviour that publishes a * ButtonLongPressed message to the input topic of the * MQQT broker */ VizBlocks* _node; public: ButtonHeld(VizBlocks* node, String name = "ButtonHeld") /** @brief What does this do? */ char* args() { return "<String buttonId>"; }; /** @brief What does this do? */ String start(String args) { //This is where you do your stuff for a simple behaviour String str = "{\"id\":\"" + String(_node->getId()) + "\",\"Input\":{\"type\":\"" + String(name()) + "\",\"button\":\"" + args + "\"}}"; _node->announce(str); return "ButtonHeld behaviour " + _name + " with (" + args + ")"; } }; class ButtonTick : public Behaviour { /* * Class that defines a behaviour that publishes a * ButtonRepeatPressed message to the input topic of the * MQQT broker */ VizBlocks* _node; public: ButtonTick(VizBlocks* node, String name = "ButtonTick") : Behaviour(name), _node(node) { } /** @brief What does this do? */ char* args() { return "<String buttonId>"; }; String start(String args); }; #endif