Skip to content
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

SPIDrv improved waitForSlaveReady function #286

Conversation

andreagilardoni
Copy link

changed deault behaviour for watchdog kick and added timeout as parameter

changed deault behaviour for watchdog kick and added timeout as
parameter
Copy link

Memory usage change @ a275da5

Board flash % RAM for global variables %
arduino:mbed_nano:nanorp2040connect 🔺 0 - +148 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:megaavr:uno2018:mode=on 🔺 0 - +72 0.0 - +0.15 0 - 0 0.0 - 0.0
arduino:samd:mkrvidor4000 🔺 0 - +148 0.0 - +0.06 0 - 0 0.0 - 0.0
arduino:samd:mkrwifi1010 🔺 0 - +148 0.0 - +0.06 0 - 0 0.0 - 0.0
arduino:samd:nano_33_iot 🔺 0 - +148 0.0 - +0.06 0 - 0 0.0 - 0.0
Click for full report table
Board examples/AP_SimpleWebServer
flash
% examples/AP_SimpleWebServer
RAM for global variables
% examples/ConnectNoEncryption
flash
% examples/ConnectNoEncryption
RAM for global variables
% examples/ConnectWithWEP
flash
% examples/ConnectWithWEP
RAM for global variables
% examples/ConnectWithWPA
flash
% examples/ConnectWithWPA
RAM for global variables
% examples/ConnectWithWPA2Enterprise
flash
% examples/ConnectWithWPA2Enterprise
RAM for global variables
% examples/ScanNetworks
flash
% examples/ScanNetworks
RAM for global variables
% examples/ScanNetworksAdvanced
flash
% examples/ScanNetworksAdvanced
RAM for global variables
% examples/SimpleWebServerWiFi
flash
% examples/SimpleWebServerWiFi
RAM for global variables
% examples/Tools/CheckFirmwareVersion
flash
% examples/Tools/CheckFirmwareVersion
RAM for global variables
% examples/Tools/FirmwareUpdater
flash
% examples/Tools/FirmwareUpdater
RAM for global variables
% examples/Tools/SerialNINAPassthrough
flash
% examples/Tools/SerialNINAPassthrough
RAM for global variables
% examples/WiFiChatServer
flash
% examples/WiFiChatServer
RAM for global variables
% examples/WiFiPing
flash
% examples/WiFiPing
RAM for global variables
% examples/WiFiSSLClient
flash
% examples/WiFiSSLClient
RAM for global variables
% examples/WiFiStorage
flash
% examples/WiFiStorage
RAM for global variables
% examples/WiFiUdpNtpClient
flash
% examples/WiFiUdpNtpClient
RAM for global variables
% examples/WiFiUdpSendReceiveString
flash
% examples/WiFiUdpSendReceiveString
RAM for global variables
% examples/WiFiWebClient
flash
% examples/WiFiWebClient
RAM for global variables
% examples/WiFiWebClientRepeating
flash
% examples/WiFiWebClientRepeating
RAM for global variables
% examples/WiFiWebServer
flash
% examples/WiFiWebServer
RAM for global variables
%
arduino:mbed_nano:nanorp2040connect 140 0.0 0 0.0 68 0.0 0 0.0 68 0.0 0 0.0 68 0.0 0 0.0 68 0.0 0 0.0 52 0.0 0 0.0 68 0.0 0 0.0 148 0.0 0 0.0 12 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 148 0.0 0 0.0 92 0.0 0 0.0 132 0.0 0 0.0 12 0.0 0 0.0 140 0.0 0 0.0 140 0.0 0 0.0 132 0.0 0 0.0 132 0.0 0 0.0 148 0.0 0 0.0
arduino:megaavr:uno2018:mode=on 0 0.0 0 0.0 58 0.12 0 0.0 58 0.12 0 0.0 58 0.12 0 0.0 58 0.12 0 0.0 72 0.15 0 0.0 72 0.15 0 0.0 0 0.0 0 0.0 72 0.15 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 58 0.12 0 0.0 0 0.0 0 0.0 72 0.15 0 0.0 58 0.12 0 0.0 58 0.12 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0
arduino:samd:mkrvidor4000 140 0.05 0 0.0 68 0.03 0 0.0 68 0.03 0 0.0 68 0.03 0 0.0 68 0.03 0 0.0 52 0.02 0 0.0 68 0.03 0 0.0 148 0.06 0 0.0 12 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 148 0.06 0 0.0 92 0.04 0 0.0 132 0.05 0 0.0 12 0.0 0 0.0 140 0.05 0 0.0 140 0.05 0 0.0 132 0.05 0 0.0 132 0.05 0 0.0 148 0.06 0 0.0
arduino:samd:mkrwifi1010 140 0.05 0 0.0 68 0.03 0 0.0 68 0.03 0 0.0 68 0.03 0 0.0 68 0.03 0 0.0 52 0.02 0 0.0 68 0.03 0 0.0 148 0.06 0 0.0 12 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 148 0.06 0 0.0 92 0.04 0 0.0 132 0.05 0 0.0 12 0.0 0 0.0 140 0.05 0 0.0 140 0.05 0 0.0 132 0.05 0 0.0 132 0.05 0 0.0 148 0.06 0 0.0
arduino:samd:nano_33_iot 140 0.05 0 0.0 68 0.03 0 0.0 68 0.03 0 0.0 68 0.03 0 0.0 68 0.03 0 0.0 52 0.02 0 0.0 68 0.03 0 0.0 148 0.06 0 0.0 12 0.0 0 0.0 0 0.0 0 0.0 0 0.0 0 0.0 148 0.06 0 0.0 92 0.04 0 0.0 132 0.05 0 0.0 12 0.0 0 0.0 140 0.05 0 0.0 140 0.05 0 0.0 132 0.05 0 0.0 132 0.05 0 0.0 148 0.06 0 0.0
Click for full report CSV
Board,examples/AP_SimpleWebServer<br>flash,%,examples/AP_SimpleWebServer<br>RAM for global variables,%,examples/ConnectNoEncryption<br>flash,%,examples/ConnectNoEncryption<br>RAM for global variables,%,examples/ConnectWithWEP<br>flash,%,examples/ConnectWithWEP<br>RAM for global variables,%,examples/ConnectWithWPA<br>flash,%,examples/ConnectWithWPA<br>RAM for global variables,%,examples/ConnectWithWPA2Enterprise<br>flash,%,examples/ConnectWithWPA2Enterprise<br>RAM for global variables,%,examples/ScanNetworks<br>flash,%,examples/ScanNetworks<br>RAM for global variables,%,examples/ScanNetworksAdvanced<br>flash,%,examples/ScanNetworksAdvanced<br>RAM for global variables,%,examples/SimpleWebServerWiFi<br>flash,%,examples/SimpleWebServerWiFi<br>RAM for global variables,%,examples/Tools/CheckFirmwareVersion<br>flash,%,examples/Tools/CheckFirmwareVersion<br>RAM for global variables,%,examples/Tools/FirmwareUpdater<br>flash,%,examples/Tools/FirmwareUpdater<br>RAM for global variables,%,examples/Tools/SerialNINAPassthrough<br>flash,%,examples/Tools/SerialNINAPassthrough<br>RAM for global variables,%,examples/WiFiChatServer<br>flash,%,examples/WiFiChatServer<br>RAM for global variables,%,examples/WiFiPing<br>flash,%,examples/WiFiPing<br>RAM for global variables,%,examples/WiFiSSLClient<br>flash,%,examples/WiFiSSLClient<br>RAM for global variables,%,examples/WiFiStorage<br>flash,%,examples/WiFiStorage<br>RAM for global variables,%,examples/WiFiUdpNtpClient<br>flash,%,examples/WiFiUdpNtpClient<br>RAM for global variables,%,examples/WiFiUdpSendReceiveString<br>flash,%,examples/WiFiUdpSendReceiveString<br>RAM for global variables,%,examples/WiFiWebClient<br>flash,%,examples/WiFiWebClient<br>RAM for global variables,%,examples/WiFiWebClientRepeating<br>flash,%,examples/WiFiWebClientRepeating<br>RAM for global variables,%,examples/WiFiWebServer<br>flash,%,examples/WiFiWebServer<br>RAM for global variables,%
arduino:mbed_nano:nanorp2040connect,140,0.0,0,0.0,68,0.0,0,0.0,68,0.0,0,0.0,68,0.0,0,0.0,68,0.0,0,0.0,52,0.0,0,0.0,68,0.0,0,0.0,148,0.0,0,0.0,12,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,148,0.0,0,0.0,92,0.0,0,0.0,132,0.0,0,0.0,12,0.0,0,0.0,140,0.0,0,0.0,140,0.0,0,0.0,132,0.0,0,0.0,132,0.0,0,0.0,148,0.0,0,0.0
arduino:megaavr:uno2018:mode=on,0,0.0,0,0.0,58,0.12,0,0.0,58,0.12,0,0.0,58,0.12,0,0.0,58,0.12,0,0.0,72,0.15,0,0.0,72,0.15,0,0.0,0,0.0,0,0.0,72,0.15,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,58,0.12,0,0.0,0,0.0,0,0.0,72,0.15,0,0.0,58,0.12,0,0.0,58,0.12,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0
arduino:samd:mkrvidor4000,140,0.05,0,0.0,68,0.03,0,0.0,68,0.03,0,0.0,68,0.03,0,0.0,68,0.03,0,0.0,52,0.02,0,0.0,68,0.03,0,0.0,148,0.06,0,0.0,12,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,148,0.06,0,0.0,92,0.04,0,0.0,132,0.05,0,0.0,12,0.0,0,0.0,140,0.05,0,0.0,140,0.05,0,0.0,132,0.05,0,0.0,132,0.05,0,0.0,148,0.06,0,0.0
arduino:samd:mkrwifi1010,140,0.05,0,0.0,68,0.03,0,0.0,68,0.03,0,0.0,68,0.03,0,0.0,68,0.03,0,0.0,52,0.02,0,0.0,68,0.03,0,0.0,148,0.06,0,0.0,12,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,148,0.06,0,0.0,92,0.04,0,0.0,132,0.05,0,0.0,12,0.0,0,0.0,140,0.05,0,0.0,140,0.05,0,0.0,132,0.05,0,0.0,132,0.05,0,0.0,148,0.06,0,0.0
arduino:samd:nano_33_iot,140,0.05,0,0.0,68,0.03,0,0.0,68,0.03,0,0.0,68,0.03,0,0.0,68,0.03,0,0.0,52,0.02,0,0.0,68,0.03,0,0.0,148,0.06,0,0.0,12,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,148,0.06,0,0.0,92,0.04,0,0.0,132,0.05,0,0.0,12,0.0,0,0.0,140,0.05,0,0.0,140,0.05,0,0.0,132,0.05,0,0.0,132,0.05,0,0.0,148,0.06,0,0.0

Copy link
Contributor

@pennam pennam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not putting the same timeout as default?

@andreagilardoni
Copy link
Author

The rp2040 watchdog timer has a maximum value of 8s, thus when waitForSlaveReady takes longer than that it gets triggered

@pennam
Copy link
Contributor

pennam commented Jan 21, 2025

The rp2040 watchdog timer has a maximum value of 8s, thus when waitForSlaveReady takes longer than that it gets triggered

👍 yes, but in my opinion the logic is broken, doing this, also without changing the timeout you are kicking the wdog continously for the first x seconds. What we want instead is to kick it every x second. Take a look at this PR and comment

@andreagilardoni
Copy link
Author

you are right, my bad, I'll close this one in favor of that one

@per1234 per1234 added type: enhancement Proposed improvement conclusion: declined Will not be worked on topic: code Related to content of the project itself labels Jan 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
conclusion: declined Will not be worked on topic: code Related to content of the project itself type: enhancement Proposed improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants