/***************************** * Whole Prog - für RCX1 * * by Martin Humel * *****************************/ /* Messages: (1) - Daumen/kleinerFinger-taste (2) - Daumenlampe an (3) - Daumenlampe aus (4) - Lampe f. kleinen Finger an (5) - Lampe f. kleinen Finger aus (100) - Muskeltrainer aktivieren (102) - Fingertrainer auf RCX1 starten (103) (255) - stop programm! Finger-definiton: (Finger#)+--(Finger)-----+(RCX#)+(Sensor#)--+--(Lampen)--+--(Port#) Finger0: Daumen RCX1 3 RCX1 B Finger1: Zeigefinger RCX2 1 RCX2 A Finger2: Mittelfinger RCX2 2 RCX2 B Finger3: Ringfinger RCX2 3 RCX2 C Finger4: Kleiner Finger RCX1 3 RCX1 C */ //vardefs int sleep=0; //mainprog task main() { //sensordefs SetSensorType(SENSOR_1,SENSOR_TYPE_ROTATION); SetSensorMode(SENSOR_1,SENSOR_MODE_PULSE); SetSensorType(SENSOR_2,SENSOR_TYPE_ROTATION); SetSensorMode(SENSOR_2,SENSOR_MODE_PULSE); SetSensorType(SENSOR_3,SENSOR_TYPE_TOUCH); SetSensorMode(SENSOR_3,SENSOR_MODE_BOOL); //start endlos while(true) { start choice; until (sleep==1); until (sleep==0); } } task choice() { int over=0; //Prog auf tastatur wählen while(over==0) { //Muskeltrainer if(SENSOR_3==1) { PlaySound(1); over=1; SendMessage(100); start muskel; } //Fingertrainer akiviert if(Message()==102) { ClearMessage(); start goldfinger; over=1; } } sleep=1; } task muskel() { sleep=0; SendMessage(255); } task goldfinger() { int over=0; while(over==0) { //daumen/kleinefinger-taste gedrückt if(SENSOR_1) {SendMessage(1);} //Daumenlampe an if (Message()==2){OnFwd(OUT_B); ClearMessage();} //Daumenlampe aus if (Message()==3){Off(OUT_B); ClearMessage();} //Lampe f. kleinen Finger an if (Message()==4){OnFwd(OUT_C); ClearMessage();} //Lampe f. kleinen Finger aus if (Message()==5){Off(OUT_C); ClearMessage();} //stop programm if(Message()==255){over=1;ClearMessage();} } sleep=0; }