X-Git-Url: http://nitlanguage.org diff --git a/contrib/physical_interface_for_mpd_on_rpi/physical_interface_for_mpd_on_rpi.nit b/contrib/physical_interface_for_mpd_on_rpi/physical_interface_for_mpd_on_rpi.nit index c154835..335444a 100644 --- a/contrib/physical_interface_for_mpd_on_rpi/physical_interface_for_mpd_on_rpi.nit +++ b/contrib/physical_interface_for_mpd_on_rpi/physical_interface_for_mpd_on_rpi.nit @@ -29,26 +29,29 @@ import mpd import privileges class PhysicalInterface - var mpd = new MPDConnection("localhost", 6600, "password") + var mpd = new MPDConnection(server, port, password) + protected fun password: String do return "password" + fun server: String do return "localhost" + fun port: Int do return 6600 - var debug_led: RPiPin + var but_play: Switch is noinit + var but_playlist_a: Switch is noinit - var but_play: Switch - var but_playlist_a: Switch - - var vol: RotaryEncoder + var vol: RotaryEncoder is noinit var vol_step = 2 - var lcd: HD44780 + var lcd: HD44780 is noinit - var lcd_backlight: RPiPin + var lcd_backlight: RPiPin is noinit var lcd_backlight_delay = 1000 + var buzzer: Buzzer is noinit + init do # commandline options for privileges drop var opts = new OptionContext - var opt_ug = new OptionDropPrivileges + var opt_ug = new OptionUserAndGroup.for_dropping_privileges #opt_ug.mandatory = true opts.add_option(opt_ug) @@ -67,11 +70,6 @@ class PhysicalInterface var user_group = opt_ug.value if user_group != null then user_group.drop_privileges - # Debug LED - debug_led = new RPiPin.p1_11 - debug_led.fsel = new FunctionSelect.outp - debug_led.write(false) - # Play button but_play = new Switch(new RPiPin.p1_13, new PUDControl.down) @@ -103,11 +101,15 @@ class PhysicalInterface lcd_backlight = new RPiPin.p1_18 lcd_backlight.fsel = new FunctionSelect.outp + + # Buzzer + var buzzer_pin = new RPiPin.p1_11 + buzzer_pin.fsel = new FunctionSelect.outp + buzzer = new Buzzer(buzzer_pin) end fun run do - var led_on = false var tick = 0 var last_event = 0 loop @@ -197,12 +199,16 @@ class PhysicalInterface print "stopped -> play" mpd.play end + + bell end fun play_playlist_a do mpd.load_playlist("alexis") end + + fun bell do buzzer.buzz(1.5, 20) end var phy = new PhysicalInterface