#define right OUT_C #define left OUT_A #define both OUT_A + OUT_C task main() { ClearMessage(); SetPower(both, OUT_FULL); SetTimer(0, 0); while(1) { switch(Message()) { case 1: OnFwd(right); ClearMessage(); ClearTimer(0); break; case 2: OnFwd(both); ClearMessage(); ClearTimer(0); break; case 3: OnFwd(both); ClearMessage(); ClearTimer(0); break; case 4: OnFwd(left); ClearMessage(); ClearTimer(0); break; case 5: OnFwd(right); OnRev(left); ClearTimer(0); ClearMessage(); break; case 6: OnFwd(both); ClearMessage(); ClearTimer(0); break; case 7: OnFwd(both); ClearMessage(); ClearTimer(0); break; case 8: OnFwd(left); OnRev(right); ClearMessage(); ClearTimer(0); break; case 9: OnFwd(right); OnRev(left); ClearMessage(); ClearTimer(0); break; case 10: OnFwd(both); ClearMessage(); ClearTimer(0); break; case 11: OnFwd(both); ClearMessage(); ClearTimer(0); break; case 12: OnFwd(left); OnRev(right); ClearMessage(); ClearTimer(0); break; case 13: OnRev(left); ClearMessage(); ClearTimer(0); break; case 14: OnRev(both); ClearMessage(); ClearTimer(0); break; case 15: OnRev(both); ClearMessage(); ClearTimer(0); break; case 16: OnRev(right); ClearMessage(); ClearTimer(0); break; default: if (Timer(0) > 5) { Off(both); ClearMessage(); ClearTimer(0); break; }//if (Timer(0) > 15) }//switch(Message()) }//while(1) }