Class: Pixo::Renderer

Inherits:
Object
  • Object
show all
Defined in:
lib/pixo/renderer.rb

Defined Under Namespace

Classes: AddFadecandy, GetBrightness, GetLedsOn, GetPatternName, GetPatternNames, SetBrightness, SetLedsOn, SetPattern

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRenderer



5
6
7
8
9
# File 'lib/pixo/renderer.rb', line 5

def initialize()
  i, o, t = Open3.popen2('bundle exec pixo') 
  @service = Pixo::Ipc::Service.new(o, i)
  @service_thread = Thread.new { self.service.run }
end

Instance Attribute Details

#serviceObject (readonly)

Returns the value of attribute service.



3
4
5
# File 'lib/pixo/renderer.rb', line 3

def service
  @service
end

#service_threadObject (readonly)

Returns the value of attribute service_thread.



3
4
5
# File 'lib/pixo/renderer.rb', line 3

def service_thread
  @service_thread
end

Instance Method Details

#active_patternObject



15
16
17
# File 'lib/pixo/renderer.rb', line 15

def active_pattern
  service.request(Pixo::Renderer::GetPatternName.new)
end

#active_pattern=(name) ⇒ Object



19
20
21
# File 'lib/pixo/renderer.rb', line 19

def active_pattern=(name)
  service.request(Pixo::Renderer::SetPattern.new(name))
end

#add_fadecandy(hostname, count) ⇒ Object



39
40
41
# File 'lib/pixo/renderer.rb', line 39

def add_fadecandy(hostname, count)
  service.request(Pixo::Renderer::AddFadecandy.new(hostname, count))
end

#brightnessObject



27
28
29
# File 'lib/pixo/renderer.rb', line 27

def brightness
  service.request(Pixo::Renderer::GetBrightness.new())
end

#brightness=(brightness) ⇒ Object



23
24
25
# File 'lib/pixo/renderer.rb', line 23

def brightness=(brightness)
  service.request(Pixo::Renderer::SetBrightness.new(brightness))
end

#leds_onObject



35
36
37
# File 'lib/pixo/renderer.rb', line 35

def leds_on
  service.request(Pixo::Renderer::GetLedsOn.new())
end

#leds_on=(leds_on) ⇒ Object



31
32
33
# File 'lib/pixo/renderer.rb', line 31

def leds_on=(leds_on)
  service.request(Pixo::Renderer::SetLedsOn.new(leds_on))
end

#pattern_namesObject



11
12
13
# File 'lib/pixo/renderer.rb', line 11

def pattern_names
  service.request(Pixo::Renderer::GetPatternNames.new)
end