* \brief AT91SAM7S-EK porting test.
*/
+#include "cfg/cfg_ser.h"
#include <cfg/macros.h>
+
+#include <kern/proc.h>
+
#include <drv/timer.h>
#include <drv/sysirq_at91.h>
-#include <kern/proc.h>
#include <drv/ser.h>
-#include <cfg/macros.h>
+#include <drv/ntc.h>
+
#include <io/arm.h>
Timer leds_timer;
Serial ser_fd;
+int roll = 0;
static void leds_toggle(void)
{
uint8_t a = (~PIOA_ODSR & 0x0f);
- if (a)
+ if (roll == 1)
{
+ if(a == 4)
+ roll = 2;
+
PIOA_SODR = a;
PIOA_CODR = a << 1;
+
+ }
+ else if (roll == 2)
+ {
+ if(a == 2)
+ roll = 1;
+
+ PIOA_SODR = a;
+ PIOA_CODR = a >> 1;
}
else
{
PIOA_SODR = 0x0f;
/* turn first led on */
PIOA_CODR = 0x00000001;
+ roll = 1;
}
/* Wait for interval time */
/* turn first led on */
PIOA_CODR = 0x00000001;
- timer_setSoftint(&leds_timer, (Hook)leds_toggle, 0);
- timer_setDelay(&leds_timer, ms_to_ticks(100));
- timer_add(&leds_timer);
+ timer_setSoftint(&leds_timer, (Hook)leds_toggle, 0);
+ timer_setDelay(&leds_timer, ms_to_ticks(100));
+ timer_add(&leds_timer);
ASSERT(proc_testRun() == 0);
// Main loop