What would you call these pseudocode cooperative multitasking or cooperative scheduling
LED1 LED2 LED3 enum LED_STATE ( STATE1 = 1, STATE2 = 2, STATE3 = 3)STATE; void main () { unit8_t Timer1 = 0 ; unit8_t Timer2 = 0 ; unit8_t Timer3 = 0 ; LED1 = ON ; LED2 = ON ; LED3 = ON ; STATE = STATE1; while (1) { if (Timer_Flag == 1) { // Timer_Flag set every 10ms Timer_Flag = 0; //increment each timer every 10ms Timer1++ ; Timer2++ ; Timer3++ ; switch (STATE) { case STATE1 : if ( Timer1 == 10 ) // check if time is 100ms { LED1 =~ LED1 ; // change state of LED1 Timer1 = 0; // clear Timer1 for next time STATE = STATE2 ; // Move to next STATE } break; case STATE2 : if ( Timer2 == 20 ) // check if time is 200ms { LED2 =~ LED2 ; // change state of LED2 Timer2 = 0; // clear Timer2 for next time STATE = STATE3 ; // Move to next STATE } break case STATE3 : if ( Timer3 == 30 ) // check if time is 300ms { LED3 =~ LED3 ; // change state of LED3 Timer3 = 0; // clear Timer3 for next time STATE = STATE1 ; // return to STATE1 } break; } } // interrupt every 10ms void ISR_Timer_Interrupt () { if ( T1IF = SET ) { T1IF = 0; Timer_Flag = 1; } }