diff --git a/examples/arduino/compile-examples.sh b/examples/arduino/compile-examples.sh index f0e8928..3b76c59 100755 --- a/examples/arduino/compile-examples.sh +++ b/examples/arduino/compile-examples.sh @@ -10,6 +10,7 @@ then fi # Set up example folders +rm -rf build/arduino mkdir -p build/arduino cp -r examples/arduino build cp nanomodbus.h nanomodbus.c build/arduino/server-rtu/ @@ -20,5 +21,6 @@ arduino-cli core update-index arduino-cli core install arduino:avr # Compile both examples -arduino-cli compile -b $BOARD --output-dir build/arduino -- build/arduino/server-rtu/server-rtu.ino -arduino-cli compile -b $BOARD --output-dir build/arduino -- build/arduino/client-rtu/client-rtu.ino +arduino-cli compile --clean -b $BOARD --output-dir build/arduino -- build/arduino/server-rtu +arduino-cli compile --clean -b $BOARD --output-dir build/arduino -- build/arduino/client-rtu + diff --git a/examples/arduino/server-rtu/server-rtu.ino b/examples/arduino/server-rtu/server-rtu.ino index 647157b..674261d 100644 --- a/examples/arduino/server-rtu/server-rtu.ino +++ b/examples/arduino/server-rtu/server-rtu.ino @@ -42,7 +42,7 @@ void onError() { } -nmbs_error handle_read_coils(uint16_t address, uint16_t quantity, nmbs_bitfield coils_out, void *arg) { +nmbs_error handle_read_coils(uint16_t address, uint16_t quantity, nmbs_bitfield coils_out, uint8_t unit_id, void *arg) { if (address + quantity > COILS_ADDR_MAX + 1) return NMBS_EXCEPTION_ILLEGAL_DATA_ADDRESS; @@ -56,7 +56,7 @@ nmbs_error handle_read_coils(uint16_t address, uint16_t quantity, nmbs_bitfield } -nmbs_error handle_write_multiple_coils(uint16_t address, uint16_t quantity, const nmbs_bitfield coils, void *arg) { +nmbs_error handle_write_multiple_coils(uint16_t address, uint16_t quantity, const nmbs_bitfield coils, uint8_t unit_id, void *arg) { if (address + quantity > COILS_ADDR_MAX + 1) return NMBS_EXCEPTION_ILLEGAL_DATA_ADDRESS; @@ -69,7 +69,7 @@ nmbs_error handle_write_multiple_coils(uint16_t address, uint16_t quantity, cons } -nmbs_error handler_read_holding_registers(uint16_t address, uint16_t quantity, uint16_t* registers_out, void *arg) { +nmbs_error handler_read_holding_registers(uint16_t address, uint16_t quantity, uint16_t* registers_out, uint8_t unit_id, void *arg) { if (address + quantity > REGS_ADDR_MAX + 1) return NMBS_EXCEPTION_ILLEGAL_DATA_ADDRESS; @@ -81,7 +81,7 @@ nmbs_error handler_read_holding_registers(uint16_t address, uint16_t quantity, u } -nmbs_error handle_write_multiple_registers(uint16_t address, uint16_t quantity, const uint16_t* registers, void *arg) { +nmbs_error handle_write_multiple_registers(uint16_t address, uint16_t quantity, const uint16_t* registers, uint8_t unit_id, void *arg) { if (address + quantity > REGS_ADDR_MAX + 1) return NMBS_EXCEPTION_ILLEGAL_DATA_ADDRESS; @@ -102,7 +102,7 @@ void setup() { void loop() { - nmbs_platform_conf platform_conf = {0}; + nmbs_platform_conf platform_conf; platform_conf.transport = NMBS_TRANSPORT_RTU; platform_conf.read = read_serial; platform_conf.write = write_serial;