mirror of
https://github.com/hathach/tinyusb.git
synced 2025-01-17 05:32:55 +08:00
41 lines
729 B
Ruby
41 lines
729 B
Ruby
require 'ceedling/plugin'
|
|
require 'ceedling/constants'
|
|
|
|
class Beep < Plugin
|
|
|
|
attr_reader :config
|
|
|
|
def setup
|
|
@config = {
|
|
:on_done => ((defined? TOOLS_BEEP_ON_DONE) ? TOOLS_BEEP_ON_DONE : :bell ),
|
|
:on_error => ((defined? TOOLS_BEEP_ON_ERROR) ? TOOLS_BEEP_ON_ERROR : :bell ),
|
|
}
|
|
end
|
|
|
|
def post_build
|
|
beep @config[:on_done]
|
|
end
|
|
|
|
def post_error
|
|
beep @config[:on_error]
|
|
end
|
|
|
|
private
|
|
|
|
def beep(method = :none)
|
|
case method
|
|
when :bell
|
|
if (SystemWrapper.windows?)
|
|
puts "echo '\007'"
|
|
else
|
|
puts "echo -ne '\007'"
|
|
end
|
|
when :speaker_test
|
|
`speaker-test -t sine -f 1000 -l 1`
|
|
else
|
|
#do nothing with illegal or :none
|
|
end
|
|
end
|
|
end
|
|
|