Skip to content

Add Arduino.h back #63

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 28, 2021
Merged

Add Arduino.h back #63

merged 2 commits into from
May 28, 2021

Conversation

ant32
Copy link
Contributor

@ant32 ant32 commented May 26, 2021

Removing Arduino.h causes compile issues on stm32duino so adding back just the needed dependency.

Here is the definition of delayMicroseconds in stm32duino https://github.com/stm32duino/Arduino_Core_STM32/blob/a7283739a4d8bafe95c9f9b9156e6f82a1ebbd75/cores/arduino/wiring_time.h#L64

this breaking change was introduced on #58 pull request

Compiling .pio/build/universal/lib640/ArduinoModbus/libmodbus/modbus.c.o
.pio/libdeps/universal/ArduinoModbus/src/libmodbus/modbus.c: In function '_sleep_response_timeout':
.pio/libdeps/universal/ArduinoModbus/src/libmodbus/modbus.c:156:5: warning: implicit declaration of function 'delay' [-Wimplicit-function-declaration]
  156 |     delay(ctx->response_timeout.tv_sec * 1000);
      |     ^~~~~
.pio/libdeps/universal/ArduinoModbus/src/libmodbus/modbus.c:157:5: warning: implicit declaration of function 'delayMicroseconds' [-Wimplicit-function-declaration]
  157 |     delayMicroseconds(ctx->response_timeout.tv_usec);
      |     ^~~~~~~~~~~~~~~~~
Archiving .pio/build/universal/lib640/libArduinoModbus.a
Indexing .pio/build/universal/lib640/libArduinoModbus.a
Linking .pio/build/universal/firmware.elf
/home/user/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: .pio/build/universal/lib640/libArduinoModbus.a(modbus.c.o): in function `_sleep_response_timeout':
modbus.c:(.text._sleep_response_timeout+0x1e): undefined reference to `delayMicroseconds'
collect2: error: ld returned 1 exit status
*** [.pio/build/universal/firmware.elf] Error 1

@ant32
Copy link
Contributor Author

ant32 commented May 26, 2021

@aentinger @facchinm please review

@github-actions
Copy link

Memory usage change @ eee9c5b

Board flash % RAM for global variables %
arduino:avr:leonardo 💚 -8 - -8 -0.03 - -0.03 0 - 0 0.0 - 0.0
arduino:megaavr:uno2018:mode=off ❔ -8 - +18 -0.02 - +0.04 0 - 0 0.0 - 0.0
arduino:samd:mkrwifi1010 💚 -88 - -88 -0.03 - -0.03 0 - 0 0.0 - 0.0
Click for full report table
Board examples/RTU/ModbusRTUClientKitchenSink
flash
% examples/RTU/ModbusRTUClientKitchenSink
RAM for global variables
% examples/RTU/ModbusRTUClientToggle
flash
% examples/RTU/ModbusRTUClientToggle
RAM for global variables
% examples/RTU/ModbusRTUServerKitchenSink
flash
% examples/RTU/ModbusRTUServerKitchenSink
RAM for global variables
% examples/RTU/ModbusRTUServerLED
flash
% examples/RTU/ModbusRTUServerLED
RAM for global variables
% examples/RTU/ModbusRTUTemperatureSensor
flash
% examples/RTU/ModbusRTUTemperatureSensor
RAM for global variables
% examples/TCP/EthernetModbusClientToggle
flash
% examples/TCP/EthernetModbusClientToggle
RAM for global variables
% examples/TCP/EthernetModbusServerLED
flash
% examples/TCP/EthernetModbusServerLED
RAM for global variables
% examples/TCP/WiFiModbusClientToggle
flash
% examples/TCP/WiFiModbusClientToggle
RAM for global variables
% examples/TCP/WiFiModbusServerLED
flash
% examples/TCP/WiFiModbusServerLED
RAM for global variables
%
arduino:avr:leonardo -8 -0.03 0 0.0 -8 -0.03 0 0.0 -8 -0.03 0 0.0 -8 -0.03 0 0.0 -8 -0.03 0 0.0 -8 -0.03 0 0.0 -8 -0.03 0 0.0
arduino:megaavr:uno2018:mode=off -8 -0.02 0 0.0 -8 -0.02 0 0.0 18 0.04 0 0.0 18 0.04 0 0.0 -8 -0.02 0 0.0 -8 -0.02 0 0.0 -8 -0.02 0 0.0 -8 -0.02 0 0.0 -8 -0.02 0 0.0
arduino:samd:mkrwifi1010 -88 -0.03 0 0.0 -88 -0.03 0 0.0 -88 -0.03 0 0.0 -88 -0.03 0 0.0 -88 -0.03 0 0.0 -88 -0.03 0 0.0 -88 -0.03 0 0.0 -88 -0.03 0 0.0 -88 -0.03 0 0.0
Click for full report CSV
Board,examples/RTU/ModbusRTUClientKitchenSink<br>flash,%,examples/RTU/ModbusRTUClientKitchenSink<br>RAM for global variables,%,examples/RTU/ModbusRTUClientToggle<br>flash,%,examples/RTU/ModbusRTUClientToggle<br>RAM for global variables,%,examples/RTU/ModbusRTUServerKitchenSink<br>flash,%,examples/RTU/ModbusRTUServerKitchenSink<br>RAM for global variables,%,examples/RTU/ModbusRTUServerLED<br>flash,%,examples/RTU/ModbusRTUServerLED<br>RAM for global variables,%,examples/RTU/ModbusRTUTemperatureSensor<br>flash,%,examples/RTU/ModbusRTUTemperatureSensor<br>RAM for global variables,%,examples/TCP/EthernetModbusClientToggle<br>flash,%,examples/TCP/EthernetModbusClientToggle<br>RAM for global variables,%,examples/TCP/EthernetModbusServerLED<br>flash,%,examples/TCP/EthernetModbusServerLED<br>RAM for global variables,%,examples/TCP/WiFiModbusClientToggle<br>flash,%,examples/TCP/WiFiModbusClientToggle<br>RAM for global variables,%,examples/TCP/WiFiModbusServerLED<br>flash,%,examples/TCP/WiFiModbusServerLED<br>RAM for global variables,%
arduino:avr:leonardo,-8,-0.03,0,0.0,-8,-0.03,0,0.0,-8,-0.03,0,0.0,-8,-0.03,0,0.0,-8,-0.03,0,0.0,-8,-0.03,0,0.0,-8,-0.03,0,0.0
arduino:megaavr:uno2018:mode=off,-8,-0.02,0,0.0,-8,-0.02,0,0.0,18,0.04,0,0.0,18,0.04,0,0.0,-8,-0.02,0,0.0,-8,-0.02,0,0.0,-8,-0.02,0,0.0,-8,-0.02,0,0.0,-8,-0.02,0,0.0
arduino:samd:mkrwifi1010,-88,-0.03,0,0.0,-88,-0.03,0,0.0,-88,-0.03,0,0.0,-88,-0.03,0,0.0,-88,-0.03,0,0.0,-88,-0.03,0,0.0,-88,-0.03,0,0.0,-88,-0.03,0,0.0,-88,-0.03,0,0.0

@facchinm
Copy link
Contributor

Hi @ant32 ,
readding the include breaks the compilation on mbed platform; since the error is due to delay being declared static inline in a .h, I'd rather add the correct include between #ifdef STM32DUINO or similar

@CLAassistant
Copy link

CLAassistant commented May 27, 2021

CLA assistant check
All committers have signed the CLA.

@ant32
Copy link
Contributor Author

ant32 commented May 27, 2021

@facchinm
Made the changes and included only the header that contains delay and delayMicroseconds code. Did some research and it looks like the correct define is ARDUINO_ARCH_STM32 let me know if you'd like me to rebase and or create a new pull request

@github-actions
Copy link

Memory usage change @ 8495ab5

Board flash % RAM for global variables %
arduino:avr:leonardo 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:mbed:envie_m7 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:mbed:nano33ble 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:megaavr:uno2018:mode=off 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwifi1010 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
Click for full report table
Board examples/RTU/ModbusRTUClientKitchenSink
flash
% examples/RTU/ModbusRTUClientKitchenSink
RAM for global variables
% examples/RTU/ModbusRTUClientToggle
flash
% examples/RTU/ModbusRTUClientToggle
RAM for global variables
% examples/RTU/ModbusRTUServerKitchenSink
flash
% examples/RTU/ModbusRTUServerKitchenSink
RAM for global variables
% examples/RTU/ModbusRTUServerLED
flash
% examples/RTU/ModbusRTUServerLED
RAM for global variables
% examples/RTU/ModbusRTUTemperatureSensor
flash
% examples/RTU/ModbusRTUTemperatureSensor
RAM for global variables
% examples/TCP/EthernetModbusClientToggle
flash
% examples/TCP/EthernetModbusClientToggle
RAM for global variables
% examples/TCP/EthernetModbusServerLED
flash
% examples/TCP/EthernetModbusServerLED
RAM for global variables
% examples/TCP/WiFiModbusClientToggle
flash
% examples/TCP/WiFiModbusClientToggle
RAM for global variables
% examples/TCP/WiFiModbusServerLED
flash
% examples/TCP/WiFiModbusServerLED
RAM for global variables
%
arduino:avr:leonardo 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0
arduino:mbed:envie_m7 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0
arduino:mbed:nano33ble 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0
arduino:megaavr:uno2018:mode=off 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0
arduino:samd:mkrwifi1010 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0
Click for full report CSV
Board,examples/RTU/ModbusRTUClientKitchenSink<br>flash,%,examples/RTU/ModbusRTUClientKitchenSink<br>RAM for global variables,%,examples/RTU/ModbusRTUClientToggle<br>flash,%,examples/RTU/ModbusRTUClientToggle<br>RAM for global variables,%,examples/RTU/ModbusRTUServerKitchenSink<br>flash,%,examples/RTU/ModbusRTUServerKitchenSink<br>RAM for global variables,%,examples/RTU/ModbusRTUServerLED<br>flash,%,examples/RTU/ModbusRTUServerLED<br>RAM for global variables,%,examples/RTU/ModbusRTUTemperatureSensor<br>flash,%,examples/RTU/ModbusRTUTemperatureSensor<br>RAM for global variables,%,examples/TCP/EthernetModbusClientToggle<br>flash,%,examples/TCP/EthernetModbusClientToggle<br>RAM for global variables,%,examples/TCP/EthernetModbusServerLED<br>flash,%,examples/TCP/EthernetModbusServerLED<br>RAM for global variables,%,examples/TCP/WiFiModbusClientToggle<br>flash,%,examples/TCP/WiFiModbusClientToggle<br>RAM for global variables,%,examples/TCP/WiFiModbusServerLED<br>flash,%,examples/TCP/WiFiModbusServerLED<br>RAM for global variables,%
arduino:avr:leonardo,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0
arduino:mbed:envie_m7,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,,,,,,,,
arduino:mbed:nano33ble,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,,,,,,,,
arduino:megaavr:uno2018:mode=off,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0
arduino:samd:mkrwifi1010,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0

@facchinm
Copy link
Contributor

LGTM! I'll squash and merge 😉

@facchinm facchinm merged commit 609eba3 into arduino-libraries:master May 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants