#include "led.h"

// /* problem set 2 of LEDs*/ 
void setup() 
 {
//   // put your setup code here, to run once:
 init_port();
 }

 //void loop() 
//  {
//   // put your main code here, to run repeatedly:
//   // Question 1 Blink All the led with delay 
//     char x;
//     volatile long i ;
//     x= 0b11111111;
//     output(x);
//        for (i=0;i<100000;i++);// delay
//      x= 0b00000000;
//     output(x);
//     for (i=0;i<100000;i++);// delay

 //}
// // // question 2 glow led one by one(do not off the led)
  
// //  char x;
// //  char y=0b11111111;
// // volatile long i ;
// //        for (x=0; x<8; x++)// delay
// //        {         
// //           for(i=0; i<200000; i++)
        
// //          output((1 << x));
// //        }



// // // char x;
// // // volatile long i ;
  
// // //   for(x=0; x<=3; x++)
// // //   {
// // //     for (i=0 ;i<100000; i++)
// // //     output((1 << x));
// // //   }


// //  }

// // int ledPins[] = {A0,A1,A2,A3,A4,A5,A6,A7};
// // int i;
// //  void setup()
// //   { 
// //     for( i = 0; i < 8; i++) 
// //     pinMode(ledPins[i],OUTPUT);
// // }

void loop() 
{
  // put your main code here, to run repeatedly:
  char x;
  volatile long i ;
  x= 0b00000001;
  output(x);
  for (i=0;i<3000;i++);// delay
  x= 4;
  output(x);
  for (i=0;i<2000;i++);// delay 
   x= 2;
  output(x);
  for (i=0;i<1000;i++);// delay 
   x= 8;
  output(x);
  for (i=0;i<1000;i++);// delay 
   x= 16;
  output(x);
  for (i=0;i<1000;i++);// delay 
   x= 64;
  output(x);
  for (i=0;i<1000;i++);// delay 
   x= 32;
  output(x);
  for (i=0;i<1000;i++);// delay 

 x= 128;
  output(x);
  for (i=0;i<1000;i++);// delay 
}




// int ledPins[] = {A0,A1,A2,A3,A4,A5,A6,A7};  // LED pins array (LEDs connected to these pins)
// int sequence[] = {0, 2, 1, 3, 4, 6,5, 7};  // Specific glow pattern
// int numLeds = 8;  // Number of LEDs
// int delayTime = 500;  // Delay in milliseconds

// void setup() {
//   // Set all LED pins as output
//   for (int i = 0; i < numLeds; i++) {
//     pinMode(ledPins[i], OUTPUT);
//   }
// }

// void loop() {
//   // Glow LEDs in the specific sequence
//   for (int i = 0; i < numLeds; i++) {
//     int ledIndex = sequence[i];  // Get the LED index from the sequence
//     digitalWrite(ledPins[ledIndex], HIGH);  // Turn on the current LED
//     delay(delayTime);                       // Wait for the specified delay
//     digitalWrite(ledPins[ledIndex], LOW);   // Turn off the current LED
//   }
// }