Fix kernel heap macros in bertos trunk.
[bertos.git] / examples / at91sam7s / at91sam7s.c
index 89aedcb52324f120a87c11e83b54d2acc33c1672..17293a4448bd35091ce4a4d471a74ffa6118b813 100644 (file)
 #include <drv/timer.h>
 #include <drv/sysirq_at91.h>
 #include <drv/ser.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 */