Skip to content

Commit 742f49d

Browse files
authored
Merge pull request #2405 from hxy7yx/v2.10-1
[v2.10]allow float-tag to write integers
2 parents 9d045d0 + 9b606cf commit 742f49d

File tree

2 files changed

+4
-25
lines changed

2 files changed

+4
-25
lines changed

src/adapter/driver/driver.c

+4-19
Original file line numberDiff line numberDiff line change
@@ -1112,21 +1112,13 @@ int is_value_in_range(neu_type_e tag_type, int64_t value, double value_d,
11121112
return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH;
11131113
}
11141114
case NEU_TYPE_FLOAT:
1115-
if (write_type != NEU_TYPE_DOUBLE) {
1116-
return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH;
1117-
} else if (result < (int64_t) -FLT_MAX ||
1118-
result > (int64_t) FLT_MAX) {
1115+
if (result < (int64_t) -FLT_MAX || result > (int64_t) FLT_MAX) {
11191116
return NEU_ERR_PLUGIN_TAG_VALUE_OUT_OF_RANGE;
11201117
} else {
11211118
return NEU_ERR_SUCCESS;
11221119
}
11231120
case NEU_TYPE_DOUBLE:
1124-
if (write_type != NEU_TYPE_DOUBLE) {
1125-
return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH;
1126-
} else {
1127-
return NEU_ERR_SUCCESS;
1128-
}
1129-
return check_value(write_type, result, INT16_MIN, INT16_MAX);
1121+
return NEU_ERR_SUCCESS;
11301122
case NEU_TYPE_STRING:
11311123
case NEU_TYPE_BOOL:
11321124
case NEU_TYPE_BIT:
@@ -1170,20 +1162,13 @@ int is_value_in_range(neu_type_e tag_type, int64_t value, double value_d,
11701162
return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH;
11711163
}
11721164
case NEU_TYPE_FLOAT:
1173-
if (write_type != NEU_TYPE_DOUBLE) {
1174-
return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH;
1175-
} else if (value < (int64_t) -FLT_MAX ||
1176-
value > (int64_t) FLT_MAX) {
1165+
if (value < (int64_t) -FLT_MAX || value > (int64_t) FLT_MAX) {
11771166
return NEU_ERR_PLUGIN_TAG_VALUE_OUT_OF_RANGE;
11781167
} else {
11791168
return NEU_ERR_SUCCESS;
11801169
}
11811170
case NEU_TYPE_DOUBLE:
1182-
if (write_type != NEU_TYPE_DOUBLE) {
1183-
return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH;
1184-
} else {
1185-
return NEU_ERR_SUCCESS;
1186-
}
1171+
return NEU_ERR_SUCCESS;
11871172
case NEU_TYPE_STRING:
11881173
if (write_type != NEU_TYPE_STRING) {
11891174
return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH;

tests/ft/driver/test_modbus.py

-6
Original file line numberDiff line numberDiff line change
@@ -635,12 +635,6 @@ def test_write_tags_invalid_value(self, param):
635635
assert error.NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH == response.json()[
636636
'error']
637637

638-
response = api.write_tag(
639-
node=param[0], group='group', tag=hold_float[0]['name'], value=1)
640-
assert 400 == response.status_code
641-
assert error.NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH == response.json()[
642-
'error']
643-
644638
response = api.write_tags(node=param[0], group='group', tag_values=[
645639
{"tag": hold_int16[0]['name'], "value": 32768},
646640
{"tag": hold_uint16[0]['name'], "value": 2},

0 commit comments

Comments
 (0)