Improve dead code flagging

- nanomodbus.c: silence GCC -Wunused-function warnings
- nanomodbus.h: fix compilation errors when only READ_WRITE_REGISTER
  function is included
This commit is contained in:
Stefan Becker 2024-09-20 11:18:40 +03:00 committed by Valerio De Benedetto
parent 6c5ff15b5e
commit ed53826382
2 changed files with 27 additions and 2 deletions

View File

@ -59,10 +59,13 @@ static void discard_1(nmbs_t* nmbs) {
#ifndef NMBS_SERVER_DISABLED
#if !defined(NMBS_SERVER_READ_FILE_RECORD_DISABLED) || \
!defined(NMBS_SERVER_WRITE_FILE_RECORD_DISABLED)
static void discard_n(nmbs_t* nmbs, uint16_t n) {
nmbs->msg.buf_idx += n;
}
#endif
#endif
static uint16_t get_2(nmbs_t* nmbs) {
@ -81,6 +84,7 @@ static void put_2(nmbs_t* nmbs, uint16_t data) {
#ifndef NMBS_SERVER_DISABLED
#if !defined(NMBS_SERVER_READ_DEVICE_IDENTIFICATION_DISABLED)
static void set_1(nmbs_t* nmbs, uint8_t data, uint8_t index) {
nmbs->msg.buf[index] = data;
}
@ -91,6 +95,7 @@ static void set_2(nmbs_t* nmbs, uint16_t data, uint8_t index) {
nmbs->msg.buf[index + 1] = (uint8_t) data;
}
#endif
#endif
static uint8_t* get_n(nmbs_t* nmbs, uint16_t n) {
@ -101,12 +106,15 @@ static uint8_t* get_n(nmbs_t* nmbs, uint16_t n) {
#ifndef NMBS_SERVER_DISABLED
#if !defined(NMBS_SERVER_READ_DEVICE_IDENTIFICATION_DISABLED)
static void put_n(nmbs_t* nmbs, const uint8_t* data, uint8_t size) {
memcpy(&nmbs->msg.buf[nmbs->msg.buf_idx], data, size);
nmbs->msg.buf_idx += size;
}
#endif
#if !defined(NMBS_SERVER_WRITE_FILE_RECORD_DISABLED)
static uint16_t* get_regs(nmbs_t* nmbs, uint16_t n) {
uint16_t* msg_buf_ptr = (uint16_t*) (nmbs->msg.buf + nmbs->msg.buf_idx);
nmbs->msg.buf_idx += n * 2;
@ -116,6 +124,7 @@ static uint16_t* get_regs(nmbs_t* nmbs, uint16_t n) {
return msg_buf_ptr;
}
#endif
#endif
#ifndef NMBS_CLIENT_DISABLED
@ -379,6 +388,7 @@ static void put_msg_header(nmbs_t* nmbs, uint16_t data_length) {
#ifndef NMBS_SERVER_DISABLED
#if !defined(NMBS_SERVER_READ_DEVICE_IDENTIFICATION_DISABLED)
static void set_msg_header_size(nmbs_t* nmbs, uint16_t data_length) {
if (nmbs->platform.transport == NMBS_TRANSPORT_TCP) {
data_length += 2;
@ -386,6 +396,7 @@ static void set_msg_header_size(nmbs_t* nmbs, uint16_t data_length) {
}
}
#endif
#endif
static nmbs_error send_msg(nmbs_t* nmbs) {
@ -505,6 +516,11 @@ static void put_req_header(nmbs_t* nmbs, uint16_t data_length) {
#endif
#if !defined(NMBS_CLIENT_DISABLED) || \
(!defined(NMBS_SERVER_DISABLED) && ( \
!defined(NMBS_SERVER_READ_COILS_DISABLED) || \
!defined(NMBS_SERVER_READ_DISCRETE_INPUTS_DISABLED) \
))
static nmbs_error recv_read_discrete_res(nmbs_t* nmbs, nmbs_bitfield values) {
nmbs_error err = recv_res_header(nmbs);
if (err != NMBS_ERROR_NONE)
@ -539,8 +555,14 @@ static nmbs_error recv_read_discrete_res(nmbs_t* nmbs, nmbs_bitfield values) {
return NMBS_ERROR_NONE;
}
#endif
#if !defined(NMBS_CLIENT_DISABLED) || \
(!defined(NMBS_SERVER_DISABLED) && ( \
!defined(NMBS_SERVER_READ_HOLDING_REGISTERS_DISABLED) || \
!defined(NMBS_SERVER_READ_INPUT_REGISTERS_DISABLED) \
))
static nmbs_error recv_read_registers_res(nmbs_t* nmbs, uint16_t quantity, uint16_t* registers) {
nmbs_error err = recv_res_header(nmbs);
if (err != NMBS_ERROR_NONE)
@ -577,6 +599,7 @@ static nmbs_error recv_read_registers_res(nmbs_t* nmbs, uint16_t quantity, uint1
return NMBS_ERROR_NONE;
}
#endif
nmbs_error recv_write_single_coil_res(nmbs_t* nmbs, uint16_t address, uint16_t value_req) {

View File

@ -176,7 +176,8 @@ typedef struct nmbs_callbacks {
void* arg);
#endif
#ifndef NMBS_SERVER_READ_HOLDING_REGISTERS_DISABLED
#if !defined(NMBS_SERVER_READ_HOLDING_REGISTERS_DISABLED) || \
!defined(NMBS_SERVER_READ_WRITE_REGISTERS_DISABLED)
nmbs_error (*read_holding_registers)(uint16_t address, uint16_t quantity, uint16_t* registers_out, uint8_t unit_id,
void* arg);
#endif
@ -199,7 +200,8 @@ typedef struct nmbs_callbacks {
void* arg);
#endif
#ifndef NMBS_SERVER_WRITE_MULTIPLE_REGISTERS_DISABLED
#if !defined(NMBS_SERVER_WRITE_MULTIPLE_REGISTERS_DISABLED) || \
!defined(NMBS_SERVER_READ_WRITE_REGISTERS_DISABLED)
nmbs_error (*write_multiple_registers)(uint16_t address, uint16_t quantity, const uint16_t* registers,
uint8_t unit_id, void* arg);
#endif