From 83fb04392b251965c0ac020298738cf0962f9c8b Mon Sep 17 00:00:00 2001 From: Valerio De Benedetto Date: Thu, 2 Jun 2022 11:52:10 +0200 Subject: [PATCH] Fixes to integer types --- examples/platform.h | 14 +++++++------- nanomodbus.c | 25 +++++++++++++------------ nanomodbus.h | 8 ++++---- tests/client_disabled.c | 4 ++-- tests/nanomodbus_tests.c | 8 ++++---- tests/nanomodbus_tests.h | 30 ++++++++++++------------------ tests/server_disabled.c | 4 ++-- 7 files changed, 44 insertions(+), 49 deletions(-) diff --git a/examples/platform.h b/examples/platform.h index 13b5f4b..4461cbf 100644 --- a/examples/platform.h +++ b/examples/platform.h @@ -170,11 +170,11 @@ void close_server() { // Read/write/sleep platform functions -int read_fd_linux(uint8_t* buf, uint32_t count, int32_t timeout_ms, void* arg) { +int32_t read_fd_linux(uint8_t* buf, uint16_t count, int32_t timeout_ms, void* arg) { int fd = *(int*) arg; - int32_t total = 0; - while (total != (int32_t) count) { + uint16_t total = 0; + while (total != count) { fd_set rfds; FD_ZERO(&rfds); FD_SET(fd, &rfds); @@ -200,7 +200,7 @@ int read_fd_linux(uint8_t* buf, uint32_t count, int32_t timeout_ms, void* arg) { else if (r < 0) return -1; else { - total += (int32_t) r; + total += r; } } else @@ -211,11 +211,11 @@ int read_fd_linux(uint8_t* buf, uint32_t count, int32_t timeout_ms, void* arg) { } -int32_t write_fd_linux(const uint8_t* buf, uint32_t count, int32_t timeout_ms, void* arg) { +int32_t write_fd_linux(const uint8_t* buf, uint16_t count, int32_t timeout_ms, void* arg) { int fd = *(int*) arg; - int32_t total = 0; - while (total != (int32_t) count) { + uint16_t total = 0; + while (total != count) { fd_set wfds; FD_ZERO(&wfds); FD_SET(fd, &wfds); diff --git a/nanomodbus.c b/nanomodbus.c index 2007f8f..7a81fbe 100644 --- a/nanomodbus.c +++ b/nanomodbus.c @@ -191,13 +191,14 @@ static uint16_t crc_calc(const uint8_t* data, uint32_t length) { } -static nmbs_error recv(nmbs_t* nmbs, uint32_t count) { - int ret = nmbs->platform.read(nmbs->msg.buf + nmbs->msg.buf_idx, count, nmbs->byte_timeout_ms, nmbs->platform.arg); +static nmbs_error recv(nmbs_t* nmbs, uint16_t count) { + int32_t ret = + nmbs->platform.read(nmbs->msg.buf + nmbs->msg.buf_idx, count, nmbs->byte_timeout_ms, nmbs->platform.arg); - if (ret == (int) count) + if (ret == count) return NMBS_ERROR_NONE; - if (ret < (int) count) { + if (ret < count) { if (ret < 0) return NMBS_ERROR_TRANSPORT; @@ -208,13 +209,13 @@ static nmbs_error recv(nmbs_t* nmbs, uint32_t count) { } -static nmbs_error send(nmbs_t* nmbs, uint32_t count) { - int ret = nmbs->platform.write(nmbs->msg.buf, count, nmbs->byte_timeout_ms, nmbs->platform.arg); +static nmbs_error send(nmbs_t* nmbs, uint16_t count) { + int32_t ret = nmbs->platform.write(nmbs->msg.buf, count, nmbs->byte_timeout_ms, nmbs->platform.arg); - if (ret == (int) count) + if (ret == count) return NMBS_ERROR_NONE; - if (ret < (int) count) { + if (ret < count) { if (ret < 0) return NMBS_ERROR_TRANSPORT; @@ -1237,12 +1238,12 @@ nmbs_error nmbs_write_multiple_registers(nmbs_t* nmbs, uint16_t address, uint16_ #endif -nmbs_error nmbs_send_raw_pdu(nmbs_t* nmbs, uint8_t fc, const void* data, uint32_t data_len) { +nmbs_error nmbs_send_raw_pdu(nmbs_t* nmbs, uint8_t fc, const void* data, uint16_t data_len) { msg_state_req(nmbs, fc); send_msg_header(nmbs, data_len); DEBUG("raw "); - for (uint32_t i = 0; i < data_len; i++) { + for (uint16_t i = 0; i < data_len; i++) { put_1(nmbs, ((uint8_t*) (data))[i]); DEBUG("%d ", ((uint8_t*) (data))[i]); } @@ -1251,7 +1252,7 @@ nmbs_error nmbs_send_raw_pdu(nmbs_t* nmbs, uint8_t fc, const void* data, uint32_ } -nmbs_error nmbs_receive_raw_pdu_response(nmbs_t* nmbs, void* data_out, uint32_t data_out_len) { +nmbs_error nmbs_receive_raw_pdu_response(nmbs_t* nmbs, void* data_out, uint16_t data_out_len) { nmbs_error err = recv_res_header(nmbs); if (err != NMBS_ERROR_NONE) return err; @@ -1260,7 +1261,7 @@ nmbs_error nmbs_receive_raw_pdu_response(nmbs_t* nmbs, void* data_out, uint32_t if (err != NMBS_ERROR_NONE) return err; - for (uint32_t i = 0; i < data_out_len; i++) { + for (uint16_t i = 0; i < data_out_len; i++) { ((uint8_t*) (data_out))[i] = get_1(nmbs); } diff --git a/nanomodbus.h b/nanomodbus.h index df38e24..0658a86 100644 --- a/nanomodbus.h +++ b/nanomodbus.h @@ -131,9 +131,9 @@ typedef enum nmbs_transport { */ typedef struct nmbs_platform_conf { nmbs_transport transport; /*!< Transport type */ - int32_t (*read)(uint8_t* buf, uint32_t count, int32_t byte_timeout_ms, + int32_t (*read)(uint8_t* buf, uint16_t count, int32_t byte_timeout_ms, void* arg); /*!< Bytes read transport function pointer */ - int32_t (*write)(const uint8_t* buf, uint32_t count, int32_t byte_timeout_ms, + int32_t (*write)(const uint8_t* buf, uint16_t count, int32_t byte_timeout_ms, void* arg); /*!< Bytes write transport function pointer */ void* arg; /*!< User data, will be passed to functions above */ } nmbs_platform_conf; @@ -352,7 +352,7 @@ nmbs_error nmbs_write_multiple_registers(nmbs_t* nmbs, uint16_t address, uint16_ * * @return NMBS_ERROR_NONE if successful, other errors otherwise. */ -nmbs_error nmbs_send_raw_pdu(nmbs_t* nmbs, uint8_t fc, const void* data, uint32_t data_len); +nmbs_error nmbs_send_raw_pdu(nmbs_t* nmbs, uint8_t fc, const void* data, uint16_t data_len); #endif #ifndef NMBS_CLIENT_DISABLED @@ -363,7 +363,7 @@ nmbs_error nmbs_send_raw_pdu(nmbs_t* nmbs, uint8_t fc, const void* data, uint32_ * * @return NMBS_ERROR_NONE if successful, other errors otherwise. */ -nmbs_error nmbs_receive_raw_pdu_response(nmbs_t* nmbs, void* data_out, uint32_t data_out_len); +nmbs_error nmbs_receive_raw_pdu_response(nmbs_t* nmbs, void* data_out, uint16_t data_out_len); #endif #ifndef NMBS_STRERROR_DISABLED diff --git a/tests/client_disabled.c b/tests/client_disabled.c index 6b6d67b..c9c83c0 100644 --- a/tests/client_disabled.c +++ b/tests/client_disabled.c @@ -5,7 +5,7 @@ #define UNUSED_PARAM(x) ((x) = (x)) -int read_empty(uint8_t* b, uint32_t count, int32_t timeout, void* arg) { +int32_t read_empty(uint8_t* b, uint16_t count, int32_t timeout, void* arg) { UNUSED_PARAM(b); UNUSED_PARAM(count); UNUSED_PARAM(timeout); @@ -14,7 +14,7 @@ int read_empty(uint8_t* b, uint32_t count, int32_t timeout, void* arg) { } -int write_empty(const uint8_t* b, uint32_t count, int32_t timeout, void* arg) { +int32_t write_empty(const uint8_t* b, uint16_t count, int32_t timeout, void* arg) { UNUSED_PARAM(b); UNUSED_PARAM(count); UNUSED_PARAM(timeout); diff --git a/tests/nanomodbus_tests.c b/tests/nanomodbus_tests.c index c5c4c3c..fb7c8f9 100644 --- a/tests/nanomodbus_tests.c +++ b/tests/nanomodbus_tests.c @@ -5,7 +5,7 @@ #include -int read_empty(uint8_t* b, uint32_t count, int32_t timeout, void* arg) { +int32_t read_empty(uint8_t* b, uint16_t count, int32_t timeout, void* arg) { UNUSED_PARAM(b); UNUSED_PARAM(count); UNUSED_PARAM(timeout); @@ -14,7 +14,7 @@ int read_empty(uint8_t* b, uint32_t count, int32_t timeout, void* arg) { } -int write_empty(const uint8_t* b, uint32_t count, int32_t timeout, void* arg) { +int32_t write_empty(const uint8_t* b, uint16_t count, int32_t timeout, void* arg) { UNUSED_PARAM(b); UNUSED_PARAM(count); UNUSED_PARAM(timeout); @@ -73,7 +73,7 @@ void test_server_create(nmbs_transport transport) { } -int read_timeout(uint8_t* buf, uint32_t count, int32_t timeout, void* arg) { +int32_t read_timeout(uint8_t* buf, uint16_t count, int32_t timeout, void* arg) { UNUSED_PARAM(buf); UNUSED_PARAM(count); UNUSED_PARAM(arg); @@ -82,7 +82,7 @@ int read_timeout(uint8_t* buf, uint32_t count, int32_t timeout, void* arg) { } // Timeouts on the second read -int read_timeout_second(uint8_t* buf, uint32_t count, int32_t timeout, void* arg) { +int32_t read_timeout_second(uint8_t* buf, uint16_t count, int32_t timeout, void* arg) { UNUSED_PARAM(count); UNUSED_PARAM(arg); diff --git a/tests/nanomodbus_tests.h b/tests/nanomodbus_tests.h index 88e665a..5f87f74 100644 --- a/tests/nanomodbus_tests.h +++ b/tests/nanomodbus_tests.h @@ -47,12 +47,6 @@ uint64_t now_ms() { } -void platform_sleep(uint32_t milliseconds, void* arg) { - UNUSED_PARAM(arg); - usleep(milliseconds * 1000); -} - - void reset_sockets() { if (sockets[0] != -1) close(sockets[0]); @@ -64,9 +58,9 @@ void reset_sockets() { } -int32_t read_fd(int fd, uint8_t* buf, uint32_t count, int32_t timeout_ms) { - int32_t total = 0; - while (total != (int32_t) count) { +int32_t read_fd(int fd, uint8_t* buf, uint16_t count, int32_t timeout_ms) { + uint16_t total = 0; + while (total != count) { fd_set rfds; FD_ZERO(&rfds); FD_SET(fd, &rfds); @@ -88,7 +82,7 @@ int32_t read_fd(int fd, uint8_t* buf, uint32_t count, int32_t timeout_ms) { if (r <= 0) return -1; else { - total += (int32_t) r; + total += r; } } else @@ -99,9 +93,9 @@ int32_t read_fd(int fd, uint8_t* buf, uint32_t count, int32_t timeout_ms) { } -int write_fd(int fd, const uint8_t* buf, uint32_t count, int32_t timeout_ms) { - int32_t total = 0; - while (total != (int32_t) count) { +int32_t write_fd(int fd, const uint8_t* buf, uint16_t count, int32_t timeout_ms) { + uint16_t total = 0; + while (total != count) { fd_set wfds; FD_ZERO(&wfds); FD_SET(fd, &wfds); @@ -123,7 +117,7 @@ int write_fd(int fd, const uint8_t* buf, uint32_t count, int32_t timeout_ms) { if (w <= 0) return -1; else { - total += (int32_t) w; + total += w; } } else @@ -134,25 +128,25 @@ int write_fd(int fd, const uint8_t* buf, uint32_t count, int32_t timeout_ms) { } -int read_socket_server(uint8_t* buf, uint32_t count, int32_t timeout_ms, void* arg) { +int32_t read_socket_server(uint8_t* buf, uint16_t count, int32_t timeout_ms, void* arg) { UNUSED_PARAM(arg); return read_fd(sockets[0], buf, count, timeout_ms); } -int write_socket_server(const uint8_t* buf, uint32_t count, int32_t timeout_ms, void* arg) { +int32_t write_socket_server(const uint8_t* buf, uint16_t count, int32_t timeout_ms, void* arg) { UNUSED_PARAM(arg); return write_fd(sockets[0], buf, count, timeout_ms); } -int read_socket_client(uint8_t* buf, uint32_t count, int32_t timeout_ms, void* arg) { +int32_t read_socket_client(uint8_t* buf, uint16_t count, int32_t timeout_ms, void* arg) { UNUSED_PARAM(arg); return read_fd(sockets[1], buf, count, timeout_ms); } -int write_socket_client(const uint8_t* buf, uint32_t count, int32_t timeout_ms, void* arg) { +int32_t write_socket_client(const uint8_t* buf, uint16_t count, int32_t timeout_ms, void* arg) { UNUSED_PARAM(arg); return write_fd(sockets[1], buf, count, timeout_ms); } diff --git a/tests/server_disabled.c b/tests/server_disabled.c index 2e59efe..4c77f29 100644 --- a/tests/server_disabled.c +++ b/tests/server_disabled.c @@ -5,7 +5,7 @@ #define UNUSED_PARAM(x) ((x) = (x)) -int read_empty(uint8_t* b, uint32_t count, int32_t timeout, void* arg) { +int32_t read_empty(uint8_t* b, uint16_t count, int32_t timeout, void* arg) { UNUSED_PARAM(b); UNUSED_PARAM(count); UNUSED_PARAM(timeout); @@ -14,7 +14,7 @@ int read_empty(uint8_t* b, uint32_t count, int32_t timeout, void* arg) { } -int write_empty(const uint8_t* b, uint32_t count, int32_t timeout, void* arg) { +int32_t write_empty(const uint8_t* b, uint16_t count, int32_t timeout, void* arg) { UNUSED_PARAM(b); UNUSED_PARAM(count); UNUSED_PARAM(timeout);