00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #include <string.h>
00037
00038 #include "contiki-net.h"
00039 #include "ctk/ctk.h"
00040 #include "sys/log.h"
00041 #include "lib/config.h"
00042 #include "net/ethernet-drv.h"
00043
00044 #if WITH_GUI
00045 #define CTK_PROCESS &ctk_process,
00046 #else
00047 #define CTK_PROCESS
00048 #endif
00049
00050 #if WITH_DNS
00051 #define RESOLV_PROCESS &resolv_process,
00052 #else
00053 #define RESOLV_PROCESS
00054 #endif
00055
00056 PROCINIT(&etimer_process,
00057 CTK_PROCESS
00058 RESOLV_PROCESS
00059 &tcpip_process);
00060
00061
00062 void
00063 main(void)
00064 {
00065 struct ethernet_config *ethernet_config;
00066
00067 process_init();
00068
00069 #if 1
00070 ethernet_config = config_read("contiki.cfg");
00071 #else
00072 {
00073 static struct ethernet_config config = {0xDE08, "cs8900a.eth"};
00074 uip_ipaddr_t addr;
00075
00076 uip_ipaddr(&addr, 192,168,0,128);
00077 uip_sethostaddr(&addr);
00078
00079 uip_ipaddr(&addr, 255,255,255,0);
00080 uip_setnetmask(&addr);
00081
00082 uip_ipaddr(&addr, 192,168,0,1);
00083 uip_setdraddr(&addr);
00084
00085 uip_ipaddr(&addr, 192,168,0,1);
00086 resolv_conf(&addr);
00087
00088 ethernet_config = &config;
00089 }
00090 #endif
00091
00092 #if (WITH_GUI && WITH_MOUSE)
00093 {
00094 static const u8_t mouse_sprite[64] = {
00095 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
00096 0x00, 0x0F, 0xE0, 0x00, 0x0F, 0xC0, 0x00, 0x0F,
00097 0x80, 0x00, 0x0F, 0xC0, 0x00, 0x0D, 0xE0, 0x00,
00098 0x08, 0xF0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x3C,
00099 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0F, 0x00, 0x00,
00100 0x07, 0x80, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00,
00101 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
00102 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
00103
00104 memcpy((void*)0x0340, mouse_sprite, sizeof(mouse_sprite));
00105 *(u8_t*)0x07F8 = 0x0340 / 64;
00106 VIC.spr0_color = COLOR_WHITE;
00107 }
00108 #endif
00109
00110 procinit_init();
00111
00112 process_start((struct process *)ðernet_process, (char *)ethernet_config);
00113
00114 autostart_start(autostart_processes);
00115
00116 log_message("Contiki up and running ...", "");
00117
00118 while(1) {
00119
00120 process_run();
00121
00122 etimer_request_poll();
00123 }
00124 }
00125