Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of Smoothie by
libs/Network/uip/Network.h@2:1df0b61d3b5a, 2014-02-28 (annotated)
- Committer:
 - Michael J. Spencer 
 - Date:
 - Fri Feb 28 18:52:52 2014 -0800
 - Revision:
 - 2:1df0b61d3b5a
 
Update to latest Smoothie.
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| Michael J. Spencer  | 
2:1df0b61d3b5a | 1 | #ifndef _NETWORK_H | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 2 | #define _NETWORK_H | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 3 | |
| Michael J. Spencer  | 
2:1df0b61d3b5a | 4 | #include "timer.h" | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 5 | #include "LPC17XX_Ethernet.h" | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 6 | #include "Module.h" | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 7 | #include "NetworkPublicAccess.h" | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 8 | |
| Michael J. Spencer  | 
2:1df0b61d3b5a | 9 | #define network_enable_checksum CHECKSUM("enable") | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 10 | #define network_webserver_checksum CHECKSUM("webserver") | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 11 | #define network_telnet_checksum CHECKSUM("telnet") | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 12 | #define network_mac_override_checksum CHECKSUM("mac_override") | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 13 | #define network_ip_address_checksum CHECKSUM("ip_address") | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 14 | #define network_ip_gateway_checksum CHECKSUM("ip_gateway") | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 15 | #define network_ip_mask_checksum CHECKSUM("ip_mask") | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 16 | |
| Michael J. Spencer  | 
2:1df0b61d3b5a | 17 | class Network : public Module | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 18 | { | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 19 | public: | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 20 | Network(); | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 21 | virtual ~Network(); | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 22 | |
| Michael J. Spencer  | 
2:1df0b61d3b5a | 23 | void on_module_loaded(); | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 24 | void on_idle(void* argument); | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 25 | void on_main_loop(void* argument); | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 26 | void on_get_public_data(void* argument); | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 27 | void dhcpc_configured(uint32_t ipaddr, uint32_t ipmask, uint32_t ipgw); | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 28 | static Network *getInstance() { return instance;} | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 29 | void tapdev_send(void *pPacket, unsigned int size); | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 30 | |
| Michael J. Spencer  | 
2:1df0b61d3b5a | 31 | private: | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 32 | void init(); | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 33 | uint32_t tick(uint32_t dummy); | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 34 | void handlePacket(); | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 35 | |
| Michael J. Spencer  | 
2:1df0b61d3b5a | 36 | static Network *instance; | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 37 | |
| Michael J. Spencer  | 
2:1df0b61d3b5a | 38 | LPC17XX_Ethernet *ethernet; | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 39 | |
| Michael J. Spencer  | 
2:1df0b61d3b5a | 40 | struct timer periodic_timer, arp_timer; | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 41 | uint8_t mac_address[6]; | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 42 | uint8_t ipaddr[4]; | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 43 | uint8_t ipmask[4]; | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 44 | uint8_t ipgw[4]; | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 45 | volatile uint32_t tickcnt; | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 46 | |
| Michael J. Spencer  | 
2:1df0b61d3b5a | 47 | }; | 
| Michael J. Spencer  | 
2:1df0b61d3b5a | 48 | |
| Michael J. Spencer  | 
2:1df0b61d3b5a | 49 | #endif | 
