:- module(nxt_actions, [ set_speed/2, set_speed/3, get_speed/2, get_light/1, get_touch/1, get_distance/1, get_sound/1, create_timer/1, wake_up/3, create_trigger/1, trigger_fired/4, trigger_fired/3 ]). % Wprawienie w ruch silnika z zadana predkoscia. set_speed(Motor,Speed) :- write('Motor '), write(Motor), write(': predkosc '), write(Speed),nl. % Obrot silnika z zadana predkoscia o zadany kat. set_speed(Motor,Speed,Angle) :- write('Motor '), write(Motor), write(': predkosc '), write(Speed), write(', Kat obrotu: '), write(Angle),nl. % Odczytanie predkosci silnika. get_speed(Motor,Speed) :- Speed is 14, write('Odczyt predkosci silnika '), write(Motor), write('wynosi: '), write(Speed),nl. % Odczytanie natezenia swiatla. get_light(Value) :- Value is 30, write('Odczyt natezenia swiatla: '), write(Value),nl. % Odczytanie informacji o wcisnieciu sensora dotykowego. get_touch(Value) :- Value is true, write('Odczyt dotyku: '), write(Value),nl. % Odczytanie pomiaru z sensora ultradzwiekowego. get_distance(Value) :- Value is 30, write('Odczyt odleglosci: '), write(Value),nl. % Odczytanie natezenia dzwieku. get_sound(Value) :- Value is 30, write('Odczyt natezenia dzwieku: '), write(Value),nl. % Utworzenie timera nadajace mu pewien % jednoznaczenie okreslajacy go identyfikator. create_timer(ID) :- ID is 723, write('Utworzono timer! '), write('ID: '),write(ID),nl. % Mechanizm wyzwalajacy akcje timera. wake_up(T,Time,Action) :- write('Timer '), write(T), write(' wyzwala po czasie '), write(Time), write(' akcje '), write(Action),nl, Action. % Utworzenie triggera nadajace mu pewien % jednoznaczenie okreslajacy go identyfikator. create_trigger(ID) :- ID is 583, write('Utworzono trigger! '), write('ID: '),write(ID),nl. % Mechanizm wyzwalajacy akcje triggera. % Times rowne 0 oznacza nieskonczonosc pracy triggera. trigger_fired(T,Event,Action,Times) :- write('Trigger '), write(T), write(' wyzwala '), write(Times), write(' razy po zdarzeniu '), write(Event), write(' akcje '), write(Action),nl. trigger_fired(T,Event,Action) :- trigger_fired(T,Event,Action,1).