#include #include #include #include "../lib/apps.h" #include "../lib/bughal.h" #include "../lib/util.h" #include "../lib/music.h" /** * crazymoves mode * - play random sounds and move in random fashion */ static void crazy(void) { static timer_t mytimer; uint8_t max = 50; uint8_t min = 5; uint16_t maxfreq = 5000; uint16_t minfreq = 1000; if (mode_uninitialized) { mode_uninitialized = false; music_setNote(NOTE_PAUSE, 4); //mute timer_set(&mytimer, 10); init_leds(); led_off(LED_L | LED_R); set_motor(MOTOR_OFF); } if (timer_expired(&mytimer)) { set_motor(MOTOR_OFF); music_setNote(NOTE_PAUSE, 0); //mute /*set random led*/ switch (rand() % 4) { case 0: led_on(LED_L); break; case 1: led_on(LED_R); break; case 2: led_on(LED_L | LED_R); break; default: led_off(LED_L | LED_R); break; }; /*decide if to switch motor on (40% chance)*/ if (rand() % 5 > 2) set_motor(MOTOR_ON); /*decide if to play sound (70% chance)*/ if (rand() % 10 > 2) { music_setNote((rand() % (maxfreq - minfreq)) + minfreq, 0); } timer_set(&mytimer, (rand() % (max - min)) + min); }//end if timer_expired /*deinialisation */ if (mode_last_tick) { set_motor(MOTOR_OFF); music_setNote(NOTE_PAUSE, 0); //mute } } REGISTER(crazy)