diff options
Diffstat (limited to 'docs/library')
-rw-r--r-- | docs/library/network.LAN.rst | 2 | ||||
-rw-r--r-- | docs/library/network.WIZNET5K.rst | 17 | ||||
-rw-r--r-- | docs/library/network.WLAN.rst | 2 | ||||
-rw-r--r-- | docs/library/network.WLANWiPy.rst | 14 | ||||
-rw-r--r-- | docs/library/network.rst | 58 |
5 files changed, 64 insertions, 29 deletions
diff --git a/docs/library/network.LAN.rst b/docs/library/network.LAN.rst index 375e02cef..31ce8e984 100644 --- a/docs/library/network.LAN.rst +++ b/docs/library/network.LAN.rst @@ -10,7 +10,7 @@ Example usage:: import network nic = network.LAN(0) - print(nic.ifconfig()) + print(nic.ipconfig("addr4")) # now use socket as usual ... diff --git a/docs/library/network.WIZNET5K.rst b/docs/library/network.WIZNET5K.rst index c13d43a37..a19bd4528 100644 --- a/docs/library/network.WIZNET5K.rst +++ b/docs/library/network.WIZNET5K.rst @@ -13,7 +13,7 @@ Example usage:: import network nic = network.WIZNET5K(pyb.SPI(1), pyb.Pin.board.X5, pyb.Pin.board.X4) - print(nic.ifconfig()) + print(nic.ipconfig("addr4")) # now use socket as usual ... @@ -51,20 +51,7 @@ Constructors Methods ------- -.. method:: WIZNET5K.isconnected() - - Returns ``True`` if the physical Ethernet link is connected and up. - Returns ``False`` otherwise. - -.. method:: WIZNET5K.ifconfig([(ip, subnet, gateway, dns)]) - - Get/set IP address, subnet mask, gateway and DNS. - - When called with no arguments, this method returns a 4-tuple with the above information. - - To set the above values, pass a 4-tuple with the required information. For example:: - - nic.ifconfig(('192.168.0.4', '255.255.255.0', '192.168.0.1', '8.8.8.8')) +This class implements most methods from `AbstractNIC <AbstractNIC>`, which are documented there. Additional methods are: .. method:: WIZNET5K.regs() diff --git a/docs/library/network.WLAN.rst b/docs/library/network.WLAN.rst index 68cd49769..c1eb52096 100644 --- a/docs/library/network.WLAN.rst +++ b/docs/library/network.WLAN.rst @@ -107,7 +107,7 @@ Methods Get or set general network interface parameters. These methods allow to work with additional parameters beyond standard IP configuration (as dealt with by - `WLAN.ifconfig()`). These include network-specific and hardware-specific + `AbstractNIC.ipconfig()`). These include network-specific and hardware-specific parameters. For setting parameters, keyword argument syntax should be used, multiple parameters can be set at once. For querying, parameters name should be quoted as a string, and only one parameter can be queries at time:: diff --git a/docs/library/network.WLANWiPy.rst b/docs/library/network.WLANWiPy.rst index 2a5ba1184..4ac82e92c 100644 --- a/docs/library/network.WLANWiPy.rst +++ b/docs/library/network.WLANWiPy.rst @@ -20,7 +20,7 @@ This class provides a driver for the WiFi network processor in the WiPy. Example wlan.connect('your-ssid', auth=(WLAN.WPA2, 'your-key')) while not wlan.isconnected(): time.sleep_ms(50) - print(wlan.ifconfig()) + print(wlan.ipconfig("addr4")) # now use socket as usual ... @@ -96,16 +96,10 @@ Methods In case of STA mode, returns ``True`` if connected to a WiFi access point and has a valid IP address. In AP mode returns ``True`` when a station is connected, ``False`` otherwise. -.. method:: WLANWiPy.ifconfig(if_id=0, config=['dhcp' or configtuple]) +.. method:: WLANWiPy.ipconfig('param') + WLANWiPy.ipconfig(param=value, ...) - With no parameters given returns a 4-tuple of *(ip, subnet_mask, gateway, DNS_server)*. - - if ``'dhcp'`` is passed as a parameter then the DHCP client is enabled and the IP params - are negotiated with the AP. - - If the 4-tuple config is given then a static IP is configured. For instance:: - - wlan.ifconfig(config=('192.168.0.4', '255.255.255.0', '192.168.0.1', '8.8.8.8')) + See :meth:`AbstractNIC.ipconfig <AbstractNIC.ipconfig>`. Supported parameters are: ``dhcp4``, ``addr4``, ``gw4``. .. method:: WLANWiPy.mode([mode]) diff --git a/docs/library/network.rst b/docs/library/network.rst index cc5088429..6a436fa85 100644 --- a/docs/library/network.rst +++ b/docs/library/network.rst @@ -24,7 +24,7 @@ For example:: print("Waiting for connection...") while not nic.isconnected(): time.sleep(1) - print(nic.ifconfig()) + print(nic.ipconfig("addr4")) # now use socket as usual import socket @@ -113,8 +113,48 @@ parameter should be `id`. connected to the AP. The list contains tuples of the form (MAC, RSSI). +.. method:: AbstractNIC.ipconfig('param') + AbstractNIC.ipconfig(param=value, ...) + + Get or set interface-specific IP-configuration interface parameters. + Supported parameters are the following (availability of a particular + parameter depends on the port and the specific network interface): + + * ``dhcp4`` (``True/False``) obtain an IPv4 address, gateway and dns + server via DHCP. This method does not block and wait for an address + to be obtained. To check if an address was obtained, use the read-only + property ``has_dhcp4``. + * ``gw4`` Get/set the IPv4 default-gateway. + * ``dhcp6`` (``True/False``) obtain a DNS server via stateless DHCPv6. + Obtaining IP Addresses via DHCPv6 is currently not implemented. + * ``autoconf6`` (``True/False``) obtain a stateless IPv6 address via + the network prefix shared in router advertisements. To check if a + stateless address was obtained, use the read-only + property ``has_autoconf6``. + * ``addr4`` (e.g. ``192.168.0.4/24``) obtain the current IPv4 address + and network mask as ``(ip, subnet)``-tuple, regardless of how this + address was obtained. This method can be used to set a static IPv4 + address either as ``(ip, subnet)``-tuple or in CIDR-notation. + * ``addr6`` (e.g. ``fe80::1234:5678``) obtain a list of current IPv6 + addresses as ``(ip, state, preferred_lifetime, valid_lifetime)``-tuple. + This include link-local, slaac and static addresses. + ``preferred_lifetime`` and ``valid_lifetime`` represent the remaining + valid and preferred lifetime of each IPv6 address, in seconds. + ``state`` indicates the current state of the address: + + * ``0x08`` - ``0x0f`` indicates the address is tentative, counting the + number of probes sent. + * ``0x10`` The address is deprecated (but still valid) + * ``0x30`` The address is preferred (and valid) + * ``0x40`` The address is duplicated and can not be used. + + This method can be used to set a static IPv6 + address, by setting this parameter to the address, like ``fe80::1234:5678``. + .. method:: AbstractNIC.ifconfig([(ip, subnet, gateway, dns)]) + .. note:: This function is deprecated, use `ipconfig()` instead. + Get/set IP-level network interface parameters: IP address, subnet mask, gateway and DNS server. When called with no arguments, this method returns a 4-tuple with the above information. To set the above values, pass a @@ -127,7 +167,7 @@ parameter should be `id`. Get or set general network interface parameters. These methods allow to work with additional parameters beyond standard IP configuration (as dealt with by - `ifconfig()`). These include network-specific and hardware-specific + `ipconfig()`). These include network-specific and hardware-specific parameters. For setting parameters, the keyword argument syntax should be used, and multiple parameters can be set at once. For querying, a parameter name should be quoted as a string, and only one @@ -195,6 +235,20 @@ The following are functions available in the network module. The default hostname is typically the name of the board. +.. function:: ipconfig('param') + ipconfig(param=value, ...) + + Get or set global IP-configuration parameters. + Supported parameters are the following (availability of a particular + parameter depends on the port and the specific network interface): + + * ``dns`` Get/set DNS server. This method can support both, IPv4 and + IPv6 addresses. + * ``prefer`` (``4/6``) Specify which address type to return, if a domain + name has both A and AAAA records. Note, that this does not clear the + local DNS cache, so that any previously obtained addresses might not + change. + .. function:: phy_mode([mode]) Get or set the PHY mode. |