version 2.01 platform ollo o // param_text:Title- 3rd teaching program chapter 5 example (Singing bird) o // param_text:First Distribution : 2009/10/01 o // param_text:Last Modify : 2009/10/01 o // param_text:[Operating] o // param_text:Robot will move according to the sensor value. o main o begin o // param_text:It will play melody when it starts. o load param_dest:cm:55 param_src:buzzertime_num:255 o load param_dest:cm:54 param_src:melody_num:3 o call faddr_dest:MelodyWait - o // param_text:It will spread out its wings wide. o load param_dest:aux_servo:3:0 param_src:bool_num:1 o load param_dest:aux_servo:3:1 param_src:dir_num:2047 o load param_dest:aux_servo:3:2 param_src:dec_num:512 o load param_dest:cm:33 param_src:timer_num:8 o wait param_src:cm:33 lop:> param_src:timer_num:0 rop:then - o // param_text:The sound detection count will be initialized. o load param_dest:cm:56 param_src:dec_num:0 - o while(1) o begin o // param_text:The sound detection count will be initialized. o load param_dest:cm:56 param_src:dec_num:0 - o // param_text:It will stop to hear the sounds. o wait param_src:cm:56 lop:== param_src:dec_num:0 rop:then - o // param_text:It will move its wings and play another melody according to the sound detection count. o if param_src:cm:56 lop:== param_src:dec_num:1 rop:then o call faddr_dest:OneTimeClapMelody o elseif param_src:cm:56 lop:== param_src:dec_num:2 rop:then o call faddr_dest:TwoTimesClapMelody o elseif param_src:cm:56 lop:== param_src:dec_num:3 rop:then o call faddr_dest:ThreeTimesClapMelody o end o end - o function faddr_src:OneTimeClapMelody o begin o load param_dest:aux_servo:3:2 param_src:dec_num:960 o call faddr_dest:C3 o load param_dest:aux_servo:3:2 param_src:dec_num:400 o call faddr_dest:D1 o call faddr_dest:E2 o call faddr_dest:C2 o load param_dest:aux_servo:3:2 param_src:dec_num:800 o call faddr_dest:E2 o call faddr_dest:C2 o load param_dest:aux_servo:3:2 param_src:dec_num:512 o call faddr_dest:E4 o end - o function faddr_src:TwoTimesClapMelody o begin o load param_dest:aux_servo:3:2 param_src:dec_num:700 o call faddr_dest:D3 o call faddr_dest:E1 o load param_dest:aux_servo:3:2 param_src:dec_num:960 o call faddr_dest:F1 o call faddr_dest:F1 o call faddr_dest:E1 o call faddr_dest:D1 o load param_dest:aux_servo:3:2 param_src:dec_num:512 o call faddr_dest:F6 o end - o function faddr_src:ThreeTimesClapMelody o begin o load param_dest:aux_servo:3:2 param_src:dec_num:900 o call faddr_dest:E3 o load param_dest:aux_servo:3:2 param_src:dec_num:600 o call faddr_dest:F1 o call faddr_dest:G2 o call faddr_dest:E2 o load param_dest:aux_servo:3:2 param_src:dec_num:960 o call faddr_dest:G2 o call faddr_dest:E2 o load param_dest:aux_servo:3:2 param_src:dec_num:560 o call faddr_dest:G4 o load param_dest:aux_servo:3:2 param_src:dec_num:800 o call faddr_dest:F3 o load param_dest:aux_servo:3:2 param_src:dec_num:560 o call faddr_dest:G1 o call faddr_dest:A1 o call faddr_dest:A1 o load param_dest:aux_servo:3:2 param_src:dec_num:960 o call faddr_dest:G1 o call faddr_dest:F1 o load param_dest:aux_servo:3:2 param_src:dec_num:512 o call faddr_dest:A6 o end - o function faddr_src:C2 o begin o load param_dest:cm:55 param_src:buzzertime_num:4 o load param_dest:cm:54 param_src:scale_num:3 o call faddr_dest:MelodyWait o end o function faddr_src:C3 o begin o load param_dest:cm:55 param_src:buzzertime_num:6 o load param_dest:cm:54 param_src:scale_num:3 o call faddr_dest:MelodyWait o end o function faddr_src:D1 o begin o load param_dest:cm:55 param_src:buzzertime_num:2 o load param_dest:cm:54 param_src:scale_num:5 o call faddr_dest:MelodyWait o end o function faddr_src:D3 o begin o load param_dest:cm:55 param_src:buzzertime_num:6 o load param_dest:cm:54 param_src:scale_num:5 o call faddr_dest:MelodyWait o end o function faddr_src:E1 o begin o load param_dest:cm:55 param_src:buzzertime_num:2 o load param_dest:cm:54 param_src:scale_num:7 o call faddr_dest:MelodyWait o end o function faddr_src:E2 o begin o load param_dest:cm:55 param_src:buzzertime_num:4 o load param_dest:cm:54 param_src:scale_num:7 o call faddr_dest:MelodyWait o end o function faddr_src:E3 o begin o load param_dest:cm:55 param_src:buzzertime_num:6 o load param_dest:cm:54 param_src:scale_num:7 o call faddr_dest:MelodyWait o end o function faddr_src:E4 o begin o load param_dest:cm:55 param_src:buzzertime_num:8 o load param_dest:cm:54 param_src:scale_num:7 o call faddr_dest:MelodyWait o end o function faddr_src:F1 o begin o load param_dest:cm:55 param_src:buzzertime_num:2 o load param_dest:cm:54 param_src:scale_num:8 o call faddr_dest:MelodyWait o end o function faddr_src:F3 o begin o load param_dest:cm:55 param_src:buzzertime_num:6 o load param_dest:cm:54 param_src:scale_num:8 o call faddr_dest:MelodyWait o end o function faddr_src:F6 o begin o load param_dest:cm:55 param_src:buzzertime_num:12 o load param_dest:cm:54 param_src:scale_num:8 o call faddr_dest:MelodyWait o end o function faddr_src:G1 o begin o load param_dest:cm:55 param_src:buzzertime_num:2 o load param_dest:cm:54 param_src:scale_num:10 o call faddr_dest:MelodyWait o end o function faddr_src:G2 o begin o load param_dest:cm:55 param_src:buzzertime_num:4 o load param_dest:cm:54 param_src:scale_num:10 o call faddr_dest:MelodyWait o end o function faddr_src:G4 o begin o load param_dest:cm:55 param_src:buzzertime_num:8 o load param_dest:cm:54 param_src:scale_num:10 o call faddr_dest:MelodyWait o end o function faddr_src:A1 o begin o load param_dest:cm:55 param_src:buzzertime_num:2 o load param_dest:cm:54 param_src:scale_num:12 o call faddr_dest:MelodyWait o end o function faddr_src:A6 o begin o load param_dest:cm:55 param_src:buzzertime_num:12 o load param_dest:cm:54 param_src:scale_num:12 o call faddr_dest:MelodyWait o end o function faddr_src:B1 o begin o load param_dest:cm:55 param_src:buzzertime_num:2 o load param_dest:cm:54 param_src:scale_num:14 o call faddr_dest:MelodyWait o end - o function faddr_src:MelodyWait o begin o wait param_src:cm:55 lop:> param_src:buzzertime_num:0 rop:then o end ¬F