diff --git a/src/modbus.c b/src/modbus.c index d728977..d075522 100644 --- a/src/modbus.c +++ b/src/modbus.c @@ -1290,7 +1290,7 @@ int modbus_write_registers(modbus_t *ctx, int addr, int nb, const uint16_t *src) return rc; } -int modbus_mask_write_register(modbus_t *ctx, int addr, uint16_t and, uint16_t or) +int modbus_mask_write_register(modbus_t *ctx, int addr, uint16_t and_mask, uint16_t or_mask) { int rc; int req_length; @@ -1301,10 +1301,10 @@ int modbus_mask_write_register(modbus_t *ctx, int addr, uint16_t and, uint16_t o /* HACKISH, count is not used */ req_length -=2; - req[req_length++] = and >> 8; - req[req_length++] = and & 0x00ff; - req[req_length++] = or >> 8; - req[req_length++] = or & 0x00ff; + req[req_length++] = and_mask >> 8; + req[req_length++] = and_mask & 0x00ff; + req[req_length++] = or_mask >> 8; + req[req_length++] = or_mask & 0x00ff; rc = send_msg(ctx, req, req_length); if (rc > 0) { diff --git a/src/modbus.h b/src/modbus.h index 964a647..70a011f 100644 --- a/src/modbus.h +++ b/src/modbus.h @@ -185,7 +185,7 @@ EXPORT int modbus_write_bit(modbus_t *ctx, int coil_addr, int status); EXPORT int modbus_write_register(modbus_t *ctx, int reg_addr, int value); EXPORT int modbus_write_bits(modbus_t *ctx, int addr, int nb, const uint8_t *data); EXPORT int modbus_write_registers(modbus_t *ctx, int addr, int nb, const uint16_t *data); -EXPORT int modbus_mask_write_register(modbus_t *ctx, int addr, uint16_t and, uint16_t or); +EXPORT int modbus_mask_write_register(modbus_t *ctx, int addr, uint16_t and_mask, uint16_t or_mask); EXPORT int modbus_write_and_read_registers(modbus_t *ctx, int write_addr, int write_nb, const uint16_t *src, int read_addr, int read_nb, uint16_t *dest);