Skip to content

Commit

Permalink
A few bugs have been fixed
Browse files Browse the repository at this point in the history
  • Loading branch information
homewsn committed Jul 4, 2015
1 parent c09d936 commit bda5f47
Show file tree
Hide file tree
Showing 20 changed files with 259 additions and 92 deletions.
8 changes: 4 additions & 4 deletions src/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,13 @@
//#define SSL_LIBRARY_HEADERS // TLS library headers

// sensor and MySQL support
#define SENSOR_DATA // automatic decoding of the MQTT-SN message payload from the sensors
#define SENSOR_DATA_MYSQL // storing decoded data from the sensors in the MySQL database (see parse_mqttsn_topic_name_to_mysql_query in sensor_data.c)
//#define SENSOR_DATA // automatic decoding of the MQTT-SN message payload from the sensors
//#define SENSOR_DATA_MYSQL // storing decoded data from the sensors in the MySQL database (see parse_mqttsn_topic_name_to_mysql_query in sensor_data.c)
//#define MQTT_DATA_MYSQL // storing payload from the specific MQTT topics in the MySQL database (see parse_mqtt_topic_name_to_mysql_query in sensor_data.c)

// assert() and detailed log messages support
//#define NDEBUG // disable assert()
//#define NDPRINTF // disable detailed log messages
#define NDEBUG // disable assert()
#define NDPRINTF // disable detailed log messages

// rules engine support
//#define RULES_ENGINE
Expand Down
2 changes: 1 addition & 1 deletion src/cron_trigger.c
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ unsigned int flag_starting_jobs(cron_line_t *cl)
}

//--------------------------------------------
cron_trigger_t *cron_trigger_add_new(cron_trigger_t **list, const char *str, size_t next_id)
cron_trigger_t *cron_trigger_add_new(cron_trigger_t **list, const char *str, uint32_t next_id)
{
cron_trigger_t *item;

Expand Down
4 changes: 2 additions & 2 deletions src/cron_trigger.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,12 +49,12 @@ typedef struct cron_trigger
{
list_t next;
cron_line_t cl;
size_t next_id;
uint32_t next_id;
} cron_trigger_t;

unsigned int flag_starting_jobs(cron_line_t *cl);

cron_trigger_t *cron_trigger_add_new(cron_trigger_t **list, const char *str, size_t next_id);
cron_trigger_t *cron_trigger_add_new(cron_trigger_t **list, const char *str, uint32_t next_id);
#define cron_trigger_head(a) (cron_trigger_t *)list_head((list_t **)a)
#define cron_trigger_next(a) (cron_trigger_t *)list_next((list_t *)a)
void cron_trigger_remove_all(cron_trigger_t **list);
Expand Down
2 changes: 1 addition & 1 deletion src/mqtt_trigger.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@


//--------------------------------------------
mqtt_trigger_t *mqtt_trigger_add_new(mqtt_trigger_t **list, const char *name, size_t next_id)
mqtt_trigger_t *mqtt_trigger_add_new(mqtt_trigger_t **list, const char *name, uint32_t next_id)
{
mqtt_trigger_t *item;

Expand Down
4 changes: 2 additions & 2 deletions src/mqtt_trigger.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ typedef struct mqtt_trigger
list_t next;
uint8_t *name;
uint16_t name_len;
size_t next_id;
uint32_t next_id;
} mqtt_trigger_t;

mqtt_trigger_t *mqtt_trigger_add_new(mqtt_trigger_t **list, const char *name, size_t next_id);
mqtt_trigger_t *mqtt_trigger_add_new(mqtt_trigger_t **list, const char *name, uint32_t next_id);
#define mqtt_trigger_head(a) (mqtt_trigger_t *)list_head((list_t **)a)
#define mqtt_trigger_next(a) (mqtt_trigger_t *)list_next((list_t *)a)
void mqtt_trigger_remove_all(mqtt_trigger_t **list);
Expand Down
32 changes: 28 additions & 4 deletions src/msg_mqtt_mysql.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,10 +99,10 @@ void msg_mqtt_mysql_add_utf8str_data(uint32_t id, uint32_t param, char *utf8str_
}

//--------------------------------------------
void msg_mqtt_mysql_update_param_unit(uint32_t id, uint32_t param, char *utf8str_data)
void msg_mqtt_mysql_update_sensor_param_unit(uint32_t id, uint32_t param, char *utf8str_data)
{
msg_mqtt_mysql_t *ms = msg_mqtt_mysql_new();
ms->type = MYSQL_UPDATE_PARAM_UNIT;
ms->type = MYSQL_UPDATE_SENSOR_PARAM_UNIT;
ms->msg_mysql = (void *)malloc(sizeof(msg_mysql_add_param_utf8str_t));
((msg_mysql_add_param_utf8str_t *)(ms->msg_mysql))->id = id;
((msg_mysql_add_param_utf8str_t *)(ms->msg_mysql))->param = param;
Expand All @@ -111,10 +111,34 @@ void msg_mqtt_mysql_update_param_unit(uint32_t id, uint32_t param, char *utf8str
}

//--------------------------------------------
void msg_mqtt_mysql_update_param_type(uint32_t id, uint32_t param, char *utf8str_data)
void msg_mqtt_mysql_update_actuator_param_unit(uint32_t id, uint32_t param, char *utf8str_data)
{
msg_mqtt_mysql_t *ms = msg_mqtt_mysql_new();
ms->type = MYSQL_UPDATE_PARAM_TYPE;
ms->type = MYSQL_UPDATE_ACTUATOR_PARAM_UNIT;
ms->msg_mysql = (void *)malloc(sizeof(msg_mysql_add_param_utf8str_t));
((msg_mysql_add_param_utf8str_t *)(ms->msg_mysql))->id = id;
((msg_mysql_add_param_utf8str_t *)(ms->msg_mysql))->param = param;
((msg_mysql_add_param_utf8str_t *)(ms->msg_mysql))->utf8str_data = utf8str_data;
msg_mqtt_mysql_add(ms);
}

//--------------------------------------------
void msg_mqtt_mysql_update_sensor_param_type(uint32_t id, uint32_t param, char *utf8str_data)
{
msg_mqtt_mysql_t *ms = msg_mqtt_mysql_new();
ms->type = MYSQL_UPDATE_SENSOR_PARAM_TYPE;
ms->msg_mysql = (void *)malloc(sizeof(msg_mysql_add_param_utf8str_t));
((msg_mysql_add_param_utf8str_t *)(ms->msg_mysql))->id = id;
((msg_mysql_add_param_utf8str_t *)(ms->msg_mysql))->param = param;
((msg_mysql_add_param_utf8str_t *)(ms->msg_mysql))->utf8str_data = utf8str_data;
msg_mqtt_mysql_add(ms);
}

//--------------------------------------------
void msg_mqtt_mysql_update_actuator_param_type(uint32_t id, uint32_t param, char *utf8str_data)
{
msg_mqtt_mysql_t *ms = msg_mqtt_mysql_new();
ms->type = MYSQL_UPDATE_ACTUATOR_PARAM_TYPE;
ms->msg_mysql = (void *)malloc(sizeof(msg_mysql_add_param_utf8str_t));
((msg_mysql_add_param_utf8str_t *)(ms->msg_mysql))->id = id;
((msg_mysql_add_param_utf8str_t *)(ms->msg_mysql))->param = param;
Expand Down
12 changes: 8 additions & 4 deletions src/msg_mqtt_mysql.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,10 @@ typedef enum msg_mysql_type
MYSQL_ADD_UTF8STR_DATA,
MYSQL_UPDATE_SENSOR_IP,
MYSQL_UPDATE_ACTUATOR_IP,
MYSQL_UPDATE_PARAM_UNIT,
MYSQL_UPDATE_PARAM_TYPE,
MYSQL_UPDATE_SENSOR_PARAM_UNIT,
MYSQL_UPDATE_ACTUATOR_PARAM_UNIT,
MYSQL_UPDATE_SENSOR_PARAM_TYPE,
MYSQL_UPDATE_ACTUATOR_PARAM_TYPE,
MYSQL_UPDATE_SENSOR_SLEEPTIMEDURATION
} msg_mysql_type_t;

Expand Down Expand Up @@ -107,8 +109,10 @@ void msg_mqtt_mysql_destroy(void);
void msg_mqtt_mysql_add_long_data(uint32_t id, uint32_t param, long long_data);
void msg_mqtt_mysql_add_float_data(uint32_t id, uint32_t param, float float_data);
void msg_mqtt_mysql_add_utf8str_data(uint32_t id, uint32_t param, char *utf8str_data);
void msg_mqtt_mysql_update_param_unit(uint32_t id, uint32_t param, char *utf8str_data);
void msg_mqtt_mysql_update_param_type(uint32_t id, uint32_t param, char *utf8str_data);
void msg_mqtt_mysql_update_sensor_param_unit(uint32_t id, uint32_t param, char *utf8str_data);
void msg_mqtt_mysql_update_actuator_param_unit(uint32_t id, uint32_t param, char *utf8str_data);
void msg_mqtt_mysql_update_sensor_param_type(uint32_t id, uint32_t param, char *utf8str_data);
void msg_mqtt_mysql_update_actuator_param_type(uint32_t id, uint32_t param, char *utf8str_data);
void msg_mqtt_mysql_update_sensor_ip(uint32_t id, char *utf8str_data);
void msg_mqtt_mysql_update_actuator_ip(uint32_t id, char *utf8str_data);
void msg_mqtt_mysql_update_sensor_sleeptimeduration(uint32_t id, long long_data);
Expand Down
2 changes: 1 addition & 1 deletion src/msg_trigger_rules.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
typedef struct msg_trigger_rules
{
msg_t msg;
size_t next_id;
uint32_t next_id;
} msg_trigger_rules_t;

//--------------------------------------------
Expand Down
18 changes: 9 additions & 9 deletions src/parse_json.c
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ int parse_json_file(void)
nextid = cJSON_GetObjectItem(node, "nextid");
if (nextid == NULL || nextid->type != cJSON_Number)
goto error;
thread_cron_trigger_add(value->valuestring, (size_t)nextid->valueint);
thread_cron_trigger_add(value->valuestring, (uint32_t)nextid->valuedouble);
continue;
}
if (strncmp(type->valuestring, RT_TRIGGER_TOPIC, sizeof(RT_TRIGGER_TOPIC) - 1) == 0)
Expand All @@ -178,7 +178,7 @@ int parse_json_file(void)
nextid = cJSON_GetObjectItem(node, "nextid");
if (nextid == NULL || nextid->type != cJSON_Number)
goto error;
thread_mqtt_trigger_add(topic->valuestring, (size_t)nextid->valueint);
thread_mqtt_trigger_add(topic->valuestring, (uint32_t)nextid->valuedouble);
continue;
}
if (strncmp(type->valuestring, RT_VARIABLE_INIT, sizeof(RT_VARIABLE_INIT) - 1) == 0)
Expand Down Expand Up @@ -270,8 +270,8 @@ int parse_json_file(void)

rfp = (rf_condition_param_t *)malloc(sizeof(rf_condition_param_t));
memset(rfp, 0, sizeof(rf_condition_param_t));
rfp->nextid_true = nextid_true->valueint;
rfp->nextid_false = nextid_false->valueint;
rfp->nextid_true = (uint32_t)nextid_true->valuedouble;
rfp->nextid_false = (uint32_t)nextid_false->valuedouble;
rfp->condition = (char *)malloc(strlen(cond->valuestring) + 1);
strcpy(rfp->condition, cond->valuestring);

Expand All @@ -295,7 +295,7 @@ int parse_json_file(void)
memcpy(rfp->name, topic->valuestring, rfp->name_len);
}

thread_rules_add_node(id->valueint, rf_type, (void *)rfp);
thread_rules_add_node((uint32_t)id->valuedouble, rf_type, (void *)rfp);
continue;
}

Expand Down Expand Up @@ -328,7 +328,7 @@ int parse_json_file(void)

rfp = (rf_action_param_t *)malloc(sizeof(rf_action_param_t));
memset(rfp, 0, sizeof(rf_action_param_t));
rfp->nextid = nextid->valueint;
rfp->nextid = (uint32_t)nextid->valuedouble;
rfp->retain = retain->valueint;
if (rf_type == RF_ACTION_VARIABLE)
get_variable_topic(value->valuestring, strlen(value->valuestring), &rfp->str, &rfp->str_len);
Expand All @@ -342,7 +342,7 @@ int parse_json_file(void)
rfp->name = (uint8_t *)malloc(rfp->name_len);
memcpy(rfp->name, topic->valuestring, rfp->name_len);

thread_rules_add_node(id->valueint, rf_type, (void *)rfp);
thread_rules_add_node((uint32_t)id->valuedouble, rf_type, (void *)rfp);
continue;
}

Expand Down Expand Up @@ -374,7 +374,7 @@ int parse_json_file(void)
rfp = (rf_variable_param_t *)malloc(sizeof(rf_variable_param_t));
memset(rfp, 0, sizeof(rf_variable_param_t));
get_variable_topic(variable->valuestring, strlen(variable->valuestring), &rfp->name, &rfp->name_len);
rfp->nextid = nextid->valueint;
rfp->nextid = (uint32_t)nextid->valuedouble;
rfp->retain = retain->valueint;
if (rf_type == RF_VARIABLE_SET)
{
Expand All @@ -383,7 +383,7 @@ int parse_json_file(void)
memcpy(rfp->str, value->valuestring, rfp->str_len);
}

thread_rules_add_node(id->valueint, rf_type, (void *)rfp);
thread_rules_add_node((uint32_t)id->valuedouble, rf_type, (void *)rfp);
continue;
}

Expand Down
34 changes: 17 additions & 17 deletions src/rules.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ static void long_to_string(long longvalue, uint8_t **data, uint16_t *data_len)
}

//--------------------------------------------
static size_t compare_string_values(const char *str1, size_t str1_len, const char *str2, size_t str2_len, const char *condition, size_t nextid_true, size_t nextid_false)
static uint32_t compare_string_values(const char *str1, size_t str1_len, const char *str2, size_t str2_len, const char *condition, uint32_t nextid_true, uint32_t nextid_false)
{
if (strcmp(condition, "==") == 0)
{
Expand All @@ -87,7 +87,7 @@ static size_t compare_string_values(const char *str1, size_t str1_len, const cha
}

//--------------------------------------------
static size_t compare_double_values(double value1, double value2, const char *condition, size_t nextid_true, size_t nextid_false)
static uint32_t compare_double_values(double value1, double value2, const char *condition, uint32_t nextid_true, uint32_t nextid_false)
{
if (strcmp(condition, "==") == 0)
{
Expand Down Expand Up @@ -136,14 +136,14 @@ static size_t compare_double_values(double value1, double value2, const char *co
}

//--------------------------------------------
static size_t rf_condition_value(void *param)
static uint32_t rf_condition_value(void *param)
{
rf_condition_param_t *rfp;
list_data_t *list;
double value1;
double value2;
double *ptr;
size_t nextid;
uint32_t nextid;

assert(param != NULL);

Expand Down Expand Up @@ -180,15 +180,15 @@ static size_t rf_condition_value(void *param)
}

//--------------------------------------------
static size_t rf_condition_topic(void *param)
static uint32_t rf_condition_topic(void *param)
{
rf_condition_param_t *rfp;
list_data_t *list;
list_data_t *item;
double value1;
double value2;
double *ptr;
size_t nextid;
uint32_t nextid;

assert(param != NULL);

Expand Down Expand Up @@ -228,7 +228,7 @@ static size_t rf_condition_topic(void *param)
}

//--------------------------------------------
static size_t rf_action_value(void *param)
static uint32_t rf_action_value(void *param)
{
rf_action_param_t *rfp;
list_data_t *list;
Expand All @@ -243,7 +243,7 @@ static size_t rf_action_value(void *param)
}

//--------------------------------------------
static size_t rf_action_topic(void *param)
static uint32_t rf_action_topic(void *param)
{
rf_action_param_t *rfp;
list_data_t *list;
Expand All @@ -259,7 +259,7 @@ static size_t rf_action_topic(void *param)
}

//--------------------------------------------
static size_t rf_variable_set(void *param)
static uint32_t rf_variable_set(void *param)
{
rf_variable_param_t *rfp;
list_data_t *list;
Expand All @@ -274,7 +274,7 @@ static size_t rf_variable_set(void *param)
}

//--------------------------------------------
static size_t rf_variable_increment_decrement(void *param, uint8_t increment)
static uint32_t rf_variable_increment_decrement(void *param, uint8_t increment)
{
rf_variable_param_t *rfp;
list_data_t *list;
Expand Down Expand Up @@ -309,19 +309,19 @@ static size_t rf_variable_increment_decrement(void *param, uint8_t increment)
}

//--------------------------------------------
static size_t rf_variable_increment(void *param)
static uint32_t rf_variable_increment(void *param)
{
return rf_variable_increment_decrement(param, 1);
}

//--------------------------------------------
static size_t rf_variable_decrement(void *param)
static uint32_t rf_variable_decrement(void *param)
{
return rf_variable_increment_decrement(param, 0);
}

//--------------------------------------------
rules_function_t *rules_function_add(rules_function_t **rfs, rf_type_t type, size_t (*func)(void *param))
rules_function_t *rules_function_add(rules_function_t **rfs, rf_type_t type, uint32_t (*func)(void *param))
{
rules_function_t *rf;

Expand All @@ -336,7 +336,7 @@ rules_function_t *rules_function_add(rules_function_t **rfs, rf_type_t type, siz
}

//--------------------------------------------
rules_node_t *rules_node_add(rules_node_t **list, size_t id, rf_type_t type, void *param)
rules_node_t *rules_node_add(rules_node_t **list, uint32_t id, rf_type_t type, void *param)
{
rules_node_t *item;

Expand Down Expand Up @@ -442,7 +442,7 @@ void rules_functions_init(rules_function_t **rfs)
}

//--------------------------------------------
size_t func_execute(rules_function_t **rfs, rf_type_t type, void *param)
uint32_t func_execute(rules_function_t **rfs, rf_type_t type, void *param)
{
rules_function_t *rf;

Expand All @@ -457,10 +457,10 @@ size_t func_execute(rules_function_t **rfs, rf_type_t type, void *param)
}

//--------------------------------------------
void node_execute(rules_function_t **rfs, rules_node_t **rns, size_t id)
void node_execute(rules_function_t **rfs, rules_node_t **rns, uint32_t id)
{
rules_node_t *rn;
size_t nextid;
uint32_t nextid;

rn = rules_node_head(rns);
while (rn != NULL)
Expand Down
Loading

0 comments on commit bda5f47

Please sign in to comment.