Commit bf763c96cdd543fd471d5730f0cf01f6441c51a8
1 parent
6e06eb7d
Rename to modbus_read_and_write_registers to follow the new API
Showing
5 changed files
with
22 additions
and
19 deletions
src/modbus.c
| @@ -1487,9 +1487,9 @@ int modbus_write_registers(modbus_t *ctx, int addr, int nb, const uint16_t *data | @@ -1487,9 +1487,9 @@ int modbus_write_registers(modbus_t *ctx, int addr, int nb, const uint16_t *data | ||
| 1487 | 1487 | ||
| 1488 | /* Read multiple registers from remote device to dest array and write multiple | 1488 | /* Read multiple registers from remote device to dest array and write multiple |
| 1489 | registers to remote device from data array. */ | 1489 | registers to remote device from data array. */ |
| 1490 | -int modbus_read_and_write_holding_registers(modbus_t *ctx, | ||
| 1491 | - int read_addr, int read_nb, uint16_t *dest, | ||
| 1492 | - int write_addr, int write_nb, const uint16_t *data) | 1490 | +int modbus_read_and_write_registers(modbus_t *ctx, |
| 1491 | + int read_addr, int read_nb, uint16_t *dest, | ||
| 1492 | + int write_addr, int write_nb, const uint16_t *data) | ||
| 1493 | { | 1493 | { |
| 1494 | int rc; | 1494 | int rc; |
| 1495 | int req_length; | 1495 | int req_length; |
| @@ -1501,7 +1501,7 @@ int modbus_read_and_write_holding_registers(modbus_t *ctx, | @@ -1501,7 +1501,7 @@ int modbus_read_and_write_holding_registers(modbus_t *ctx, | ||
| 1501 | if (read_nb > MODBUS_MAX_READ_REGISTERS) { | 1501 | if (read_nb > MODBUS_MAX_READ_REGISTERS) { |
| 1502 | if (ctx->debug) { | 1502 | if (ctx->debug) { |
| 1503 | fprintf(stderr, | 1503 | fprintf(stderr, |
| 1504 | - "ERROR Too many holding registers requested (%d > %d)\n", | 1504 | + "ERROR Too many registers requested (%d > %d)\n", |
| 1505 | read_nb, MODBUS_MAX_READ_REGISTERS); | 1505 | read_nb, MODBUS_MAX_READ_REGISTERS); |
| 1506 | } | 1506 | } |
| 1507 | errno = EMBMDATA; | 1507 | errno = EMBMDATA; |
| @@ -1511,7 +1511,7 @@ int modbus_read_and_write_holding_registers(modbus_t *ctx, | @@ -1511,7 +1511,7 @@ int modbus_read_and_write_holding_registers(modbus_t *ctx, | ||
| 1511 | if (write_nb > MODBUS_MAX_RW_WRITE_REGISTERS) { | 1511 | if (write_nb > MODBUS_MAX_RW_WRITE_REGISTERS) { |
| 1512 | if (ctx->debug) { | 1512 | if (ctx->debug) { |
| 1513 | fprintf(stderr, | 1513 | fprintf(stderr, |
| 1514 | - "ERROR Too many holding registers wrote (%d > %d)\n", | 1514 | + "ERROR Too many registers to write (%d > %d)\n", |
| 1515 | write_nb, MODBUS_MAX_RW_WRITE_REGISTERS); | 1515 | write_nb, MODBUS_MAX_RW_WRITE_REGISTERS); |
| 1516 | } | 1516 | } |
| 1517 | errno = EMBMDATA; | 1517 | errno = EMBMDATA; |
src/modbus.h
| @@ -182,9 +182,9 @@ int modbus_write_bit(modbus_t *ctx, int coil_addr, int state); | @@ -182,9 +182,9 @@ int modbus_write_bit(modbus_t *ctx, int coil_addr, int state); | ||
| 182 | int modbus_write_register(modbus_t *ctx, int reg_addr, int value); | 182 | int modbus_write_register(modbus_t *ctx, int reg_addr, int value); |
| 183 | int modbus_write_bits(modbus_t *ctx, int addr, int nb, const uint8_t *data); | 183 | int modbus_write_bits(modbus_t *ctx, int addr, int nb, const uint8_t *data); |
| 184 | int modbus_write_registers(modbus_t *ctx, int addr, int nb, const uint16_t *data); | 184 | int modbus_write_registers(modbus_t *ctx, int addr, int nb, const uint16_t *data); |
| 185 | -int modbus_read_and_write_holding_registers(modbus_t *ctx, int read_addr, | ||
| 186 | - int read_nb, uint16_t *dest, int write_addr, | ||
| 187 | - int write_nb, const uint16_t *data); | 185 | +int modbus_read_and_write_registers(modbus_t *ctx, int read_addr, |
| 186 | + int read_nb, uint16_t *dest, int write_addr, | ||
| 187 | + int write_nb, const uint16_t *data); | ||
| 188 | int modbus_report_slave_id(modbus_t *ctx, uint8_t *dest); | 188 | int modbus_report_slave_id(modbus_t *ctx, uint8_t *dest); |
| 189 | 189 | ||
| 190 | modbus_mapping_t* modbus_mapping_new(int nb_coil_status, int nb_input_status, | 190 | modbus_mapping_t* modbus_mapping_new(int nb_coil_status, int nb_input_status, |
tests/bandwidth-client.c
| @@ -148,7 +148,9 @@ int main(void) | @@ -148,7 +148,9 @@ int main(void) | ||
| 148 | nb_points = MODBUS_MAX_RW_WRITE_REGISTERS; | 148 | nb_points = MODBUS_MAX_RW_WRITE_REGISTERS; |
| 149 | start = gettime_ms(); | 149 | start = gettime_ms(); |
| 150 | for (i=0; i<NB_LOOPS; i++) { | 150 | for (i=0; i<NB_LOOPS; i++) { |
| 151 | - rc = modbus_read_and_write_holding_registers(ctx, 0, nb_points, tab_reg,0, nb_points, tab_reg); | 151 | + rc = modbus_read_and_write_registers(ctx, |
| 152 | + 0, nb_points, tab_reg, | ||
| 153 | + 0, nb_points, tab_reg); | ||
| 152 | if (rc == -1) { | 154 | if (rc == -1) { |
| 153 | fprintf(stderr, "%s\n", modbus_strerror(errno)); | 155 | fprintf(stderr, "%s\n", modbus_strerror(errno)); |
| 154 | return -1; | 156 | return -1; |
tests/random-test-client.c
| @@ -193,9 +193,10 @@ int main(void) | @@ -193,9 +193,10 @@ int main(void) | ||
| 193 | } | 193 | } |
| 194 | } | 194 | } |
| 195 | } | 195 | } |
| 196 | - /* R/W MULTIPLE REGISTERS*/ | ||
| 197 | - rc = modbus_read_and_write_holding_registers(ctx, addr, nb, tab_rp_registers, | ||
| 198 | - addr, nb, tab_rw_rq_registers); | 196 | + /* R/W MULTIPLE REGISTERS */ |
| 197 | + rc = modbus_read_and_write_registers(ctx, | ||
| 198 | + addr, nb, tab_rp_registers, | ||
| 199 | + addr, nb, tab_rw_rq_registers); | ||
| 199 | if (rc != nb) { | 200 | if (rc != nb) { |
| 200 | printf("ERROR modbus_read_and_write_registers (%d)\n", rc); | 201 | printf("ERROR modbus_read_and_write_registers (%d)\n", rc); |
| 201 | printf("Address = %d, nb = %d\n", addr, nb); | 202 | printf("Address = %d, nb = %d\n", addr, nb); |
tests/unit-test-client.c
| @@ -247,13 +247,13 @@ int main(void) | @@ -247,13 +247,13 @@ int main(void) | ||
| 247 | 247 | ||
| 248 | /* Write registers to zero from tab_rp_registers and read registers to | 248 | /* Write registers to zero from tab_rp_registers and read registers to |
| 249 | tab_rp_registers. They should be same as UT_REGISTERS_TAB. */ | 249 | tab_rp_registers. They should be same as UT_REGISTERS_TAB. */ |
| 250 | - rc = modbus_read_and_write_holding_registers(ctx, | ||
| 251 | - UT_REGISTERS_ADDRESS, | ||
| 252 | - UT_REGISTERS_NB_POINTS, | ||
| 253 | - tab_rp_registers, | ||
| 254 | - UT_REGISTERS_ADDRESS, | ||
| 255 | - UT_REGISTERS_NB_POINTS, | ||
| 256 | - tab_rp_registers); | 250 | + rc = modbus_read_and_write_registers(ctx, |
| 251 | + UT_REGISTERS_ADDRESS, | ||
| 252 | + UT_REGISTERS_NB_POINTS, | ||
| 253 | + tab_rp_registers, | ||
| 254 | + UT_REGISTERS_ADDRESS, | ||
| 255 | + UT_REGISTERS_NB_POINTS, | ||
| 256 | + tab_rp_registers); | ||
| 257 | printf("4/5 modbus_read_and_write_registers, read part: "); | 257 | printf("4/5 modbus_read_and_write_registers, read part: "); |
| 258 | if (rc != UT_REGISTERS_NB_POINTS) { | 258 | if (rc != UT_REGISTERS_NB_POINTS) { |
| 259 | printf("FAILED (nb points %d)\n", rc); | 259 | printf("FAILED (nb points %d)\n", rc); |