class RPicSim::Mplab::MplabDeviceInfo

DeviceInfo is a wrapper for the com.microchip.mplab.crownkingx.xPIC class which gives us information about the target PIC device.

Public Class Methods

new(xpic) click to toggle source

Makes a new DeviceInfo object. @param xpic [com.microchip.mplab.crownkingx.xPIC]

# File lib/rpicsim/mplab/mplab_device_info.rb, line 10
def initialize(xpic)
  @xpic = xpic
end

Public Instance Methods

code_address_increment() click to toggle source

The number that a code-space address increases by when you advance to the next word of code space. For PIC18s this is 2. For other architectures this is 1.

# File lib/rpicsim/mplab/mplab_device_info.rb, line 24
def code_address_increment
  @xpic.getMemTraits.getCodeWordTraits.getAddrInc
end
code_word_max_value() click to toggle source
# File lib/rpicsim/mplab/mplab_device_info.rb, line 14
def code_word_max_value
  # Assumption: the initial value is the same as the maximum value
  # because all bits start as 1.
  @xpic.getMemTraits.getCodeWordTraits.getInitValue
end
nmmrs() click to toggle source
# File lib/rpicsim/mplab/mplab_device_info.rb, line 34
def nmmrs
  @xpic.getIDOntoCoreNMMR.map do |id, node|
    MplabNmmrInfo.new id, com.microchip.crownking.edc.Register.new(node)
  end
end
sfrs() click to toggle source
# File lib/rpicsim/mplab/mplab_device_info.rb, line 28
def sfrs
  @sfrs ||= @xpic.getAddrOntoSFR.map do |addr, node|
    MplabSfrInfo.new addr, com.microchip.crownking.edc.Register.new(node)
  end
end