1385d214038e1d32f09babf4ab2a7eaef528ba36
Stefan Schuermans header fix

Stefan Schuermans authored 12 years ago

1) /* flaneth - flash and ethernet
2)    Copyright (C) 2007-2012 Stefan Schuermans <stefan@schuermans.info>
3)    Copyleft: GNU public license V2 - http://www.gnu.org/copyleft/gpl.html
4)    a BlinkenArea project - http://www.blinkenarea.org/ */
Stefan Schuermans initial commit after making...

Stefan Schuermans authored 12 years ago

5) 
6) #include <avr/interrupt.h>
7) #include <avr/wdt.h>
8) 
9) #include "arp.h"
10) #include "bus.h"
11) #include "cf.h"
12) #include "debug.h"
13) #include "eeprom.h"
14) #include "http.h"
15) #include "random.h"
16) #include "rtl8019.h"
17) #include "status.h"
Stefan Schuermans converted CF processing to...

Stefan Schuermans authored 12 years ago

18) #include "tasks.h"
Stefan Schuermans initial commit after making...

Stefan Schuermans authored 12 years ago

19) #include "tcp.h"
20) #include "timing.h"
21) #include "uart.h"
22) 
Stefan Schuermans converted CF processing to...

Stefan Schuermans authored 12 years ago

23) // try to work with CF card
24) static void mainWorkCf(void)
25) {
26)   unsigned long sectors, s;
27)   unsigned char buf[CF_SECTOR_SIZE];
28) 
29)   // reset card
30)   if (CfReset() != 0)
31)     return;
32) 
33)   // identify card
34)   if (CfIdentify(&sectors) != 0)
35)     return;
36) 
37)   // dump sectors
38)   for (s = 0; s < sectors; ++s) {
39)     if (CfRead(s, buf) != 0)
40)       return;
41) #if 0
42)     unsigned int i;
43)     for (i = 0; i < CF_SECTOR_SIZE; ++i) {
44)       printf(" %02X", buf[i]);
45)       if ((i & 15) == 15)
46)         printf("\r\n");
47)     }
48) #endif
49)     Tasks();
50)   } // for s
51) }
52) 
53) // wait for CF card and work with it
54) static void mainWaitCf(void)
55) {
56)   // wait for new card
57)   while (!CfIsPresent())
58)     Tasks();
59) 
60)   // work with card
61)   mainWorkCf();
62) 
63)   // wait for failing card to be removed
64)   while (CfIsPresent())
65)     Tasks();
66) }
67) 
Stefan Schuermans initial commit after making...

Stefan Schuermans authored 12 years ago

68) // main code entry point
69) int main(void)
70) {
71)   wdt_reset();
72) #ifdef DEBUG
73)   wdt_disable();
74) #else
75)   wdt_enable(WDTO_60MS);
76) #endif
77)   wdt_reset();
78) 
79)   // initialize uart to be able to use stdio
80)   UartInit();
81) 
82)   debug_printf("");
83)   debug_printf("flaneth");
84) 
85)   debug_init_printf("init");
86) 
87)   // initialize low level modules
88)   BusInit();
89) 
90)   // initialize middle level modules
91)   CfInit();
92)   RtlInit();
93)   StatusInit();
94)   TimingInit();
95) 
96)   // initialize high level modules
97)   ArpInit();
98)   HttpInit();
99)   TcpInit();
100) 
101)   // use entropy collected during initialization
102)   RandomTask();
103) 
104)   debug_init_printf("config");
105) 
106)   // get configuration from EEPROM
107)   EepromGetConfig();
108) 
109)   // enable interrupts
110)   sei();
111) 
112)   debug_init_printf("start");
113) 
114)   // main loop
Stefan Schuermans converted CF processing to...

Stefan Schuermans authored 12 years ago

115)   while (1)
116)     mainWaitCf();
Stefan Schuermans initial commit after making...

Stefan Schuermans authored 12 years ago

117) 
118)   return 0;
119) }