An example hot to register a network connection state change callback. Possible state changes are listed on the example.

Supported in Mbed OS version 5.8

main.cpp

Committer:
VeijoPesonen
Date:
17 months ago
Revision:
5:8a8191e3d305
Parent:
4:987d54985478
Child:
6:c66df92cf71b

File content as of revision 5:8a8191e3d305:


#include "EthernetInterface.h"
#include "mbed.h"
#include "nsapi_types.h"

// Network interface
EthernetInterface eth;

void status_callback(nsapi_event_t status, intptr_t param)
{
    printf("Connection status changed!\r\n");
    switch(param) {
        case NSAPI_STATUS_LOCAL_UP:
            printf("Local IP address set!\r\n");
            break;
        case NSAPI_STATUS_GLOBAL_UP:
            printf("Global IP address set!\r\n");
            break;
        case NSAPI_STATUS_DISCONNECTED:
            printf("No connection to network!\r\n");
            break;
        case NSAPI_STATUS_CONNECTING:
            printf("Connecting to network!\r\n");
            break;
        default:
            printf("Not supported");
            break;
    }
}

int main()
{
    printf("Status callback example!\r\n");

    eth.attach(&status_callback);
    eth.set_blocking(false);
    
    printf("Connecting...\n");
    eth.connect();
    
    printf("Connecting started...\n");
    wait(10);
    
    printf("Disconnect\n");
    eth.disconnect();
    
    printf("Done\n");    
}