-
Notifications
You must be signed in to change notification settings - Fork 3k
Update ODIN drivers to v3.0.0 RC1 #7579
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
Update ODIN drivers to v3.0.0 RC1 #7579
Conversation
How to get this patch #7579 |
@mlubinsky Fetch this via remote. One of the approaches could be
|
I can see now why this was marked as feature. First two commits : one is fixing tests, another one is adding new feature. I believe this 2 shall be sent separately (odin update driver would depend on them). Can you split this PR please |
revert the changes related to wifi tests, will be push in a seperate PR. @0xc0170 |
@AmmadRehmat could you please create a new PR for fix of WiFi tests? |
@asifrizwanubx
In order to run TCP and UDP tests you need to provide test configs in |
Thanks, is adding |
I don't see where this flag Also, I don't much like this Why would you not have separate class that implements the AP functions on top of So instead of
You would do:
Would allow you to get rid of |
yes it is part of this PR without it driver with AP functionality didn't work. |
We have added the description of DEVICE_WIFI_AP in PR and by this macro we will restrict the application use of station and AP at a time. Otherwise it will not work. We will deliver soon a public example for AP with proper documentation. Could you please point out where will I add description of DEVICE_WIFI_AP? |
@SeppoTakalo do you have further requests/suggestions? |
I need @kjbracey-arm and @mikaleppanen to review this, but Kevin is still on vacation. This PR adds |
@SeppoTakalo
|
@AmmadRehmat Thanks. Please note that you can enable full set of TCP+UDP tests by enabling macro https://github.com/ARMmbed/mbed-os/blob/master/TESTS/netsocket/tcp/main.cpp#L137 |
Attaching extended testing reports.
|
Looks good. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cosmetic changes only
|
||
#include "emac_lwip_l2_bridge.h" | ||
#include "string.h" | ||
#include "mbed.h" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can this be replaced by header files that are required here? Rather than one header file mbed.h
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
@@ -0,0 +1,413 @@ | |||
/* mbed Microcontroller Library | |||
* Copyright (c) 2016 ARM Limited |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2018 year for new files
void LWIPMemoryManager::ref(emac_mem_buf_t *buf) | ||
{ | ||
pbuf_ref(static_cast<struct pbuf *>(buf)); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wasnt there a new line at the end of this line? Github shows there is none now, this results in warning in some toolchains
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we are working on cosmetic changes, I have noticed that in release 5.9.0, feature_lwip folder contains files which have been moved to lwipstack folder. In 5.9.3 we only have 2 files in folder feature_lwip, emac_lwip_l2_bridge.h and emac_lwip_l2_bridge.c. Should these files be moved to lwipstack folder as well?
err_t res; | ||
bool free_msg = true; | ||
|
||
_mem.ref(buf); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reference counting has not been added to general EMAC memory manager interface (EMACMemoryManager.h), but since it is needed only for this lwip specific brigde, I'm not against implementing it only to lwip memory manager for now.
* @param ssid Name of the network to connect to | ||
* @param pass Security passphrase to connect to the network | ||
* @param security Type of encryption for connection (Default: NSAPI_SECURITY_NONE) | ||
* @param channel Channel on which the connection is to be made, or 0 for any (Default: 0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there support for "0" setting? Seems to fail in is_valid_AP_channel() with channel set to zero.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The description is a little bit misleading, we will fix the description. Channel zero is not allowed but error handling for non supporting channels is available. Will fix the description soon.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are also similar descriptions about channel 0 in OdinWiFiInterface.h and in set_ap_channel() function call. They should be updated too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
@0xc0170 @mikaleppanen Mind re-reviewing? |
@mikaleppanen @0xc0170 please review it again. I made the changes according to your feedback. |
nsapi_error_t error_code = _stack.add_ethernet_interface(_emac, true, &_interface); | ||
if (error_code != NSAPI_ERROR_OK) { | ||
_interface = NULL; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Like in EMACInterface::connect(), there needs to be call here to "_interface->attach(_connection_status_cb);" in else branch to add the callback to interface. Otherwise callbacks attached between the construct and connect() do not work.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is #6562 issue due to this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that #7310 could be caused by this.
ce8ac8f
to
b934632
Compare
@kjbracey-arm commit squashed and cleaned. |
needs: review again. Needs @kjbracey-arm approval |
/morph build |
Build : SUCCESSBuild number : 2989 Triggering tests/morph test |
@kjbracey-arm @mikaleppanen #7579 (comment) Re-requesting that this PR be re-reviewewed. Comments look to be addressed. |
Exporter Build : SUCCESSBuild number : 2599 |
Test : FAILUREBuild number : 2751 |
Interesting. Test failures don't look related to PR. |
Test : SUCCESSBuild number : 2752 |
Exporter Build : FAILUREBuild number : 2601 |
I have been trying to use this AP feature. It does not work well. |
Could you please share the error or issue? Or try this example. If still you face some issue please report it. |
Description
This release contains the following new features.
This release contains the following fixes.
Known limitations
Test Results
The following tests have been performed
iar_network_wifi_logs.txt
arm_mbed_logs.txt
arm_network_wifi_logs.txt
gcc_mbed_logs.txt
gcc_network_wifi_logs.txt
iar_mbed_logs.txt
Other
"macros": ["MBED_EMAC_LWIP_L2_BRIDGE=1"],
"lwip-pbuf-pool-size":
{ "help": "Number of pbuf pool buffers", "value": "80" }
"macros": ["DEVICE_WIFI_AP=1"],
Pull request type