Commit 862af10b9864a896bbf81850d794ee514f9c0d1c

Authored by Stéphane Raimbault
1 parent e4fb46fe

Change arg value from int to const uint16_t in modbus_write_register

Closes #461
doc/modbus_write_register.txt
... ... @@ -9,7 +9,7 @@ modbus_write_register - write a single register
9 9  
10 10 SYNOPSIS
11 11 --------
12   -*int modbus_write_register(modbus_t *'ctx', int 'addr', int 'value');*
  12 +*int modbus_write_register(modbus_t *'ctx', int 'addr', const uint16_t 'value');*
13 13  
14 14  
15 15 DESCRIPTION
... ...
src/modbus.c
... ... @@ -1238,7 +1238,7 @@ int modbus_read_input_registers(modbus_t *ctx, int addr, int nb,
1238 1238  
1239 1239 /* Write a value to the specified register of the remote device.
1240 1240 Used by write_bit and write_register */
1241   -static int write_single(modbus_t *ctx, int function, int addr, int value)
  1241 +static int write_single(modbus_t *ctx, int function, int addr, const uint16_t value)
1242 1242 {
1243 1243 int rc;
1244 1244 int req_length;
... ... @@ -1249,7 +1249,7 @@ static int write_single(modbus_t *ctx, int function, int addr, int value)
1249 1249 return -1;
1250 1250 }
1251 1251  
1252   - req_length = ctx->backend->build_request_basis(ctx, function, addr, value, req);
  1252 + req_length = ctx->backend->build_request_basis(ctx, function, addr, (int) value, req);
1253 1253  
1254 1254 rc = send_msg(ctx, req, req_length);
1255 1255 if (rc > 0) {
... ... @@ -1279,7 +1279,7 @@ int modbus_write_bit(modbus_t *ctx, int addr, int status)
1279 1279 }
1280 1280  
1281 1281 /* Writes a value in one register of the remote device */
1282   -int modbus_write_register(modbus_t *ctx, int addr, int value)
  1282 +int modbus_write_register(modbus_t *ctx, int addr, const uint16_t value)
1283 1283 {
1284 1284 if (ctx == NULL) {
1285 1285 errno = EINVAL;
... ...
src/modbus.h
... ... @@ -208,7 +208,7 @@ MODBUS_API int modbus_read_input_bits(modbus_t *ctx, int addr, int nb, uint8_t *
208 208 MODBUS_API int modbus_read_registers(modbus_t *ctx, int addr, int nb, uint16_t *dest);
209 209 MODBUS_API int modbus_read_input_registers(modbus_t *ctx, int addr, int nb, uint16_t *dest);
210 210 MODBUS_API int modbus_write_bit(modbus_t *ctx, int coil_addr, int status);
211   -MODBUS_API int modbus_write_register(modbus_t *ctx, int reg_addr, int value);
  211 +MODBUS_API int modbus_write_register(modbus_t *ctx, int reg_addr, const uint16_t value);
212 212 MODBUS_API int modbus_write_bits(modbus_t *ctx, int addr, int nb, const uint8_t *data);
213 213 MODBUS_API int modbus_write_registers(modbus_t *ctx, int addr, int nb, const uint16_t *data);
214 214 MODBUS_API int modbus_mask_write_register(modbus_t *ctx, int addr, uint16_t and_mask, uint16_t or_mask);
... ...