VizBlocks
VizBlocks.hpp
Go to the documentation of this file.
1 #ifndef VIZBLOCKS_H
2 #define VIZBLOCKS_H
3 #include "Arduino.h"
4 #include "Behaviours.h"
5 #include "ServoBehaviours.h"
6 #include "LEDBehaviours.h"
7 
8 #include <ESP8266WiFi.h>
9 #include "Adafruit_MQTT.h"
10 #include "Adafruit_MQTT_Client.h"
11 
12 #define MQTT_topic "new001"
13 #define NUM_BACKGROUND_BEHAVIOURS 5
14 
17 class VizBlocks
18 {
19  char* _ssid;
20  char* _wifi_pass;
21  char* _id;
22  char* _server;
23  int _port;
24  BehaviourTable _behaviours;
25  Behaviour* _active = nullptr;
27  int _loop_time = 5;
28  Adafruit_MQTT_Client* _mqtt;
29  Adafruit_MQTT_Subscribe* _device_subscription;
30 
31  Adafruit_MQTT_Publish* _announce;
32  Adafruit_MQTT_Publish* _my_announce;
33  String _my_announce_channel;
34 
35  Adafruit_MQTT_Publish* _input;
36  Adafruit_MQTT_Publish* _my_input;
37  String _my_input_channel;
38 
39  WiFiClient* _client;
40  boolean _wifi;
41 
42  String capabilitiesJSON[50];
43 
44 public:
45  VizBlocks(char* id, char* ssid="VizBlocksNet", char* wifi_pass="VizBlocksAP",
46  char* server="172.20.10.8",int port=1883);
50  void command_callback(char *data, uint16_t len);
54  void set_wifi(boolean v);
55 
59  void init();
60 
64  void add(Behaviour *b);
65 
71  void run();
72 
77 
82  void mqtt_command();
83 
89  String process(String input);
93  String input_event(String input);
94 
100  String process_command(String command, String args);
101 
105  // Should be called in the loop function and it will take care if connecting.
106  void MQTT_connect();
114  void announce(String doc);
122  void setID(char* id);
126  char* getId();
127 
128 };
129 
134 #include "CommsBehaviours.h"
135 #include "ButtonBehaviours.h"
136 #include "PotentiometerBehaviours.h"
137 #include "RotaryEncoderBehaviours.h"
138 
139 #endif
BehaviourTable
Definition: Behaviours.hpp:75
VizBlocks::getId
char * getId()
What does this do?
VizBlocks::process_command
String process_command(String command, String args)
VizBlocks::mqtt_command
void mqtt_command()
VizBlocks::MQTT_connect
void MQTT_connect()
VizBlocks::generateCapabilitiesJSON
void generateCapabilitiesJSON()
What does this do?
VizBlocks::input_event
String input_event(String input)
What does this do?
Behaviour
Definition: Behaviours.hpp:9
VizBlocks::init
void init()
VizBlocks::announce
void announce(String doc)
What does this do?
VizBlocks::add
void add(Behaviour *b)
NUM_BACKGROUND_BEHAVIOURS
#define NUM_BACKGROUND_BEHAVIOURS
Definition: VizBlocks.hpp:13
VizBlocks::serial_command
void serial_command()
VizBlocks::command_callback
void command_callback(char *data, uint16_t len)
What does this do?
VizBlocks
Definition: VizBlocks.hpp:18
VizBlocks::set_wifi
void set_wifi(boolean v)
What does this do?
VizBlocks::announce_capabilities
void announce_capabilities()
What does this do?
VizBlocks::VizBlocks
VizBlocks(char *id, char *ssid="VizBlocksNet", char *wifi_pass="VizBlocksAP", char *server="172.20.10.8", int port=1883)
args
char * args() String start(String args) }
VizBlocks::run
void run()
VizBlocks::process
String process(String input)
VizBlocks::setID
void setID(char *id)
What does this do?