+\r
+enum\r
+{\r
+ FORWARD,\r
+ BACKWARD,\r
+};\r
+\r
+int direction = FORWARD;\r
+\r
+static void leds_init(void)\r
+{\r
+ #if CPU_ARM_AT91SAM7X256\r
+ /* Set PB19..22 connected to PIOB */\r
+ PIOB_PER = 0x780000;\r
+ /* Set PB19..22 as output */\r
+ PIOB_OER = 0x780000;\r
+\r
+ /* Set PB19..22 to 1 to turn off leds */\r
+ PIOB_SODR = 0x780000;\r
+\r
+ /* turn first led on (PB19) */\r
+ PIOB_CODR = 0x80000;\r
+ #elif CPU_ARM_AT91SAM7S256\r
+ /* Set PA0..3 connected to PIOA */\r
+ PIOA_PER = 0x0000001f;\r
+ /* Set PA0..3 as output */\r
+ PIOA_OER = 0x0000001f;\r
+\r
+ /* Set PA0..3 to 1 to turn off leds */\r
+ PIOA_SODR = 0x0000000f;\r
+ /* turn first led on (PA0) */\r
+ PIOA_CODR = 0x00000001;\r
+ #endif\r
+}\r
+\r
+#if CPU_ARM_AT91SAM7X256\r
+ #define GET_PIO_STATUS() (~PIOB_ODSR & 0x780000)\r
+ #define LAST_LED 0x200000\r
+ #define FIRST_LED 0x100000\r
+ #define SET_PIO_BITS PIOB_SODR\r
+ #define CLEAR_PIO_BITS PIOB_CODR\r
+ #define AT91SAM7_MSG "BeRTOS is run on AT91SAM7X256..\n"\r
+#elif CPU_ARM_AT91SAM7S256\r
+ #define GET_PIO_STATUS() (~PIOA_ODSR & 0x0000000f)\r
+ #define LAST_LED 0x00000004\r
+ #define FIRST_LED 0x00000002\r
+ #define SET_PIO_BITS PIOA_SODR\r
+ #define CLEAR_PIO_BITS PIOA_CODR\r
+ #define AT91SAM7_MSG "BeRTOS is run on AT91SAM7S256..\n"\r
+#endif\r