allow float-tag to write integers

This commit is contained in:
hxy7yx
2025-03-16 19:32:18 -07:00
parent 9d045d0f22
commit 9b606cfbb7
2 changed files with 4 additions and 25 deletions
+4 -19
View File
@@ -1112,21 +1112,13 @@ int is_value_in_range(neu_type_e tag_type, int64_t value, double value_d,
return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH;
}
case NEU_TYPE_FLOAT:
if (write_type != NEU_TYPE_DOUBLE) {
return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH;
} else if (result < (int64_t) -FLT_MAX ||
result > (int64_t) FLT_MAX) {
if (result < (int64_t) -FLT_MAX || result > (int64_t) FLT_MAX) {
return NEU_ERR_PLUGIN_TAG_VALUE_OUT_OF_RANGE;
} else {
return NEU_ERR_SUCCESS;
}
case NEU_TYPE_DOUBLE:
if (write_type != NEU_TYPE_DOUBLE) {
return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH;
} else {
return NEU_ERR_SUCCESS;
}
return check_value(write_type, result, INT16_MIN, INT16_MAX);
return NEU_ERR_SUCCESS;
case NEU_TYPE_STRING:
case NEU_TYPE_BOOL:
case NEU_TYPE_BIT:
@@ -1170,20 +1162,13 @@ int is_value_in_range(neu_type_e tag_type, int64_t value, double value_d,
return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH;
}
case NEU_TYPE_FLOAT:
if (write_type != NEU_TYPE_DOUBLE) {
return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH;
} else if (value < (int64_t) -FLT_MAX ||
value > (int64_t) FLT_MAX) {
if (value < (int64_t) -FLT_MAX || value > (int64_t) FLT_MAX) {
return NEU_ERR_PLUGIN_TAG_VALUE_OUT_OF_RANGE;
} else {
return NEU_ERR_SUCCESS;
}
case NEU_TYPE_DOUBLE:
if (write_type != NEU_TYPE_DOUBLE) {
return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH;
} else {
return NEU_ERR_SUCCESS;
}
return NEU_ERR_SUCCESS;
case NEU_TYPE_STRING:
if (write_type != NEU_TYPE_STRING) {
return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH;
-6
View File
@@ -635,12 +635,6 @@ class TestModbus:
assert error.NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH == response.json()[
'error']
response = api.write_tag(
node=param[0], group='group', tag=hold_float[0]['name'], value=1)
assert 400 == response.status_code
assert error.NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH == response.json()[
'error']
response = api.write_tags(node=param[0], group='group', tag_values=[
{"tag": hold_int16[0]['name'], "value": 32768},
{"tag": hold_uint16[0]['name'], "value": 2},