forked
Ethernet Class Reference
[Drivers]
An ethernet interface, to use with the ethernet pins. More...
#include <Ethernet.h>
Inherits NonCopyable< Ethernet >.
Public Member Functions | |
Ethernet () | |
Initialise 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 () |
Recevies an arrived ethernet packet. | |
int | read (char *data, int size) |
Read from an recevied ethernet packet. | |
void | address (char *mac) |
Gives the ethernet address of the mbed. | |
int | link () |
Returns if an ethernet link is pressent or not. | |
void | set_link (Mode mode) |
Sets the speed and duplex parameters of an ethernet link. |
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 58 of file Ethernet.h.
Constructor & Destructor Documentation
Ethernet | ( | ) |
Initialise the ethernet interface.
Definition at line 24 of file Ethernet.cpp.
~Ethernet | ( | ) | [virtual] |
Powers the hardware down.
Definition at line 28 of file Ethernet.cpp.
Member Function Documentation
void address | ( | char * | mac ) |
Gives the ethernet address of the mbed.
- Parameters:
-
mac Must be a pointer to a 6 byte char array to copy the ethernet address in.
Definition at line 48 of file Ethernet.cpp.
int link | ( | ) |
Returns if an ethernet link is pressent or not.
It takes a wile after Ethernet initializion to show up.
- Returns:
- 0 if no ethernet link is pressent, 1 if an ethernet link is pressent.
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 52 of file Ethernet.cpp.
int read | ( | char * | data, |
int | size | ||
) |
Read from an recevied ethernet packet.
After receive returned a number bigger than 0 it is possible to read bytes from this packet.
- Parameters:
-
data Pointer to data packet size Size 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 44 of file Ethernet.cpp.
int receive | ( | ) |
Recevies 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 40 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.
Definition at line 36 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:
-
mode the speed and duplex mode to set the link to:
Definition at line 56 of file Ethernet.cpp.
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:
-
data An array to write. size The size of data.
- Returns:
- The number of written bytes.
Definition at line 32 of file Ethernet.cpp.
Generated on Tue Jul 12 2022 16:02:35 by 1.7.2