Class: Workshop::Project

Inherits:
Object
  • Object
show all
Defined in:
lib/workshop/project.rb,
lib/workshop/project/setup.rb,
lib/workshop/project/configuration.rb,
lib/workshop/project/configuration/build.rb,
lib/workshop/project/configuration/upload.rb

Defined Under Namespace

Classes: Configuration, Setup

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(&block) ⇒ Project

Returns a new instance of Project.



9
10
11
12
13
14
15
16
# File 'lib/workshop/project.rb', line 9

def initialize(&block)
  self.config = Workshop::Project::Configuration.new
  block.call(config)
  self.arduino = Workshop::Arduino.new(config)
  self.builder = Workshop::Builder.new(self)
  self.uploader = Workshop::Uploader.new(self, builder.hex_file)
  Workshop::Tasks.new(builder, uploader)
end

Instance Attribute Details

#arduinoObject

Returns the value of attribute arduino.



3
4
5
# File 'lib/workshop/project.rb', line 3

def arduino
  @arduino
end

#builderObject

Returns the value of attribute builder.



3
4
5
# File 'lib/workshop/project.rb', line 3

def builder
  @builder
end

#configObject

Returns the value of attribute config.



3
4
5
# File 'lib/workshop/project.rb', line 3

def config
  @config
end

#uploaderObject

Returns the value of attribute uploader.



3
4
5
# File 'lib/workshop/project.rb', line 3

def uploader
  @uploader
end

Class Method Details

.configure(&block) ⇒ Object



5
6
7
# File 'lib/workshop/project.rb', line 5

def self.configure(&block)
  new(&block)
end

Instance Method Details

#app_directoryObject



22
23
24
# File 'lib/workshop/project.rb', line 22

def app_directory
  config.app_directory
end

#arduino_core_directoryObject



38
39
40
# File 'lib/workshop/project.rb', line 38

def arduino_core_directory
  arduino.core_directory
end

#arduino_hardware_directoryObject



30
31
32
# File 'lib/workshop/project.rb', line 30

def arduino_hardware_directory
  arduino.hardware_directory
end

#arduino_variant_directoryObject



34
35
36
# File 'lib/workshop/project.rb', line 34

def arduino_variant_directory
  arduino.variant_directory
end

#baud_rateObject



84
85
86
87
# File 'lib/workshop/project.rb', line 84

def baud_rate
  # TODO - read from boards.txt file
  config.upload_speed
end

#build_arduinoObject



70
71
72
73
# File 'lib/workshop/project.rb', line 70

def build_arduino
  # TODO - where does this come from?
  '105'
end

#build_directoryObject



50
51
52
# File 'lib/workshop/project.rb', line 50

def build_directory
  config.build_directory
end

#build_f_cpuObject



58
59
60
# File 'lib/workshop/project.rb', line 58

def build_f_cpu
  config.build_f_cpu
end

#build_mcuObject



54
55
56
# File 'lib/workshop/project.rb', line 54

def build_mcu
  config.build_mcu
end

#build_pidObject



66
67
68
# File 'lib/workshop/project.rb', line 66

def build_pid
  config.build_pid
end

#build_vidObject



62
63
64
# File 'lib/workshop/project.rb', line 62

def build_vid
  config.build_vid
end

#com_portObject



80
81
82
# File 'lib/workshop/project.rb', line 80

def com_port
  com_port_config['port']
end

#includesObject



46
47
48
# File 'lib/workshop/project.rb', line 46

def includes
  config.includes
end

#main_filenameObject



26
27
28
# File 'lib/workshop/project.rb', line 26

def main_filename
  config.main_filename
end

#nameObject



18
19
20
# File 'lib/workshop/project.rb', line 18

def name
  config.project_name
end

#programmerObject



75
76
77
78
# File 'lib/workshop/project.rb', line 75

def programmer
  # TODO - read from boards.txt file
  config.upload_protocol
end

#source_directoryObject



42
43
44
# File 'lib/workshop/project.rb', line 42

def source_directory
  config.source_directory
end