Thanks a lot Wim. This works fine!
(I still haven't got the hang of those pointers, but were getting there :-))
 
#include "mbed.h"
#include "EthernetNetIf.h"
LocalFileSystem local("local");
int main() {
    printf("Opening File IP.txt...\n\r"); 
    FILE *fp = fopen("/local/ip.txt", "r");
    if(!fp) {
        fprintf(stderr, "File /local/ip.txt could not be opened!\n\r");
        exit(1);
    }
    
    int ip[4];
    int subnetmask[4];
    int gateway[4];
    int dns[4];
             
    fscanf(fp, "%d.%d.%d.%d\n", &ip[3], &ip[2], &ip[1], &ip[0]); 
    fscanf(fp, "%d.%d.%d.%d\n", &subnetmask[3], &subnetmask[2], &subnetmask[1], &subnetmask[0]);
    fscanf(fp, "%d.%d.%d.%d\n", &gateway[3], &gateway[2], &gateway[1], &gateway[0]);
    fscanf(fp, "%d.%d.%d.%d\n", &dns[3], &dns[2], &dns[1], &dns[0]); 
      
    fclose(fp); 
    
    printf("Setting up ethernet...\r\n");
    EthernetNetIf eth( 
        IpAddr(ip[3], ip[2], ip[1], ip[0]), //IP Address
        IpAddr(subnetmask[3], subnetmask[2], subnetmask[1], subnetmask[0]), //Network Mask
        IpAddr(gateway[3], gateway[2], gateway[1], gateway[0]), //Gateway
        IpAddr(dns[3], dns[2], dns[1], dns[0])  //DNS
    );
    //EthernetNetIf eth;
    printf ("My IP: %d.%d.%d.%d\n\r", ip[3], ip[2], ip[1], ip[0]);
    printf ("My subnetmask: %d.%d.%d.%d\n\r", subnetmask[3], subnetmask[2], subnetmask[1], subnetmask[0]);
    printf ("My gateway: %d.%d.%d.%d\n\r", gateway[3], gateway[2], gateway[1], gateway[0]);
    printf ("My DNS: %d.%d.%d.%d\n\r", dns[3], dns[2], dns[1], dns[0]);
        
    EthernetErr ethErr = eth.setup();
    if(ethErr){
        printf("Error %d in setup.\n\r", ethErr);
        return -1;
    }
    printf("Ethernet setup OK\r\n");
    while(1){
  
    } 
    return 0; 
}
 
                    
                
Hey
I'm currently trying to give the mbed a ip-address from a local file on the mbed. But since i do not know a lot of C or C++, i'm having a hard time solving this... The problem is converting the chararray to the 4 integers for the Ipaddr() function.
My code:
#include "mbed.h" #include "EthernetNetIf.h" LocalFileSystem local("local"); int main() { printf("Opening File IP.txt...\n\r"); FILE *fp = fopen("/local/ip.txt", "r"); if(!fp) { fprintf(stderr, "File /local/ip.txt could not be opened!\n\r"); exit(1); } char ip [512]; char subnetmask [512]; char gateway [512]; char dns [512]; fscanf(fp, "%s", ip); //contains: 192.168.2.102 fscanf(fp, "%s", subnetmask); //contains: 255.255.255.0 fscanf(fp, "%s", gateway); //contains: 192.168.2.101 fscanf(fp, "%s", dns); //contains: 192.168.2.101 fclose(fp); EthernetNetIf eth( //instead of these standard values, it should be the data in the variables. IpAddr(192,168,0,101), //IP Address IpAddr(255,255,255,0), //Network Mask IpAddr(192,168,0,1), //Gateway IpAddr(192,168,0,1) //DNS ); printf("Setting up ethernet...\r\n"); EthernetErr ethErr = eth.setup(); if(ethErr){ printf("Error %d in setup.\n\r", ethErr); return -1; } printf("Ethernet setup OK\r\n"); while(1){ } return 0; }How do i do this conversion? Thanks!