![]() Note that this happens on a device which is already massively deployed on the field. Just try to access some pins which are not exposed on the external connectors on the board but directly connects to the MCU, and with Mbed-OS 5.15.0 Mbed-cli 1.10.0 How is this defect reproduced ? Mbed-os-5.15.0 What version(s) of tools are you using. GCC What version of Mbed-os are you using (tag or sha) ? STM32F429AIH Toolchain(s) (name and version) displaying this defect ? Looks like it's because in those pins are not defined in PeripheralPinMaps.h, but somehow the same code worked in Mbed-OS 5.13.x and Mbed-OS 5.14.x with PeripheralPins.c. 2 3 Updated Table 1: Device summary, System requirements to add NUCLEO-F412ZG. 2 2 Updated: Features, Table 1: Device summary, System requirements to add NUCLEO-F767ZI. Document revision history Date Revision Changes 2 1 Initial version. I thought I had it sorted out like this while (Ethernet.Our customer is using STM32F429AIH6 in production device, and recently they tried to upgrade to Mbed-OS 5.15.0 and found that there are pin map errors on some of the pins they are using.įor example, they are using PG_7 to reset the NB-IoT modem (this pin is defined in NUCLEO_F429ZI), and they are seeing assertion error in pin_function:Īnd this was called from gpio_init() -> gpio_set() -> pin_function(.) Revision history NUCLEO-XXXXZX 4/5 DocID028659 Rev 6 Revision history Table 4. If ( ( (linkStatus = LinkON) || !isW5500 ) & ((uint32_t) localEthernetIP != 0) ) LinkStatus = (int) Ethernet.linkStatus() ĮT_LOGINFO3(F("localEthernetIP = "), localEthernetIP, F(", linkStatus = "), (linkStatus = LinkON) ? F("LinkON") : F("LinkOFF") ) ![]() The linkStatus() is not working with W5100. If ( ( linkStatus = 1 ) & ((uint32_t) localEthernetIP != 0) ) You can look at the following code snippet, taken from Ethernet_STM32 example of new Ethernet_Manager_STM32 library for a way to handle the LinkStatus void heartBeatPrint()ĮT_LOGINFO3(F("localEthernetIP = "), localEthernetIP, F(", linkStatus = "), (linkStatus = 1) ? F("LinkON") : F("LinkOFF") ) If you have some implementation issue, consult and learn from the source code, then write some short simple code to verify your assumption. That's why the open-source community will come to help you by making the source code public. There are too many different implementations and minute details that there is no easy way (and also not interesting job) for library writers to document and satisfy every user and all use cases. To modify Ethernet2 library to add function link() To cover all the cases, it's better to use as follows:.You have to use while (Ethernet.link() != 1) returns the link status as a string "LINK" or "NO LINK" returns the linkstate, 1 = linked, 0 = no link See post #12Įthernet3 (and Ethernet2 after fixed) library has the similar function you can use You have to modify your code to while (Ethernet.linkStatus() != LinkON) Įthernet2 has no function to detect the link status. Ethernet, EthernetLarge, EthernerENC and STM32Ethernet Libraries all have that functionīe careful that there is a state Unknown.You can have a look at the relating Ethernetx library source code, all in public domain: This issue has nothing to do with the EthernetWebServer_STM32 library, because this is controlled by the underlying Ethernetx libraries. Serial.print(F("HTTP EthernetWebServer started IP : ")) start the ethernet connection and the server: Message += (thod() = HTTP_GET) ? "GET" : "POST" Message += " " + server.argName(i) + ": " + server.arg(i) + "\n" nd(405, "text/plain", "Method Not Allowed") Select the IP address according to your local networkīody \ Enter a MAC address and IP address for your controller below. ![]() The STM32 Nucleo boards do not require any separate probe as they integrate the ST-LINK/V2-1 debugger and programmer.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |