ipxact-ruby 0.13.0 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.13.0
1
+ 0.13.1
@@ -180,6 +180,17 @@ class IPXACT::Component
180
180
  .first[:port_data][:registers]
181
181
  end
182
182
 
183
+ # Returns the port that matches the given name, if any.
184
+ #
185
+ # @param [String] port_name The name of the port to search for
186
+ #
187
+ # @return [Hash] +nil+ if no port could be found, or else a Hash that with
188
+ # the port's data.
189
+ #
190
+ def port(port_name)
191
+ ports.detect{|p| p[:name] == port_name}
192
+ end
193
+
183
194
  # Commodity method for getting a component instance called +instance_name+,
184
195
  # either from the direct subcomponents of the component, or from the
185
196
  # subcomponents hierarchy.
@@ -130,4 +130,21 @@ describe "The data calculation functions of our IPXACT tool" do
130
130
  base_address.should == 0x30004000
131
131
  end
132
132
 
133
+ it "should be able to take into account the component registers' corresponding address block's base address" do
134
+ components = IPXACT::load_components(PLATFORM_PATH)
135
+ designs = IPXACT::load_designs(PLATFORM_PATH)
136
+ platform = IPXACT::Parser::PlatformData.parse_platform(["Leon2Platform", "1.2"], components, designs)
137
+ data_path = platform.resolve_data_path('i_proc', 'i_uart_scml')
138
+
139
+ base_address = platform.resolve_base_address(data_path)
140
+ port_id = data_path.last[1]
141
+ component = platform.rec_get_subcomponent('i_uart_scml')
142
+ port = component.port(port_id[:port_name])
143
+
144
+ # N.B. There's a remap address error in the "IP-XACT_TLM_Examples_AppNote_V1.5" document that's
145
+ # released with the IP-XACT specification: remap address for the i_uart_scml instance does not match
146
+ # what is actually in the Leon2Platform file.
147
+ (base_address + port[:port_data][:base_address].to_i(16)).should == 0x30000000 + 0x2000 + 0xB0000000
148
+ end
149
+
133
150
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 13
8
- - 0
9
- version: 0.13.0
8
+ - 1
9
+ version: 0.13.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Guillaume Godet-Bar
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-12-07 00:00:00 +01:00
17
+ date: 2010-12-20 00:00:00 +01:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -190,8 +190,8 @@ homepage: http://tima-sls.imag.fr/www/research/ipxact/
190
190
  licenses: []
191
191
 
192
192
  post_install_message:
193
- rdoc_options:
194
- - --charset=UTF-8
193
+ rdoc_options: []
194
+
195
195
  require_paths:
196
196
  - lib
197
197
  required_ruby_version: !ruby/object:Gem::Requirement