module BlinkM {
uses {
interface Boot;
interface Leds;
interface Timer<TMilli>;
}
}
implementation {
int caseflag=1;
int subflag=0;
event void Boot.booted() {
call Timer.startPeriodic(2000);
}
event void Timer.fired(){
call Leds.led0Off();
call Leds.led1Off();
call Leds.led2Off();
if(caseflag<=4){
call Leds.led0Off();
}
else{
call Leds.led0On();
}
if(subflag>1 && subflag<4){
call Leds.led1On();
}
else{
call Leds.led1Off();
}
if(caseflag%2==0){
call Leds.led2On();
}
else{
call Leds.led2Off();
}
if(subflag==4){
subflag=0;
}
if(caseflag==8){
caseflag=0;
}
caseflag++;
subflag++;
}
}