Stefan Schuermans commited on 2012-03-07 21:52:08
Showing 1 changed files, with 28 additions and 19 deletions.
| ... | ... |
@@ -15,6 +15,7 @@ |
| 15 | 15 |
#else |
| 16 | 16 |
# define CFG_DELAY |
| 17 | 17 |
# define CFG_LCD |
| 18 |
+# define CFG_SWITCHES |
|
| 18 | 19 |
#endif |
| 19 | 20 |
|
| 20 | 21 |
const int myconst = 0x12345678; |
| ... | ... |
@@ -23,9 +24,27 @@ int myvar = 0x11223344; |
| 23 | 24 |
|
| 24 | 25 |
volatile int data[100]; |
| 25 | 26 |
|
| 27 |
+#ifdef CFG_ETH_TX |
|
| 28 |
+ static const unsigned char example_packet[] = {
|
|
| 29 |
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* destination MAC */ |
|
| 30 |
+ 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, /* source MAC */ |
|
| 31 |
+ 0x08, 0x00, /* ethertype: IP */ |
|
| 32 |
+ 0x45, 0x00, 0x00, 0x36, /* IP header: ..., len */ |
|
| 33 |
+ 0x12, 0x34, 0x00, 0x00, /* IP header: ..., not fragmented */ |
|
| 34 |
+ 0x40, 0x11, 0x00, 0x00, /* IP header: ..., UDP, ... */ |
|
| 35 |
+ 0x7F, 0x00, 0x00, 0x01, /* source IP */ |
|
| 36 |
+ 0xFF, 0xFF, 0xFF, 0xFF, /* destination IP */ |
|
| 37 |
+ 0x00, 0x01, 0x00, 0x01, /* UDP: source port, destination port */ |
|
| 38 |
+ 0x00, 0x22, 0x00, 0x00, /* UDP: len, ... */ |
|
| 39 |
+ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', |
|
| 40 |
+ 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' |
|
| 41 |
+ }; |
|
| 42 |
+#endif |
|
| 43 |
+ |
|
| 26 | 44 |
void switches(void) |
| 27 | 45 |
{
|
| 28 | 46 |
#ifdef CFG_LCD |
| 47 |
+#ifdef CFG_SWITCHES |
|
| 29 | 48 |
lcd_chr(1, 0, switches_get_state(sw_0) ? '0' : ' '); |
| 30 | 49 |
lcd_chr(1, 1, switches_get_state(sw_1) ? '1' : ' '); |
| 31 | 50 |
lcd_chr(1, 2, switches_get_state(sw_2) ? '2' : ' '); |
| ... | ... |
@@ -38,14 +57,17 @@ void switches(void) |
| 38 | 57 |
lcd_chr(1, 9, switches_get_state(sw_rot_a) ? 'a' : ' '); |
| 39 | 58 |
lcd_chr(1, 10, switches_get_state(sw_rot_b) ? 'b' : ' '); |
| 40 | 59 |
#endif |
| 60 |
+#endif |
|
| 41 | 61 |
|
| 42 | 62 |
#ifdef CFG_LCD |
| 63 |
+#ifdef CFG_SWITCHES |
|
| 43 | 64 |
unsigned int cnt = switches_get_rot_cnt(); |
| 44 | 65 |
lcd_chr(1, 12, '0' + (cnt >> 9 & 0x7)); |
| 45 | 66 |
lcd_chr(1, 13, '0' + (cnt >> 6 & 0x7)); |
| 46 | 67 |
lcd_chr(1, 14, '0' + (cnt >> 3 & 0x7)); |
| 47 | 68 |
lcd_chr(1, 15, '0' + (cnt & 0x7)); |
| 48 | 69 |
#endif |
| 70 |
+#endif |
|
| 49 | 71 |
} |
| 50 | 72 |
|
| 51 | 73 |
void delay(void) |
| ... | ... |
@@ -56,22 +78,6 @@ void delay(void) |
| 56 | 78 |
unsigned char *ptr; |
| 57 | 79 |
unsigned int sz; |
| 58 | 80 |
#endif |
| 59 |
-#ifdef CFG_ETH_TX |
|
| 60 |
- static const unsigned char example_packet[] = {
|
|
| 61 |
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* destination MAC */ |
|
| 62 |
- 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, /* source MAC */ |
|
| 63 |
- 0x08, 0x00, /* ethertype: IP */ |
|
| 64 |
- 0x45, 0x00, 0x00, 0x36, /* IP header: ..., len */ |
|
| 65 |
- 0x12, 0x34, 0x00, 0x00, /* IP header: ..., not fragmented */ |
|
| 66 |
- 0x40, 0x11, 0x00, 0x00, /* IP header: ..., UDP, ... */ |
|
| 67 |
- 0x7F, 0x00, 0x00, 0x01, /* source IP */ |
|
| 68 |
- 0xFF, 0xFF, 0xFF, 0xFF, /* destination IP */ |
|
| 69 |
- 0x00, 0x01, 0x00, 0x01, /* UDP: source port, destination port */ |
|
| 70 |
- 0x00, 0x22, 0x00, 0x00, /* UDP: len, ... */ |
|
| 71 |
- 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', |
|
| 72 |
- 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' |
|
| 73 |
- }; |
|
| 74 |
-#endif |
|
| 75 | 81 |
|
| 76 | 82 |
for (i = 0; i < 10; ++i) {
|
| 77 | 83 |
switches(); |
| ... | ... |
@@ -88,9 +94,6 @@ void delay(void) |
| 88 | 94 |
cyc_cnt_delay_ms(20); |
| 89 | 95 |
#endif |
| 90 | 96 |
} |
| 91 |
-#ifdef CFG_ETH_TX |
|
| 92 |
- eth_tx(example_packet, sizeof(example_packet)); |
|
| 93 |
-#endif |
|
| 94 | 97 |
} |
| 95 | 98 |
|
| 96 | 99 |
int main() |
| ... | ... |
@@ -160,6 +163,12 @@ int main() |
| 160 | 163 |
leds_set_state(leds); |
| 161 | 164 |
leds = leds << 1 | leds >> 7; |
| 162 | 165 |
delay(); |
| 166 |
+#ifdef CFG_ETH_TX |
|
| 167 |
+#ifdef CFG_SWITCHES |
|
| 168 |
+ if (switches_get_state(sw_center)) |
|
| 169 |
+#endif |
|
| 170 |
+ eth_tx(example_packet, sizeof(example_packet)); |
|
| 171 |
+#endif |
|
| 163 | 172 |
} |
| 164 | 173 |
|
| 165 | 174 |
return 0; |
| 166 | 175 |