Class: Phidgets::FrequencyCounter::FrequencyCounterInputs

Inherits:
Object
  • Object
show all
Defined in:
lib/phidgets-ffi/frequency_counter.rb

Overview

This class represents a frequency counter input for a PhidgetFrequencyCounter. All the properties of a frequency counter input are stored and modified in this class.

Constant Summary collapse

Klass =
Phidgets::FFI::CPhidgetFrequencyCounter

Instance Method Summary collapse

Instance Method Details

#enabledBoolean

Returns the enabled state of a frequency counter input, or raises an error.

Returns:

  • (Boolean)

    returns the enabled state of a frequency counter input, or raises an error.



58
59
60
61
62
# File 'lib/phidgets-ffi/frequency_counter.rb', line 58

def enabled
  ptr = ::FFI::MemoryPointer.new(:int)
  Klass.getEnabled(@handle, @index, ptr)
  (ptr.get_int(0) == 0) ? false : true
end

#enabled=(new_state) ⇒ Boolean

Sets the enabled state of a frequency counter input, or raises an error.

Parameters:

  • new_state (Boolean)

    new state

Returns:

  • (Boolean)

    returns enabled state of a frequency counter input, or raises an error.



67
68
69
70
71
# File 'lib/phidgets-ffi/frequency_counter.rb', line 67

def enabled=(new_state)
  tmp = new_state ? 1 : 0
  Klass.setEnabled(@handle, @index, tmp)
  new_state
end

#filter_typePhidgets::FFI::FrequencyCounterFilterTypes

Returns the filter type of the frequency counter input, or raises an error.

Returns:



74
75
76
77
78
# File 'lib/phidgets-ffi/frequency_counter.rb', line 74

def filter_type
  ptr = ::FFI::MemoryPointer.new(:int)
  Klass.getFilter(@handle, @index, ptr)
  Phidgets::FFI::FrequencyCounterFilterTypes[ptr.get_int(0)]
end

#filter_type=(new_filter) ⇒ Phidgets::FFI::FrequencyCounterFilterTypes

Sets the filter type of the frequency counter input, or raises an error.

Parameters:

Returns:



83
84
85
86
87
# File 'lib/phidgets-ffi/frequency_counter.rb', line 83

def filter_type=(new_filter)
  ptr = ::FFI::MemoryPointer.new(:int)
  Klass.setFilter(@handle, @index, Phidgets::FFI::FrequencyCounterFilterTypes[new_filter])
  new_filter
end

#frequencyInteger

Returns the measured frequency of the frequency counter input, in Hz, or raises an error.

Returns:

  • (Integer)

    returns the measured frequency of the frequency counter input, in Hz, or raises an error.



90
91
92
93
94
# File 'lib/phidgets-ffi/frequency_counter.rb', line 90

def frequency
  ptr = ::FFI::MemoryPointer.new(:double)
  Klass.getFrequency(@handle, @index, ptr)
  ptr.get_double(0)
end

#indexInteger

Returns index of the frequency counter input, or raises an error.

Returns:

  • (Integer)

    returns index of the frequency counter input, or raises an error.



53
54
55
# File 'lib/phidgets-ffi/frequency_counter.rb', line 53

def index 
	@index
end

#timeoutInteger

Returns the timeout for the frequency counter input, in microseconds, or raises an error.

Returns:

  • (Integer)

    returns the timeout for the frequency counter input, in microseconds, or raises an error.



97
98
99
100
101
# File 'lib/phidgets-ffi/frequency_counter.rb', line 97

def timeout
  ptr = ::FFI::MemoryPointer.new(:int)
  Klass.getTimeout(@handle, @index, ptr)
  ptr.get_int(0)
end

#timeout=(new_timeout) ⇒ Integer

Sets the timeout for the frequency counter input, in microseconds, or raises an error.

Parameters:

  • new_timeout (Integer)

    new timeout

Returns:

  • (Integer)

    returns timeout of the frequency counter input, or raises an error.



106
107
108
109
# File 'lib/phidgets-ffi/frequency_counter.rb', line 106

def timeout=(new_timeout)
  Klass.setTimeout(@handle, @index, new_timeout.to_i)
  new_timeout.to_i
end

#total_countInteger

Returns the number of ticks counted since last reset, or raises an error.

Returns:

  • (Integer)

    returns the number of ticks counted since last reset, or raises an error.



112
113
114
115
116
# File 'lib/phidgets-ffi/frequency_counter.rb', line 112

def total_count
  ptr = ::FFI::MemoryPointer.new(:long)
  Klass.getTotalCount(@handle, @index, ptr)
  ptr.get_long(0)
end

#total_timeInteger

Returns the total time since last reset, in microseconds, or raises an error.

Returns:

  • (Integer)

    returns the total time since last reset, in microseconds, or raises an error.



119
120
121
122
123
# File 'lib/phidgets-ffi/frequency_counter.rb', line 119

def total_time
  ptr = ::FFI::MemoryPointer.new(:long_long)
  Klass.getTotalTime(@handle, @index, ptr)
  ptr.get_long_long(0)
end