mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Embed: (wiki syntax)

« Back to documentation index

Ethernet Class Reference

An ethernet interface, to use with the ethernet pins. More...

#include <Ethernet.h>

Inherits NonCopyable< Ethernet >, and NonCopyable< Ethernet >.

Public Member Functions

 Ethernet ()
 Initialize the ethernet interface.
virtual ~Ethernet ()
 Powers the hardware down.
int write (const char *data, int size)
 Writes into an outgoing ethernet packet.
int send ()
 Send an outgoing ethernet packet.
int receive ()
 Receives an arrived ethernet packet.
int read (char *data, int size)
 Read from an received ethernet packet.
void address (char *mac)
 Gives the ethernet address of the mbed.
int link ()
 Returns if an ethernet link is present or not.
void set_link (Mode mode)
 Sets the speed and duplex parameters of an ethernet link.
 Ethernet ()
 Initialize the ethernet interface.
virtual ~Ethernet ()
 Powers the hardware down.
int write (const char *data, int size)
 Writes into an outgoing ethernet packet.
int send ()
 Send an outgoing ethernet packet.
int receive ()
 Receives an arrived ethernet packet.
int read (char *data, int size)
 Read from an received ethernet packet.
void address (char *mac)
 Gives the ethernet address of the mbed.
int link ()
 Returns if an ethernet link is present or not.
void set_link (Mode mode)
 Sets the speed and duplex parameters of an ethernet link.

Private Member Functions

 MBED_DEPRECATED ("Invalid copy construction of a NonCopyable resource.") NonCopyable(const NonCopyable &)
 NonCopyable copy constructor.
 MBED_DEPRECATED ("Invalid copy assignment of a NonCopyable resource.") NonCopyable &operator
 NonCopyable copy assignment operator.
 MBED_DEPRECATED ("Invalid copy construction of a NonCopyable resource.") NonCopyable(const NonCopyable &)
 NonCopyable copy constructor.
 MBED_DEPRECATED ("Invalid copy assignment of a NonCopyable resource.") NonCopyable &operator
 NonCopyable copy assignment operator.

Detailed Description

An ethernet interface, to use with the ethernet pins.

Note:
Synchronization level: Not protected

Example:

 // Read destination and source from every ethernet packet

 #include "mbed.h"

 Ethernet eth;

 int main() {
     char buf[0x600];

     while(1) {
         int size = eth.receive();
         if(size > 0) {
             eth.read(buf, size);
             printf("Destination:  %02X:%02X:%02X:%02X:%02X:%02X\n",
                     buf[0], buf[1], buf[2], buf[3], buf[4], buf[5]);
             printf("Source: %02X:%02X:%02X:%02X:%02X:%02X\n",
                     buf[6], buf[7], buf[8], buf[9], buf[10], buf[11]);
         }

         wait(1);
     }
 }

Definition at line 59 of file cmsis/BUILD/mbed/drivers/Ethernet.h.


Constructor & Destructor Documentation

Ethernet (  )

Initialize the ethernet interface.

Definition at line 25 of file Ethernet.cpp.

~Ethernet (  ) [virtual]

Powers the hardware down.

Definition at line 30 of file Ethernet.cpp.

Ethernet (  )

Initialize the ethernet interface.

virtual ~Ethernet (  ) [virtual]

Powers the hardware down.


Member Function Documentation

void address ( char *  mac )

Gives the ethernet address of the mbed.

Parameters:
macMust be a pointer to a 6 byte char array to copy the ethernet address in.

Definition at line 55 of file Ethernet.cpp.

void address ( char *  mac )

Gives the ethernet address of the mbed.

Parameters:
macMust be a pointer to a 6 byte char array to copy the ethernet address in.
int link (  )

Returns if an ethernet link is present or not.

It takes a while after Ethernet initialization to show up.

Returns:
0 if no ethernet link is present, 1 if an ethernet link is present.

Example:

 // Using the Ethernet link function
 #include "mbed.h"

 Ethernet eth;

 int main() {
     wait(1); // Needed after startup.
     if (eth.link()) {
          printf("online\n");
     } else {
          printf("offline\n");
     }
 }

Definition at line 60 of file Ethernet.cpp.

int link (  )

Returns if an ethernet link is present or not.

It takes a while after Ethernet initialization to show up.

Returns:
0 if no ethernet link is present, 1 if an ethernet link is present.

Example:

 // Using the Ethernet link function
 #include "mbed.h"

 Ethernet eth;

 int main() {
     wait(1); // Needed after startup.
     if (eth.link()) {
          printf("online\n");
     } else {
          printf("offline\n");
     }
 }
int read ( char *  data,
int  size 
)

Read from an received ethernet packet.

After receive returned a number bigger than 0 it is possible to read bytes from this packet.

Parameters:
dataPointer to data packet
sizeSize of data to be read.
Returns:
The number of byte read.
Note:
It is possible to use read multiple times. Each time read will start reading after the last read byte before.

Definition at line 50 of file Ethernet.cpp.

int read ( char *  data,
int  size 
)

Read from an received ethernet packet.

After receive returned a number bigger than 0 it is possible to read bytes from this packet.

Parameters:
dataPointer to data packet
sizeSize of data to be read.
Returns:
The number of byte read.
Note:
It is possible to use read multiple times. Each time read will start reading after the last read byte before.
int receive (  )

Receives an arrived ethernet packet.

Receiving an ethernet packet will drop the last received ethernet packet and make a new ethernet packet ready to read. If no ethernet packet is arrived it will return 0.

Returns:
0 if no ethernet packet is arrived, or the size of the arrived packet.
int receive (  )

Receives an arrived ethernet packet.

Receiving an ethernet packet will drop the last received ethernet packet and make a new ethernet packet ready to read. If no ethernet packet is arrived it will return 0.

Returns:
0 if no ethernet packet is arrived, or the size of the arrived packet.

Definition at line 45 of file Ethernet.cpp.

int send (  )

Send an outgoing ethernet packet.

After filling in the data in an ethernet packet it must be send. Send will provide a new packet to write to.

Returns:
0 if the sending was failed, or the size of the packet successfully sent.
int send (  )

Send an outgoing ethernet packet.

After filling in the data in an ethernet packet it must be send. Send will provide a new packet to write to.

Returns:
0 if the sending was failed, or the size of the packet successfully sent.

Definition at line 40 of file Ethernet.cpp.

void set_link ( Mode  mode )

Sets the speed and duplex parameters of an ethernet link.

  • AutoNegotiate Auto negotiate speed and duplex
  • HalfDuplex10 10 Mbit, half duplex
  • FullDuplex10 10 Mbit, full duplex
  • HalfDuplex100 100 Mbit, half duplex
  • FullDuplex100 100 Mbit, full duplex
Parameters:
modethe speed and duplex mode to set the link to:

Definition at line 65 of file Ethernet.cpp.

void set_link ( Mode  mode )

Sets the speed and duplex parameters of an ethernet link.

  • AutoNegotiate Auto negotiate speed and duplex
  • HalfDuplex10 10 Mbit, half duplex
  • FullDuplex10 10 Mbit, full duplex
  • HalfDuplex100 100 Mbit, half duplex
  • FullDuplex100 100 Mbit, full duplex
Parameters:
modethe speed and duplex mode to set the link to:
int write ( const char *  data,
int  size 
)

Writes into an outgoing ethernet packet.

It will append size bytes of data to the previously written bytes.

Parameters:
dataAn array to write.
sizeThe size of data.
Returns:
The number of written bytes.
int write ( const char *  data,
int  size 
)

Writes into an outgoing ethernet packet.

It will append size bytes of data to the previously written bytes.

Parameters:
dataAn array to write.
sizeThe size of data.
Returns:
The number of written bytes.

Definition at line 35 of file Ethernet.cpp.