Sha256: e0313f2acf515ad76bc52ff6403a959fff1cd3c15a600e5024059b3435506367
Contents?: true
Size: 1.25 KB
Versions: 1
Compression:
Stored size: 1.25 KB
Contents
require 'origen' require_relative '../config/application.rb' module OrigenMemoryImage autoload :Base, 'origen_memory_image/base' autoload :SRecord, 'origen_memory_image/s_record' autoload :Hex, 'origen_memory_image/hex' autoload :Binary, 'origen_memory_image/binary' def self.new(file, options = {}) unless options[:source] == String file = Origen.file_handler.clean_path_to(file) end find_type(file, options).new(file, options) end # Returns the class of the image manager for the given file def self.find_type(file, options = {}) # Read first 10 lines if options[:source] == String snippet = file.split("\n") else snippet = File.foreach(file.to_s).first(1) end case # Always do the binary first since the others won't be able to process # a binary snippet when options[:type] == :binary || (options[:source] != String && Binary.match?(file)) Binary when options[:source] == String && Binary.match?(snippet, true) Binary when options[:type] == :srecord || SRecord.match?(snippet) SRecord when options[:type] == :hex || Hex.match?(snippet) Hex else fail "Unknown format for image file: #{file}" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
origen_memory_image-0.7.0 | lib/origen_memory_image.rb |