// Offset is the message number which is the beginning of your range #define offset 16 // Range is the size of a block of messages #define range 16 task main() { int msg; SetPower(OUT_A+OUT_C, OUT_FULL); while(1) { // Clear the message buffer ClearMessage(); // While we aren't receiving any messages, loop while(Message() == 0); // Get the message from the Comms msg = Message(); // Check to see if it was a message intended for us. if(msg >= offset && msg <= offset+range) { // Figure out what to do about the message if(msg == offset) { OnFwd(OUT_A); } else if(msg == 1+offset) { OnRev(OUT_A); } else if(msg == 2+offset) { OnFwd(OUT_B); } else if(msg == 3+offset) { OnRev(OUT_B); } else if(msg == 4+offset) { OnFwd(OUT_C); } else if(msg == 5+offset) { OnRev(OUT_C); } else if(msg == 6+offset) { Off(OUT_A+OUT_B+OUT_C); } else if(msg == 7+offset) { PlaySound(SOUND_UP); } else if(msg == 8+offset) { PlaySound(SOUND_DOWN); } else if(msg == 9+offset) { } else if(msg == 10+offset) { } else if(msg == 11+offset) { } else if(msg == 12+offset) { } else if(msg == 13+offset) { } else if(msg == 14+offset) { } else if(msg == 15+offset) { } } } }