class FB::Gcode

Constants

GCODE_DICTIONARY
PARAMETER_DICTIONARY

Attributes

block[RW]
cmd[RW]
params[RW]

Public Class Methods

new(&block) click to toggle source
# File lib/gcode.rb, line 11
def initialize(&block)
  @block  = block
end
parse_lines(string) click to toggle source

Turns a string of many gcodes into an array of many gcodes. Used to parse incoming serial.

# File lib/gcode.rb, line 17
def self.parse_lines(string)
  string.gsub("\r", '').split("\n").map { |s| self.new { s } }
end

Public Instance Methods

name() click to toggle source

Returns a symbolized english version of the gcode’s name.

# File lib/gcode.rb, line 22
def name
  GCODE_DICTIONARY[cmd.to_sym] || :unknown
end
to_s() click to toggle source
# File lib/gcode.rb, line 26
def to_s
  # self.to_s # => "A12 B23 C45"
  [cmd, *params].map(&:to_s).join(" ")
end
value_of(param) click to toggle source
# File lib/gcode.rb, line 44
def value_of(param)
  params.find{ |p| p.head == param.to_sym.upcase }.tail
end