Module: Px4LogReader

Defined in:
lib/px4_log_reader/error.rb,
lib/px4_log_reader/reader.rb,
lib/px4_log_reader/version.rb,
lib/px4_log_reader/log_file.rb,
lib/px4_log_reader/progress.rb,
lib/px4_log_reader/log_buffer.rb,
lib/px4_log_reader/log_message.rb,
lib/px4_log_reader/message_descriptor.rb,
lib/px4_log_reader/file_not_found_error.rb,
lib/px4_log_reader/invalid_descriptor_error.rb,
lib/px4_log_reader/message_descriptor_cache.rb

Overview

%% license-end-token %%

Author: [email protected] (Robert Glissmann)

Defined Under Namespace

Modules: LogFile Classes: Context, Error, FileNotFoundError, InvalidDescriptorError, LogBuffer, LogBufferArray, LogMessage, MessageDescriptor, MessageDescriptorCache, Progress, Reader

Constant Summary collapse

VERSION =
'1.0.2'
FORMAT_MESSAGE =

Message descriptor for format messages

Px4LogReader::MessageDescriptor.new({
name: 'FMT',
type: 0x80,
length: 89, # header.size + B(1) + B(1) + n(4) + N(16) + Z(64)
format: 'BBnNZ',
fields: [ "Type", "Length", "Name", "Format", "Labels" ] }).freeze

Class Method Summary collapse

Class Method Details

.attach(input_stream, options, &block) {|reader| ... } ⇒ Object

Attach a reader to an existing input stream.

Parameters:

  • Valid input stream

  • Reader options hash

  • Optional block

Yields:

  • (reader)


41
42
43
44
45
46
47
48
49
# File 'lib/px4_log_reader/reader.rb', line 41

def self.attach( input_stream, options, &block )

	reader = Reader.new( input_stream, options )

	yield reader if block_given?

	return reader
	
end

.open(filename, options = {}, &block) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
# File 'lib/px4_log_reader/reader.rb', line 51

def self.open( filename, options = {}, &block  )

	reader = nil

	if File.exist?( filename )
		reader = self.attach( File.open( filename, 'rb' ), options, &block )
	end	

	return reader

end

.open!(filename, options = {}, &block) ⇒ Object



63
64
65
66
67
68
69
70
71
72
73
# File 'lib/px4_log_reader/reader.rb', line 63

def self.open!( filename, options = {}, &block )
	reader = nil

	if File.exist?( filename )
		reader = self.attach( File.open( filename, 'rb' ), options, &block )
	else
		raise FileNotFoundError.new( filename )
	end	

	return reader
end