Change knot_msg_data according to new proto
This patch fix 'thing' source based on the changes introduced at knot
protocol source:
da475057a24e0c3e9cb0d7135b4d089f9075650f
diff --git a/src/KNoTThing.cpp b/src/KNoTThing.cpp
index 0c73b32..d4e918f 100644
--- a/src/KNoTThing.cpp
+++ b/src/KNoTThing.cpp
@@ -85,8 +85,8 @@
uint16_t time_sec, int32_t upper_int, uint32_t upper_dec,
int32_t lower_int, uint32_t lower_dec)
{
- knot_value_types lower;
- knot_value_types upper;
+ knot_value_type lower;
+ knot_value_type upper;
lower.val_f.value_int = lower_int;
lower.val_f.value_dec = lower_dec;
diff --git a/src/knot_thing_main.c b/src/knot_thing_main.c
index 5ffdd7a..eef52e1 100644
--- a/src/knot_thing_main.c
+++ b/src/knot_thing_main.c
@@ -37,7 +37,7 @@
uint8_t upper_flag;
// data values
- knot_value_types last_data;
+ knot_value_type last_data;
uint8_t *last_value_raw;
// config values
knot_config config; // Flags indicating when data will be sent
@@ -192,8 +192,8 @@
}
int knot_thing_config_data_item(uint8_t id, uint8_t evflags, uint16_t time_sec,
- knot_value_types *lower,
- knot_value_types *upper)
+ knot_value_type *lower,
+ knot_value_type *upper)
{
struct _data_items *item = find_item(id);
@@ -273,7 +273,7 @@
if (item->functions.bool_f.read == NULL)
return -1;
- if (item->functions.bool_f.read(&(data->payload.values.val_b)) < 0)
+ if (item->functions.bool_f.read(&(data->payload.val_b)) < 0)
return -1;
data->hdr.payload_len = sizeof(knot_value_type_bool)
@@ -284,8 +284,8 @@
return -1;
if (item->functions.int_f.read(
- &(data->payload.values.val_i.value),
- &(data->payload.values.val_i.multiplier)) < 0)
+ &(data->payload.val_i.value),
+ &(data->payload.val_i.multiplier)) < 0)
return -1;
data->hdr.payload_len = sizeof(knot_value_type_int)
@@ -296,9 +296,9 @@
return -1;
if (item->functions.float_f.read(
- &(data->payload.values.val_f.value_int),
- &(data->payload.values.val_f.value_dec),
- &(data->payload.values.val_f.multiplier)) < 0)
+ &(data->payload.val_f.value_int),
+ &(data->payload.val_f.value_dec),
+ &(data->payload.val_f.multiplier)) < 0)
return -1;
data->hdr.payload_len = sizeof(knot_value_type_float)
@@ -334,24 +334,24 @@
goto done;
ret_val = item->functions.bool_f.write(
- &data->payload.values.val_b);
+ &data->payload.val_b);
break;
case KNOT_VALUE_TYPE_INT:
if (item->functions.int_f.write == NULL)
goto done;
ret_val = item->functions.int_f.write(
- &data->payload.values.val_i.value,
- &data->payload.values.val_i.multiplier);
+ &data->payload.val_i.value,
+ &data->payload.val_i.multiplier);
break;
case KNOT_VALUE_TYPE_FLOAT:
if (item->functions.float_f.write == NULL)
goto done;
ret_val = item->functions.float_f.write(
- &data->payload.values.val_f.value_int,
- &data->payload.values.val_f.value_dec,
- &data->payload.values.val_f.multiplier);
+ &data->payload.val_f.value_int,
+ &data->payload.val_f.value_dec,
+ &data->payload.val_f.multiplier);
break;
default:
break;
@@ -369,7 +369,7 @@
int knot_thing_verify_events(knot_msg_data *data)
{
struct _data_items *item;
- knot_value_types *last;
+ knot_value_type *last;
uint8_t comparison = 0;
/* Current time in miliseconds to verify sensor timeout */
uint32_t current_time;
@@ -406,60 +406,60 @@
comparison = 1;
break;
case KNOT_VALUE_TYPE_BOOL:
- if (data->payload.values.val_b != last->val_b) {
+ if (data->payload.val_b != last->val_b) {
comparison |= (KNOT_EVT_FLAG_CHANGE & item->config.event_flags);
- last->val_b = data->payload.values.val_b;
+ last->val_b = data->payload.val_b;
}
break;
case KNOT_VALUE_TYPE_INT:
// TODO: add multiplier to comparison
- if (data->payload.values.val_i.value < item->config.lower_limit.val_i.value &&
+ if (data->payload.val_i.value < item->config.lower_limit.val_i.value &&
item->lower_flag == 0) {
comparison |= (KNOT_EVT_FLAG_LOWER_THRESHOLD & item->config.event_flags);
item->upper_flag = 0;
item->lower_flag = 1;
- } else if (data->payload.values.val_i.value > item->config.upper_limit.val_i.value &&
+ } else if (data->payload.val_i.value > item->config.upper_limit.val_i.value &&
item->upper_flag == 0) {
comparison |= (KNOT_EVT_FLAG_UPPER_THRESHOLD & item->config.event_flags);
item->upper_flag = 1;
item->lower_flag = 0;
} else {
- if (data->payload.values.val_i.value < item->config.upper_limit.val_i.value)
+ if (data->payload.val_i.value < item->config.upper_limit.val_i.value)
item->upper_flag = 0;
- if (data->payload.values.val_i.value > item->config.lower_limit.val_i.value)
+ if (data->payload.val_i.value > item->config.lower_limit.val_i.value)
item->lower_flag = 0;
}
- if (data->payload.values.val_i.value != last->val_i.value)
+ if (data->payload.val_i.value != last->val_i.value)
comparison |= (KNOT_EVT_FLAG_CHANGE & item->config.event_flags);
- last->val_i.value = data->payload.values.val_i.value;
- last->val_i.multiplier = data->payload.values.val_i.multiplier;
+ last->val_i.value = data->payload.val_i.value;
+ last->val_i.multiplier = data->payload.val_i.multiplier;
break;
case KNOT_VALUE_TYPE_FLOAT:
// TODO: add multiplier and decimal part to comparison
- if (data->payload.values.val_f.value_int < item->config.lower_limit.val_f.value_int &&
+ if (data->payload.val_f.value_int < item->config.lower_limit.val_f.value_int &&
item->lower_flag == 0) {
comparison |= (KNOT_EVT_FLAG_LOWER_THRESHOLD & item->config.event_flags);
item->upper_flag = 0;
item->lower_flag = 1;
- } else if (data->payload.values.val_f.value_int > item->config.upper_limit.val_f.value_int &&
+ } else if (data->payload.val_f.value_int > item->config.upper_limit.val_f.value_int &&
item->upper_flag == 0) {
comparison |= (KNOT_EVT_FLAG_UPPER_THRESHOLD & item->config.event_flags);
item->upper_flag = 1;
item->lower_flag = 0;
} else {
- if (data->payload.values.val_i.value < item->config.upper_limit.val_i.value)
+ if (data->payload.val_i.value < item->config.upper_limit.val_i.value)
item->upper_flag = 0;
- if (data->payload.values.val_i.value > item->config.lower_limit.val_i.value)
+ if (data->payload.val_i.value > item->config.lower_limit.val_i.value)
item->lower_flag = 0;
}
- if (data->payload.values.val_f.value_int != last->val_f.value_int)
+ if (data->payload.val_f.value_int != last->val_f.value_int)
comparison |= (KNOT_EVT_FLAG_CHANGE & item->config.event_flags);
- last->val_f.value_int = data->payload.values.val_f.value_int;
- last->val_f.value_dec = data->payload.values.val_f.value_dec;
- last->val_f.multiplier = data->payload.values.val_f.multiplier;
+ last->val_f.value_int = data->payload.val_f.value_int;
+ last->val_f.value_dec = data->payload.val_f.value_dec;
+ last->val_f.multiplier = data->payload.val_f.multiplier;
break;
default:
// This data item is not registered with a valid value type
diff --git a/src/knot_thing_main.h b/src/knot_thing_main.h
index 4fbccbe..98f0aab 100644
--- a/src/knot_thing_main.h
+++ b/src/knot_thing_main.h
@@ -68,8 +68,8 @@
int knot_thing_data_item_write(uint8_t id, knot_msg_data *data);
int knot_thing_verify_events(knot_msg_data *data);
int knot_thing_config_data_item(uint8_t id, uint8_t evflags, uint16_t time_sec,
- knot_value_types *lower,
- knot_value_types *upper);
+ knot_value_type *lower,
+ knot_value_type *upper);
#ifdef __cplusplus
}
diff --git a/src/knot_thing_protocol.h b/src/knot_thing_protocol.h
index c3c6363..1786e3c 100644
--- a/src/knot_thing_protocol.h
+++ b/src/knot_thing_protocol.h
@@ -19,8 +19,8 @@
typedef int (*data_function)(uint8_t sensor_id, knot_msg_data *data);
typedef int (*schema_function)(uint8_t sensor_id, knot_msg_schema *schema);
typedef int (*config_function)(uint8_t sensor_id, uint8_t event_flags,
- uint16_t time_sec, knot_value_types *lower_limit,
- knot_value_types *upper_limit);
+ uint16_t time_sec, knot_value_type *lower_limit,
+ knot_value_type *upper_limit);
typedef int (*events_function)(knot_msg_data *data);
int knot_thing_protocol_init(const char *thing_name);