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 videomode(VIDEOMODE_80COL);
00068
00069 process_init();
00070
00071 #if 1
00072 ethernet_config = config_read("contiki.cfg");
00073 #else
00074 {
00075 static struct ethernet_config config = {0xDE08, "cs8900a.eth"};
00076 uip_ipaddr_t addr;
00077
00078 uip_ipaddr(&addr, 192,168,0,128);
00079 uip_sethostaddr(&addr);
00080
00081 uip_ipaddr(&addr, 255,255,255,0);
00082 uip_setnetmask(&addr);
00083
00084 uip_ipaddr(&addr, 192,168,0,1);
00085 uip_setdraddr(&addr);
00086
00087 uip_ipaddr(&addr, 192,168,0,1);
00088 resolv_conf(&addr);
00089
00090 ethernet_config = &config;
00091 }
00092 #endif
00093
00094 #if (WITH_GUI && WITH_MOUSE)
00095 {
00096 static const u8_t mouse_sprite[64] = {
00097 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
00098 0x00, 0x0F, 0xE0, 0x00, 0x0F, 0xC0, 0x00, 0x0F,
00099 0x80, 0x00, 0x0F, 0xC0, 0x00, 0x0D, 0xE0, 0x00,
00100 0x08, 0xF0, 0x00, 0x00, 0x78, 0x00, 0x00, 0x3C,
00101 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0F, 0x00, 0x00,
00102 0x07, 0x80, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00,
00103 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
00104 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
00105
00106 memcpy((void*)0x0E00, mouse_sprite, sizeof(mouse_sprite));
00107 *(u8_t*)0x07F8 = 0x0E00 / 64;
00108 VIC.spr0_color = COLOR_WHITE;
00109 }
00110 #endif
00111
00112 procinit_init();
00113
00114 process_start((struct process *)ðernet_process, (char *)ethernet_config);
00115
00116 autostart_start(autostart_processes);
00117
00118 log_message("Contiki up and running ...", "");
00119
00120 while(1) {
00121
00122 process_run();
00123
00124 etimer_request_poll();
00125 }
00126 }
00127