2017-07-21 14:35:45 +00:00
|
|
|
#include "mqtt_server.h"
|
|
|
|
|
|
|
|
extern MQTT_Client mqttClient;
|
|
|
|
extern bool mqtt_enabled, mqtt_connected;
|
2017-07-22 20:23:35 +00:00
|
|
|
uint8_t tmp_buffer[128];
|
2017-07-21 14:35:45 +00:00
|
|
|
|
2017-07-22 20:23:35 +00:00
|
|
|
typedef enum {SYNTAX_CHECK, CONFIG, INIT, MQTT_CLIENT_CONNECT, TOPIC_LOCAL, TOPIC_REMOTE, TIMER, CLOCK} Interpreter_Status;
|
2017-07-21 14:35:45 +00:00
|
|
|
typedef enum {STRING_T, DATA_T} Value_Type;
|
|
|
|
|
|
|
|
int text_into_tokens(char *str);
|
|
|
|
void free_tokens(void);
|
|
|
|
bool is_token(int i, char *s);
|
|
|
|
int search_token(int i, char *s);
|
|
|
|
int syntax_error(int i, char *message);
|
|
|
|
|
|
|
|
int parse_statement(int next_token);
|
|
|
|
int parse_event(int next_token, bool *happened);
|
|
|
|
int parse_action(int next_token, bool doit);
|
2017-07-22 17:26:16 +00:00
|
|
|
int parse_expression(int next_token, char **data, int *data_len, Value_Type * data_type, bool doit);
|
2017-07-21 14:35:45 +00:00
|
|
|
int parse_value(int next_token, char **data, int *data_len, Value_Type *data_type);
|
|
|
|
|
|
|
|
extern bool script_enabled;
|
|
|
|
int interpreter_syntax_check();
|
|
|
|
int interpreter_config();
|
|
|
|
int interpreter_init();
|
2017-07-22 20:23:35 +00:00
|
|
|
int interpreter_reconnect(void);
|
2017-07-21 14:35:45 +00:00
|
|
|
int interpreter_topic_received(const char *topic, const char *data, int data_len, bool local);
|
|
|
|
|
|
|
|
void init_timestamps(uint8_t *curr_time);
|
|
|
|
void check_timestamps(uint8_t *curr_time);
|