class OpenC3::TableItemParser

Extends the PacketItemParser to create TableItems for TableManager

def self.parse(parser, table, warnings)

Parameters:
  • table (Table) -- Table all parsed items should be added to
  • parser (ConfigParser) -- Configuration parser
def self.parse(parser, table, warnings)
  parser = TableItemParser.new(parser, warnings)
  parser.verify_parameters(PacketConfig::COMMAND)
  parser.create_table_item(table)
end

def create_table_item(table)

Parameters:
  • table (Table) -- Table created items are added to
def create_table_item(table)
  name = @parser.parameters[0]
  if table.type == :ROW_COLUMN
    name = "#{name}0"
    table.num_columns += 1
  end
  item =
    TableItem.new(
      name,
      get_bit_offset,
      get_bit_size,
      get_data_type,
      get_endianness(table),
      get_array_size,
      :ERROR,
    ) # overflow
  item.range = get_range
  item.default = get_default
  item.description = get_description
  if append?
    item = table.append(item)
  else
    item = table.define(item)
  end
  item
rescue => err
  raise @parser.error(err, @usage)
end