Class: BeagleBoard::Base::Adc

Inherits:
Object
  • Object
show all
Defined in:
lib/beagleboard/base/adc.rb

Direct Known Subclasses

FreeBSD::Adc, Linux::Adc

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(_adc, scale = 2**12) ⇒ Adc

Returns a new instance of Adc.



6
7
8
9
10
# File 'lib/beagleboard/base/adc.rb', line 6

def initialize(_adc, scale = 2**12)
  @scale = scale

  enable unless enabled?
end

Instance Attribute Details

#scaleObject

Returns the value of attribute scale.



4
5
6
# File 'lib/beagleboard/base/adc.rb', line 4

def scale
  @scale
end

Instance Method Details

#disableObject

Raises:

  • (StandardError)


20
21
22
# File 'lib/beagleboard/base/adc.rb', line 20

def disable
  raise StandardError, 'Not supported'
end

#enableObject

Raises:

  • (StandardError)


16
17
18
# File 'lib/beagleboard/base/adc.rb', line 16

def enable
  raise StandardError, 'Not supported'
end

#enabled?Boolean

Returns:

  • (Boolean)

Raises:

  • (StandardError)


12
13
14
# File 'lib/beagleboard/base/adc.rb', line 12

def enabled?
  raise StandardError, 'Not supported'
end

#raw_valueObject

Raises:

  • (StandardError)


24
25
26
# File 'lib/beagleboard/base/adc.rb', line 24

def raw_value
  raise StandardError, 'Not supported'
end

#valueObject



28
29
30
31
32
33
34
35
# File 'lib/beagleboard/base/adc.rb', line 28

def value
  res = (raw_value.to_f * @scale / 2**12)
  case @scale
  when Integer then res.to_i
  when Float then res
  else raise("Unexpected type: #{@scale.class}")
  end
end