Prosty skrypt do obsługi kilku fizycznych guzików, ułatwiający używanie RaspberryPi jako komputera do codziennej pracy.
Podłączenie guzików jest banalne:
Programowa obsługa jest równie "skomplikowana" co schemat: w pętli sprawdzamy, czy aby któryś port nie zmienił stanu, jeśli zmienił uruchamiamy przypisaną procedurę.
2 guziki przeznaczone są do ściszania i podgłaszania muzyki stąd obecność procedur get_mixer
i set_mixer
.
Z nieznanych mi przyczyn amixer
zwraca poziom głośności w formie 3 liczb (minimum, maximum i wartość bieżąca):
numid=1,iface=MIXER,name='Capture Volume'
; type=INTEGER,access=rw------,values=2,min=0,max=65536,step=1
: values=56210,56210
natomiast przy ustawianiu przyjmuje jedną wartość wyrażoną w procentach. Dlatego właśnie get_mixer
parsuje output z amixer i przelicza go na procenty.