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
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)


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

def disable
  raise StandardError, 'Not supported'
end

#enableObject

Raises:

  • (StandardError)


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

def enable
  raise StandardError, 'Not supported'
end

#raw_valueObject

Raises:

  • (StandardError)


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

def raw_value
  raise StandardError, 'Not supported'
end

#valueObject



24
25
26
27
28
29
30
31
# File 'lib/beagleboard/base/adc.rb', line 24

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