Class: Arduino

Inherits:
Object
  • Object
show all
Defined in:
lib/arduino-mk/base.rb

Defined Under Namespace

Modules: ErrorImprover, Makefile, NullProject, OptionParser, ProjectCopier

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Arduino

Returns a new instance of Arduino.



3
4
5
# File 'lib/arduino-mk/base.rb', line 3

def initialize(options = {})
  @options = OptionParser.parse(options)
end

Class Method Details

.boardsObject



37
38
39
40
# File 'lib/arduino-mk/base.rb', line 37

def self.boards
  instance = new(board: "null")
  instance.boards
end

.makefileObject



48
49
50
# File 'lib/arduino-mk/base.rb', line 48

def self.makefile
  Makefile::Template.path_to_arduino_mk
end

Instance Method Details

#boardsObject



42
43
44
45
46
# File 'lib/arduino-mk/base.rb', line 42

def boards
  make(NullProject.path, "show_boards")
  array = output.split("\n")
  array[array.index("uno")..-2]
end

#compiles?(project) ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
15
# File 'lib/arduino-mk/base.rb', line 12

def compiles?(project)
  make(project)
  @result.success?
end

#errorObject



27
28
29
30
31
32
33
34
35
# File 'lib/arduino-mk/base.rb', line 27

def error
  return unless @result

  if @result.success?
    @result.stderr
  else
    ErrorImprover.improve(@result.stderr)
  end
end

#outputObject



22
23
24
25
# File 'lib/arduino-mk/base.rb', line 22

def output
  return unless @result
  @result.stdout
end

#resetObject



17
18
19
20
# File 'lib/arduino-mk/base.rb', line 17

def reset
  make(NullProject.path, "reset")
  @result.success?
end

#upload(project) ⇒ Object



7
8
9
10
# File 'lib/arduino-mk/base.rb', line 7

def upload(project)
  make(project, "upload")
  @result.success?
end