Commit Graph

588 Commits (195fdc17d3db303c9ab6ce6cb35c9dedda29374d)

Author SHA1 Message Date
Anna Bridge 009ff7adf3
Merge pull request #12036 from kjbracey-arm/callback_fiddle
Callback extension and optimisation
2020-03-27 14:07:20 +00:00
Anna Bridge 1bbcaec04a
Merge pull request #12683 from kivaisan/socketaddress_refactor
SocketAddress rework
2020-03-27 11:30:12 +00:00
Martin Kojtal b62fdaed1f
Merge pull request #12685 from kivaisan/remove_deprecated_netsocket_methods
Remove deprecated netsocket methods
2020-03-25 10:12:55 +01:00
Kimmo Vaisanen 619a5a7bcc Netsocket: Remove deprecated constructor with open
Default constructor with separate open call should be used instead.
2020-03-24 12:46:30 +02:00
Kimmo Vaisanen 4918bc6aad TCPSocket: Remove deprecated contructor with open
Default constructor and separate open call should be used instead.
2020-03-24 12:46:30 +02:00
Kimmo Vaisanen 2cfee7be71 Netsocket: Remove deprecated InternetSocket::attach methods
InternetSocket::sigio should be used instead.
2020-03-24 12:46:30 +02:00
Kevin Bracey 4eda58893e SocketAddress rework
* Add optimised constexpr default constructor. Default construction
  was previously by a heavyweight defaulted `nsapi_addr_t` parameter.
* Remove deprecated resolving constructor.
* Take `nsapi_addr_t` inputs by constant reference rather than value.
* Inline the trivial getters and setters.
* Use `unique_ptr` to manage the text buffer.
* Make `operator bool` explicit.
* Optimise some methods.
* Update to C++11 style (default initialisers, nullptr etc)
2020-03-24 11:05:33 +02:00
jeromecoutant 488c9db81e STM32 EMAC : remove TIMEOUT issue when cablke is not plugged yet 2020-03-13 16:58:47 +01:00
Kevin Bracey bb733f1ee8 Callback updates
* Optimise clearing by adding `nullptr` overload. This overload means
  `Callback(NULL)` or `Callback(0)` will no longer work; users must
  use `Callback(nullptr)` or `Callback()`.
* Optimise clearing by not clearing storage - increases code size of
  comparison, but that is extremely rare.
* Reduce ROM used by trivial functors - share copy/destroy code.
* Config option to force trivial functors - major ROM saving by
  eliminating the "operations" table.
* Config option to eliminate comparison altogether - minor ROM saving by
  eliminating zero padding.
* Conform more to `std::function` API.
2020-03-11 15:46:03 +02:00
Anna Bridge da9f85b6af
Merge pull request #12580 from cy-arsm/cy-arsm/pr/PR_SoftAP_STA_Fix_revert
Reverting #12312 as it breaking current WiFI connect()->Disconnect() sequence
2020-03-10 12:50:27 +00:00
Martin Kojtal 0692fc65bc
Merge pull request #12567 from jeromecoutant/PR_EMAC_TRACE
STM32 EMAC : increase thread size when mbed-trace is enabled
2020-03-09 15:01:20 +00:00
Arun S 19cbfd7c15 Reverting #12312 as it breaking current WiFI
connect()->Disconnect() sequence

This reverts commit 18285e1fc1
2020-03-05 16:44:59 +05:30
Martin Kojtal 6137c98d6a
Merge pull request #12543 from kivaisan/remove_deprecated_connect
TLSSocket: Remove deprecated connect
2020-03-04 08:20:23 +00:00
jeromecoutant 3a02671028 STM32 EMAC : increase thread size when mbed-trace is enabled 2020-03-04 09:14:41 +01:00
Martin Kojtal 6677249a08
Merge pull request #12506 from kivaisan/fix_socketaddress_regression
Fix 2 string based IP address removal regressions
2020-03-04 07:52:31 +00:00
Martin Kojtal b3583f04cf
Merge pull request #12464 from jeromecoutant/PR_ETHERNET
STM32 EMAC : add configuration choice and connection check
2020-03-03 16:04:18 +00:00
Martin Kojtal eaac84be72
Merge pull request #12467 from kjbracey-arm/nsapics
Inline nsapi_create_stack(NetworkStack)
2020-03-03 14:13:28 +00:00
Kimmo Vaisanen 86dba54202 Fix L3IPInterface to use SocketAddress class for addresses
String based ip addresses has been deprecated and SocketAddress must be
used instead.
2020-03-03 12:13:51 +02:00
Kimmo Vaisanen 2987bedb68 TLSSocket: Remove deprecated connect
String based connect has been removed but was still defined in TLSSocket header for offloaded variant.

This is a regression fix for 458957d399
2020-03-03 12:08:32 +02:00
Martin Kojtal f4df4e75ea
Merge pull request #12487 from kjbracey-arm/override_nsapi
C++11-ify virtualisation in netsocket
2020-03-03 09:57:57 +00:00
jeromecoutant b15dffaef2 STM32 EMAC : add PHY ID information 2020-03-02 16:21:35 +01:00
jeromecoutant 01a186a952 STM32 EMAC : thread size is configurable 2020-03-02 16:21:23 +01:00
jeromecoutant c3c0928786 STM32 EMAC : enable mbed_trace 2020-03-02 16:21:11 +01:00
jeromecoutant 89a537b9a8 STM32 EMAC : check PHY_BSR value before connect status 2020-03-02 16:20:06 +01:00
jeromecoutant c3653c6813 STM32 EMAC : check driver function status before returning success 2020-03-02 16:19:58 +01:00
jeromecoutant 1b40076376 STM32 EMAC : more configurable
- PHY default configuration can be changed
  - AutoNegotiation
  - Speed
  - DuplexMode
- PHY register offset can be updated depending on chosen PHY

All unused parameters are cleaned.
2020-03-02 16:19:26 +01:00
Kevin Bracey d8d35eda9f C++11-ify virtualisation in netsocket
Use `override` and `final` where appropriate, and eliminate unnecessary
`virtual`.

Some other C++11 simplifications.

Reduces code size.
2020-02-28 13:34:18 +02:00
Kevin Bracey 695e872202 Correct NetworkStackWrapper::get_ip_address
Previous change that removed string-based APIs missed
`NetworkStackWrapper::get_ip_address`. Remove string-based method (which
is not overriding anything in `NetworkStack`) and add missing binary
form to implement `NetworkStack::get_ip_address`.
2020-02-28 13:29:16 +02:00
Martin Kojtal 1bf93039fb
Merge pull request #12457 from artokin/update_stm32_emac_ethernet_driver
Update STM32 EMAC driver - limit RX frame length
2020-02-28 08:45:24 +00:00
Kevin Bracey f40c5616e1 Inline nsapi_create_stack(NetworkStack)
The rather fiddly `nsapi_create_stack` template + overloads used during
socket formation don't inline their core, which is the identity operation
for `NetworkStack *` itself. Make code generation easier by having that
core be inline.
2020-02-21 15:13:14 +02:00
Martin Kojtal 8f1bf967d3
Merge pull request #11942 from michalpasztamobica/remove_deprecated_apis
IPCore String-based API removal
2020-02-21 12:14:06 +00:00
Arto Kinnunen da04cc3fcf Update STM32 EMAC driver based on review
-Fix len type
-Use ETH_RX_BUF_SIZE instead of hard-coded value 1500
2020-02-21 10:26:57 +02:00
Arto Kinnunen 6a410f89eb Update STM32 EMAC driver - limit RX frame length
DISCO_F769NI EMAC driver may return ethernet packet with illegal
length when driver is under heavy load. In one case, the received
bytes indicate frame length of 53 bytes but advertised data length
was 65518 bytes. In another case EMAC driver variable
`EthHandle.RxFrameInfos.length` contained value 0xFFFF FFFC.

As a work-around accept only 1-1500 bytes long ethernet packets.
2020-02-21 10:26:40 +02:00
Martin Kojtal 9f5ced30dc
Merge pull request #12415 from jeromecoutant/PR_H7README
STM32H7 : add readme file for dual core use
2020-02-19 12:52:10 +00:00
jeromecoutant 0c8add6e28 DISCO_H747I_CM4 compilation issue
SCB_DisableDCache() function is only available for M7 core.
2020-02-12 09:14:58 +01:00
Zhiyonh Li 128d5b5170 Update mbed_lib.json 2020-02-10 23:26:28 -08:00
Zhiyonh Li 884f9c99e3 Fixed bug that EthernetInterface doesn't detect change of connection status on ARCH_MAX board.
ARCH_MAX board uses 0x01 as PHY address, different from other NUCLEO STM32 boards. To faciliate change of PHY address of customized boards, a configuration entry eth-phyaddr was added and can be overriden as needed in mbed_app.json by adding "stm32-emac.eth-phyaddr": X. Macro ETH_ARCH_PHY_ADDRESS was also renamed to ETH_PHY_ADDRESS, because it is not only used by ARCH_MAX board but also other boards.
2020-02-10 17:56:09 -08:00
midd 5f496a694c Add missing error checks for emac power up. 2020-02-07 10:25:15 -08:00
Michal Paszta f21b8c7fc1 Remove remaining string-based API functions
This removes any compiler warnings.
2020-02-06 11:27:50 +02:00
Michal Paszta 458957d399 IPCore deprecated string-based API removal
String-based functions should be replaced with an explicit DNS hostname resolution and a SocketAddress-based API.
2020-02-06 11:27:49 +02:00
Martin Kojtal 8dc15ee6e1
Merge pull request #12293 from mirelachirica/remove_empty_api
Cellular: Remove API's empty default implemetations
2020-02-06 09:05:40 +00:00
Martin Kojtal 8b829e5c41
Merge pull request #12312 from cy-arsm/cy-arsm/pr/ipv6-fix-SoftAPmode
Fix to sending IPV6 UPD packet fails IPv6 enabled in SoftAP intf
2020-02-03 16:55:09 +00:00
Arun S 18285e1fc1 Pairing fails when IPv6 enabled in SoftAP intf
Issue: udp_sendto() Fails for multicast IPV6 packet when interface is switched from SoftAP to STA mode.
When SoftAP start is called,  add_ethernet_interface() will be called internally to add interface details into  netif_list.
When switching from SoftAP to STA mode,  add_ethernet_interface() will be called again to append the interace details into netif_list.
When udp_sendto() is called, ip6_route() will return interface as NULL since it consider device as single interface.
Fix: SoftAP mode Stop, call remove_ethernet_interface() to remove the interface from the netif_list.
2020-01-29 15:07:52 +05:30
Anna Bridge 80fe861f1d
Merge pull request #12035 from kjbracey-arm/callback_prep
Preparation for Callback changes
2020-01-21 11:50:43 +00:00
Mirela Chirica e2048b06b2 Cellular: Remove API's empty default implemetations 2020-01-21 10:45:09 +02:00
Caleb Szalacinski e4e0225a0e Add KSZ8041 as a supported PHY for the LPC17xx series 2020-01-14 19:46:39 -06:00
Kevin Bracey d6a48b5124 Turn NULLs into nullptr
Avoids overload problems with Callback(nullptr) versus Callback(fnptr).
2020-01-09 14:52:54 +02:00
Martin Kojtal d4c2fd56a9
Merge pull request #12195 from mikaleppanen/ppp_trace_disable
Corrected PPP debug trace flagging
2020-01-07 16:41:15 +01:00
Martin Kojtal 3e790cc9ab
Merge pull request #12065 from AriParkkila/cell-fea-nidd
Non-IP socket implementation for NIDD over CP
2020-01-07 15:55:15 +01:00
Martin Kojtal 9d16a17e7e
Merge pull request #11653 from tymoteuszblochmobica/multiple
Add  Getaddrinfo interface for multiple DNS adresses
2020-01-07 14:53:36 +01:00