Class: BeagleBoard::FreeBSD::Adc

Inherits:
Base::Adc show all
Extended by:
FFI::Library
Defined in:
lib/beagleboard/freebsd/adc.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base::Adc

#value

Constructor Details

#initialize(adc) ⇒ Adc

Returns a new instance of Adc.



44
45
46
47
48
49
50
51
52
53
# File 'lib/beagleboard/freebsd/adc.rb', line 44

def initialize(adc)
  @enable_mib = FFI::MemoryPointer.new(:int, 6)
  @input_mib = FFI::MemoryPointer.new(:int, 6)

  size = FFI::MemoryPointer.new(:int).write_int(6)
  Adc.sysctlnametomib("dev.ti_adc.0.ain.#{adc}.enable", @enable_mib, size)
  Adc.sysctlnametomib("dev.ti_adc.0.ain.#{adc}.input", @input_mib, size)

  super
end

Instance Attribute Details

#scaleObject

Returns the value of attribute scale.



71
72
73
# File 'lib/beagleboard/freebsd/adc.rb', line 71

def scale
  @scale
end

Class Method Details

.disable(mib) ⇒ Object

Raises:

  • (StandardError)


30
31
32
33
34
# File 'lib/beagleboard/freebsd/adc.rb', line 30

def self.disable(mib)
  buf = FFI::MemoryPointer.new(:int).write_int(0)
  res = sysctl(mib, 6, nil, nil, buf, buf.size)
  raise StandardError, 'Write error' if res < 0
end

.enable(mib) ⇒ Object

Raises:

  • (StandardError)


24
25
26
27
28
# File 'lib/beagleboard/freebsd/adc.rb', line 24

def self.enable(mib)
  buf = FFI::MemoryPointer.new(:int).write_int(1)
  res = sysctl(mib, 6, nil, nil, buf, buf.size)
  raise StandardError, 'Write error' if res < 0
end

.enabled?(mib) ⇒ Boolean

Returns:

  • (Boolean)

Raises:

  • (StandardError)


16
17
18
19
20
21
22
# File 'lib/beagleboard/freebsd/adc.rb', line 16

def self.enabled?(mib)
  buf = FFI::MemoryPointer.new(:int)
  bufsiz = FFI::MemoryPointer.new(:int).write_int(buf.size)
  res = sysctl(mib, 6, buf, bufsiz, nil, 0)
  raise StandardError, 'Read error' if res < 0
  buf.read_int == 1
end

.input(mib) ⇒ Object

Raises:

  • (StandardError)


36
37
38
39
40
41
42
# File 'lib/beagleboard/freebsd/adc.rb', line 36

def self.input(mib)
  buf = FFI::MemoryPointer.new(:int)
  bufsiz = FFI::MemoryPointer.new(:int).write_int(buf.size)
  res = sysctl(mib, 6, buf, bufsiz, nil, 0)
  raise StandardError, 'Read error' if res < 0
  buf.read_int
end

Instance Method Details

#disableObject



63
64
65
# File 'lib/beagleboard/freebsd/adc.rb', line 63

def disable
  Adc.disable(@enable_mib)
end

#enableObject



59
60
61
# File 'lib/beagleboard/freebsd/adc.rb', line 59

def enable
  Adc.enable(@enable_mib)
end

#enabled?Boolean

Returns:

  • (Boolean)


55
56
57
# File 'lib/beagleboard/freebsd/adc.rb', line 55

def enabled?
  Adc.enabled?(@enable_mib)
end

#raw_valueObject



67
68
69
# File 'lib/beagleboard/freebsd/adc.rb', line 67

def raw_value
  Adc.input(@input_mib)
end