class OpenC3::TableItemParser
Extends the PacketItemParser to create TableItems for TableManager
def self.parse(parser, table, warnings)
-
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)
-
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