takashi kadono / Mbed OS Nucleo_446

Dependencies:   ssd1331

Embed: (wiki syntax)

« Back to documentation index

EasyCellularConnection Class Reference

EasyCellularConnection class. More...

#include <EasyCellularConnection.h>

Inherits CellularBase.

Public Types

typedef mbed::Callback< void(nsapi_error_t
result, SocketAddress *address) 
hostbyname_cb_t )
 Hostname translation callback (asynchronous)

Public Member Functions

virtual void set_credentials (const char *apn, const char *uname=0, const char *pwd=0)
 Set the Cellular network credentials.
virtual void set_sim_pin (const char *sim_pin)
 Set the pin code for SIM card.
virtual nsapi_error_t connect (const char *sim_pin, const char *apn=0, const char *uname=0, const char *pwd=0)
 Start the interface.
virtual nsapi_error_t connect ()
 Start the interface.
virtual nsapi_error_t disconnect ()
 Stop the interface.
virtual bool is_connected ()
 Check if the connection is currently established or not.
virtual const char * get_ip_address ()
 Get the local IP address.
virtual const char * get_netmask ()
 Get the local network mask.
virtual const char * get_gateway ()
 Get the local gateways.
virtual void attach (mbed::Callback< void(nsapi_event_t, intptr_t)> status_cb)
 Register callback for status reporting.
void modem_debug_on (bool on)
 Turn modem debug traces on.
void set_plmn (const char *plmn)
 Sets the operator plmn which is used when registering to a network specified by plmn.
CellularDeviceget_device ()
 Get the cellular device from the cellular state machine.
UARTSerialget_serial ()
 Get the UART serial file handle used by cellular subsystem.
virtual const char * get_mac_address ()
 Get the local MAC address.
virtual nsapi_error_t set_network (const char *ip_address, const char *netmask, const char *gateway)
 Set a static IP address.
virtual nsapi_error_t set_dhcp (bool dhcp)
 Enable or disable DHCP on the network.
virtual nsapi_error_t gethostbyname (const char *host, SocketAddress *address, nsapi_version_t version=NSAPI_UNSPEC)
 Translates a hostname to an IP address with specific version.
virtual nsapi_value_or_error_t gethostbyname_async (const char *host, hostbyname_cb_t callback, nsapi_version_t version=NSAPI_UNSPEC)
 Translates a hostname to an IP address (asynchronous)
virtual nsapi_error_t gethostbyname_async_cancel (int id)
 Cancels asynchronous hostname translation.
virtual nsapi_error_t add_dns_server (const SocketAddress &address)
 Add a domain name server to list of servers to query.
virtual nsapi_connection_status_t get_connection_status () const
 Get the connection status.
virtual nsapi_error_t set_blocking (bool blocking)
 Set blocking status of connect() which by default should be blocking.
virtual EthInterfaceethInterface ()
 Dynamic downcast to an EthInterface.
virtual WiFiInterface * wifiInterface ()
 Dynamic downcast to a WiFiInterface.
virtual MeshInterfacemeshInterface ()
 Dynamic downcast to a MeshInterface.
virtual EMACInterfaceemacInterface ()
 Dynamic downcast to an EMACInterface.

Static Public Member Functions

static CellularBaseget_default_instance ()
 Get the default Cellular interface.

Protected Member Functions

virtual NetworkStack * get_stack ()
 Provide access to the NetworkStack object.

Static Protected Member Functions

static CellularBaseget_target_default_instance ()
 Get the target's default Cellular interface.

Friends

class InternetSocket
class UDPSocket
class TCPSocket

Detailed Description

EasyCellularConnection class.

Simplified adapter for cellular connection

Definition at line 34 of file EasyCellularConnection.h.


Member Typedef Documentation

typedef mbed::Callback<void (nsapi_error_t result, SocketAddress *address) hostbyname_cb_t) [inherited]

Hostname translation callback (asynchronous)

Callback will be called after DNS resolution completes or a failure occurs.

Callback should not take more than 10ms to execute, otherwise it might prevent underlying thread processing. A portable user of the callback should not make calls to network operations due to stack size limitations. The callback should not perform expensive operations such as socket recv/send calls or blocking operations.

Parameters:
status0 on success, negative error code on failure
addressOn success, destination for the host SocketAddress

Definition at line 180 of file NetworkInterface.h.


Member Function Documentation

nsapi_error_t add_dns_server ( const SocketAddress &  address ) [virtual, inherited]

Add a domain name server to list of servers to query.

Parameters:
addressDestination for the host address
Returns:
0 on success, negative error code on failure

Definition at line 73 of file NetworkInterface.cpp.

void attach ( mbed::Callback< void(nsapi_event_t, intptr_t)>  status_cb ) [virtual]

Register callback for status reporting.

The specified status callback function will be called on status changes on the network. The parameters on the callback are the event type and event-type dependent reason parameter.

Parameters:
status_cbThe callback for status changes

Definition at line 314 of file EasyCellularConnection.cpp.

nsapi_error_t connect ( const char *  sim_pin,
const char *  apn = 0,
const char *  uname = 0,
const char *  pwd = 0 
) [virtual]

Start the interface.

Attempts to connect to a Cellular network.

Parameters:
sim_pinPIN for the SIM card
apnoptionally, access point name
unameoptionally, Username
pwdoptionally, password
Returns:
NSAPI_ERROR_OK on success, or negative error code on failure

Implements CellularBase.

Definition at line 159 of file EasyCellularConnection.cpp.

nsapi_error_t connect (  ) [virtual]

Start the interface.

Attempts to connect to a Cellular network. If the SIM requires a PIN, and it is not set/invalid, NSAPI_ERROR_AUTH_ERROR is returned.

Returns:
NSAPI_ERROR_OK on success, or negative error code on failure

Implements CellularBase.

Definition at line 196 of file EasyCellularConnection.cpp.

nsapi_error_t disconnect ( void   ) [virtual]

Stop the interface.

Returns:
0 on success, or error code on failure

Implements CellularBase.

Definition at line 247 of file EasyCellularConnection.cpp.

virtual EMACInterface* emacInterface (  ) [virtual, inherited]

Dynamic downcast to an EMACInterface.

Definition at line 271 of file NetworkInterface.h.

virtual EthInterface* ethInterface (  ) [virtual, inherited]

Dynamic downcast to an EthInterface.

Definition at line 247 of file NetworkInterface.h.

nsapi_connection_status_t get_connection_status (  ) const [virtual, inherited]

Get the connection status.

Returns:
The connection status according to ConnectionStatusType

Definition at line 82 of file NetworkInterface.cpp.

MBED_WEAK CellularBase * get_default_instance (  ) [static, inherited]

Get the default Cellular interface.

This is provided as a weak method so applications can override. Default behaviour is to get the target's default interface, if any.

Returns:
pointer to interface, if any

Definition at line 43 of file NetworkInterfaceDefaults.cpp.

CellularDevice * get_device (  )

Get the cellular device from the cellular state machine.

Returns:
cellular device

Definition at line 352 of file EasyCellularConnection.cpp.

const char * get_gateway (  ) [virtual]

Get the local gateways.

Returns:
Null-terminated representation of the local gateway or null if no network mask has been received

Implements CellularBase.

Definition at line 301 of file EasyCellularConnection.cpp.

const char * get_ip_address (  ) [virtual]

Get the local IP address.

Returns:
Null-terminated representation of the local IP address or null if no IP address has been received

Implements CellularBase.

Definition at line 275 of file EasyCellularConnection.cpp.

const char * get_mac_address (  ) [virtual, inherited]

Get the local MAC address.

Provided MAC address is intended for info or debug purposes and may not be provided if the underlying network interface does not provide a MAC address

Returns:
Null-terminated representation of the local MAC address or null if no MAC address is available

Definition at line 23 of file NetworkInterface.cpp.

const char * get_netmask (  ) [virtual]

Get the local network mask.

Returns:
Null-terminated representation of the local network mask or null if no network mask has been received

Implements CellularBase.

Definition at line 288 of file EasyCellularConnection.cpp.

UARTSerial * get_serial (  )

Get the UART serial file handle used by cellular subsystem.

Returns:
address of cellular UART serial

Definition at line 357 of file EasyCellularConnection.cpp.

NetworkStack * get_stack ( void   ) [protected, virtual]

Provide access to the NetworkStack object.

Returns:
The underlying NetworkStack object

Definition at line 343 of file EasyCellularConnection.cpp.

MBED_WEAK CellularBase * get_target_default_instance (  ) [static, protected, inherited]

Get the target's default Cellular interface.

This is provided as a weak method so targets can override. The default implementation configures and returns the OnBoardModemInterface if available.

Returns:
pointer to interface, if any

Definition at line 67 of file OnboardCellularInterface.cpp.

nsapi_error_t gethostbyname ( const char *  host,
SocketAddress *  address,
nsapi_version_t  version = NSAPI_UNSPEC 
) [virtual, inherited]

Translates a hostname to an IP address with specific version.

The hostname may be either a domain name or an IP address. If the hostname is an IP address, no network transactions will be performed.

If no stack-specific DNS resolution is provided, the hostname will be resolve using a UDP socket on the stack.

Parameters:
hostHostname to resolve
addressDestination for the host SocketAddress
versionIP version of address to resolve, NSAPI_UNSPEC indicates version is chosen by the stack (defaults to NSAPI_UNSPEC)
Returns:
0 on success, negative error code on failure

Definition at line 58 of file NetworkInterface.cpp.

nsapi_value_or_error_t gethostbyname_async ( const char *  host,
hostbyname_cb_t  callback,
nsapi_version_t  version = NSAPI_UNSPEC 
) [virtual, inherited]

Translates a hostname to an IP address (asynchronous)

The hostname may be either a domain name or an IP address. If the hostname is an IP address, no network transactions will be performed.

If no stack-specific DNS resolution is provided, the hostname will be resolve using a UDP socket on the stack.

Call is non-blocking. Result of the DNS operation is returned by the callback. If this function returns failure, callback will not be called. In case result is success (IP address was found from DNS cache), callback will be called before function returns.

Parameters:
hostHostname to resolve
callbackCallback that is called for result
versionIP version of address to resolve, NSAPI_UNSPEC indicates version is chosen by the stack (defaults to NSAPI_UNSPEC)
Returns:
0 on immediate success, negative error code on immediate failure or a positive unique id that represents the hostname translation operation and can be passed to cancel

Definition at line 63 of file NetworkInterface.cpp.

nsapi_error_t gethostbyname_async_cancel ( int  id ) [virtual, inherited]

Cancels asynchronous hostname translation.

When translation is cancelled, callback will not be called.

Parameters:
idUnique id of the hostname translation operation
Returns:
0 on success, negative error code on failure

Definition at line 68 of file NetworkInterface.cpp.

bool is_connected (  ) [virtual]

Check if the connection is currently established or not.

Returns:
true/false If the cellular module have successfully acquired a carrier and is connected to an external packet data network using PPP, isConnected() API returns true and false otherwise.

Implements CellularBase.

Definition at line 270 of file EasyCellularConnection.cpp.

virtual MeshInterface* meshInterface (  ) [virtual, inherited]

Dynamic downcast to a MeshInterface.

Definition at line 259 of file NetworkInterface.h.

void modem_debug_on ( bool  on )

Turn modem debug traces on.

Parameters:
onset true to enable debug traces

Definition at line 319 of file EasyCellularConnection.cpp.

nsapi_error_t set_blocking ( bool  blocking ) [virtual, inherited]

Set blocking status of connect() which by default should be blocking.

Parameters:
blockingtrue if connect is blocking
Returns:
0 on success, negative error code on failure

Definition at line 87 of file NetworkInterface.cpp.

void set_credentials ( const char *  apn,
const char *  uname = 0,
const char *  pwd = 0 
) [virtual]

Set the Cellular network credentials.

Please check documentation of connect() for default behaviour of APN settings.

Parameters:
apnAccess point name
unameoptionally, Username
pwdoptionally, password

Implements CellularBase.

Definition at line 121 of file EasyCellularConnection.cpp.

nsapi_error_t set_dhcp ( bool  dhcp ) [virtual, inherited]

Enable or disable DHCP on the network.

Enables DHCP on connecting the network. Defaults to enabled unless a static IP address has been assigned. Requires that the network is disconnected.

Parameters:
dhcpTrue to enable DHCP
Returns:
0 on success, negative error code on failure

Definition at line 48 of file NetworkInterface.cpp.

nsapi_error_t set_network ( const char *  ip_address,
const char *  netmask,
const char *  gateway 
) [virtual, inherited]

Set a static IP address.

Configures this network interface to use a static IP address. Implicitly disables DHCP, which can be enabled in set_dhcp. Requires that the network is disconnected.

Parameters:
ip_addressNull-terminated representation of the local IP address
netmaskNull-terminated representation of the local network mask
gatewayNull-terminated representation of the local gateway
Returns:
0 on success, negative error code on failure

Definition at line 43 of file NetworkInterface.cpp.

void set_plmn ( const char *  plmn )

Sets the operator plmn which is used when registering to a network specified by plmn.

If plmn is not set then automatic registering is used when registering to a cellular network.

Parameters:
plmnoperator in numeric format. See more from 3GPP TS 27.007 chapter 7.3.

Definition at line 329 of file EasyCellularConnection.cpp.

void set_sim_pin ( const char *  sim_pin ) [virtual]

Set the pin code for SIM card.

Parameters:
sim_pinPIN for the SIM card

Implements CellularBase.

Definition at line 145 of file EasyCellularConnection.cpp.

virtual WiFiInterface* wifiInterface (  ) [virtual, inherited]

Dynamic downcast to a WiFiInterface.

Definition at line 253 of file NetworkInterface.h.