From 9b606cfbb72008660da8571be9784fee3ede90fd Mon Sep 17 00:00:00 2001 From: hxy7yx <1595670487@qq.com> Date: Sun, 16 Mar 2025 19:32:18 -0700 Subject: [PATCH 1/2] allow float-tag to write integers --- src/adapter/driver/driver.c | 23 ++++------------------- tests/ft/driver/test_modbus.py | 6 ------ 2 files changed, 4 insertions(+), 25 deletions(-) diff --git a/src/adapter/driver/driver.c b/src/adapter/driver/driver.c index 5be4c5f6..6d3f192c 100644 --- a/src/adapter/driver/driver.c +++ b/src/adapter/driver/driver.c @@ -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; diff --git a/tests/ft/driver/test_modbus.py b/tests/ft/driver/test_modbus.py index e9632e1e..5ff782f6 100644 --- a/tests/ft/driver/test_modbus.py +++ b/tests/ft/driver/test_modbus.py @@ -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}, From 5dbc6be03834e2bd5c002b2fa7328514068b00b4 Mon Sep 17 00:00:00 2001 From: fengzero Date: Tue, 18 Mar 2025 08:50:47 +0000 Subject: [PATCH 2/2] version: 2.10.4 --- .github/workflows/ci.yml | 2 +- include/neuron/define.h | 2 +- version | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1dd3534a..3e061009 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ on: - published env: - VERSION: 2.10.3 + VERSION: 2.10.4 UI_VERSION: 2.6.1 BRANCH: v2.10 diff --git a/include/neuron/define.h b/include/neuron/define.h index b40eb493..1bf2274e 100644 --- a/include/neuron/define.h +++ b/include/neuron/define.h @@ -24,7 +24,7 @@ #define NEU_VERSION_MAJOR 2 #define NEU_VERSION_MINOR 10 -#define NEU_VERSION_FIX 3 +#define NEU_VERSION_FIX 4 #define NEU_GET_VERSION_MAJOR(V) ((0xffff0000 & V) >> 16) #define NEU_GET_VERSION_MINOR(V) ((0x0000ff00 & V) >> 8) diff --git a/version b/version index fe182499..55f001e4 100644 --- a/version +++ b/version @@ -1 +1 @@ -2.10.3 \ No newline at end of file +2.10.4 \ No newline at end of file