summaryrefslogtreecommitdiff
path: root/recipes-support/libmodbus/libmodbus/libmodbus_send_raw_message_tid.patch
diff options
context:
space:
mode:
authorMykola Salomatin <mykola.salomatin@globallogic.com>2023-01-26 19:30:38 +0200
committerMykola Salomatin <mykola.salomatin@globallogic.com>2023-01-26 19:30:38 +0200
commit8b2c5033c01df17ce1bed9489570a5e56e3be862 (patch)
tree8a7abda338d1c144e904cd54e6ab99322119969e /recipes-support/libmodbus/libmodbus/libmodbus_send_raw_message_tid.patch
parente77d906d6f9d0da38ab5faff8b2a11a4383650de (diff)
parent755c00a4dfc34c95640e832ca8cafb71a7d356aa (diff)
downloadmeta-mlinux-8b2c5033c01df17ce1bed9489570a5e56e3be862.tar.gz
meta-mlinux-8b2c5033c01df17ce1bed9489570a5e56e3be862.tar.bz2
meta-mlinux-8b2c5033c01df17ce1bed9489570a5e56e3be862.zip
Merge branch '6' into mpower-dev-l6g1
Diffstat (limited to 'recipes-support/libmodbus/libmodbus/libmodbus_send_raw_message_tid.patch')
-rw-r--r--recipes-support/libmodbus/libmodbus/libmodbus_send_raw_message_tid.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/recipes-support/libmodbus/libmodbus/libmodbus_send_raw_message_tid.patch b/recipes-support/libmodbus/libmodbus/libmodbus_send_raw_message_tid.patch
new file mode 100644
index 0000000..069f4f2
--- /dev/null
+++ b/recipes-support/libmodbus/libmodbus/libmodbus_send_raw_message_tid.patch
@@ -0,0 +1,37 @@
+diff --git a/src/modbus.c b/src/modbus.c
+index 68a28a3..4810cfe 100644
+--- a/src/modbus.c
++++ b/src/modbus.c
+@@ -208,6 +208,11 @@ static int send_msg(modbus_t *ctx, uint8_t *msg, int msg_length)
+ }
+
+ int modbus_send_raw_request(modbus_t *ctx, const uint8_t *raw_req, int raw_req_length)
++{
++ return modbus_send_raw_request_tid(ctx, raw_req, raw_req_length, 0);
++}
++
++int modbus_send_raw_request_tid(modbus_t *ctx, const uint8_t *raw_req, int raw_req_length, int tid)
+ {
+ sft_t sft;
+ uint8_t req[MAX_MESSAGE_LENGTH];
+@@ -229,7 +234,7 @@ int modbus_send_raw_request(modbus_t *ctx, const uint8_t *raw_req, int raw_req_l
+ sft.slave = raw_req[0];
+ sft.function = raw_req[1];
+ /* The t_id is left to zero */
+- sft.t_id = 0;
++ sft.t_id = tid;
+ /* This response function only set the header so it's convenient here */
+ req_length = ctx->backend->build_response_basis(&sft, req);
+
+diff --git a/src/modbus.h b/src/modbus.h
+index fbe20bc..8b3c675 100644
+--- a/src/modbus.h
++++ b/src/modbus.h
+@@ -228,6 +228,7 @@ MODBUS_API modbus_mapping_t* modbus_mapping_new(int nb_bits, int nb_input_bits,
+ MODBUS_API void modbus_mapping_free(modbus_mapping_t *mb_mapping);
+
+ MODBUS_API int modbus_send_raw_request(modbus_t *ctx, const uint8_t *raw_req, int raw_req_length);
++MODBUS_API int modbus_send_raw_request_tid(modbus_t *ctx, const uint8_t *raw_req, int raw_req_length, int tid);
+
+ MODBUS_API int modbus_receive(modbus_t *ctx, uint8_t *req);
+