origen_swd 1.1.1 → 1.1.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b399ee4c1b8351d8fa4cee70481f86ae8cd57de69c8ae13a8c96f7ff5775bf9e
4
- data.tar.gz: 60a1823aff88c501b169a26b07a4d5c6de517c58bedda449cb189553689939da
3
+ metadata.gz: bd15e69be465453cd575634e5ece39bf72ea58c1440f34fea544da421a319b87
4
+ data.tar.gz: 1314d65d5f8330d7c24ef59fbf26608a61df9d001bae0a72e5077a888fdee149
5
5
  SHA512:
6
- metadata.gz: 4ec8eb5d2530edf0b259d3aa834629bfbca20b96ada266bd398e020bb7b1b882d4869441972a538d91e6789d3abf6b6fb530edefed68097a252217d7ddd5982d
7
- data.tar.gz: d200cc98d56717983494074c2633cb48080633544213c16168ee7944af078d0e93bf08ea9fcbe2a7ba86e8960e5abe2c50de684586058e8697196ace9ce1f13f
6
+ metadata.gz: 22db0093fb1012b2bc0b93d349df06c04a0859914de886ac92290d2f602a754b0cabb3f4e284ecf88b1a233065fc8abc84a51959f1faeb23382326f66ecabfc5
7
+ data.tar.gz: 4adbf17759b6f65caff38fc7589582ddc41069183bbc2d9a3728cd1be2bbe9774ca03e8af5c0ca36444c8e4d06d66db6e64c170f6b995b77c46ef7432e71e39f
data/config/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module OrigenSWD
2
2
  MAJOR = 1
3
3
  MINOR = 1
4
- BUGFIX = 1
4
+ BUGFIX = 2
5
5
  DEV = nil
6
6
 
7
7
  VERSION = [MAJOR, MINOR, BUGFIX].join(".") + (DEV ? ".pre#{DEV}" : '')
@@ -68,7 +68,7 @@ module OrigenSWD
68
68
  def read(ap_dp, reg_or_val, options = {})
69
69
  addr = extract_address(reg_or_val, options.merge(use_reg_or_val_if_you_must: true))
70
70
  send_header(ap_dp, 1, addr) # send read-specific header (rnw = 1)
71
- receive_acknowledgement
71
+ receive_acknowledgement(options)
72
72
  receive_payload(reg_or_val, options)
73
73
  swd_dio.drive(0)
74
74
  end
@@ -177,11 +177,30 @@ module OrigenSWD
177
177
  end
178
178
 
179
179
  # Waits appropriate number of cycles for the acknowledgement phase
180
- def receive_acknowledgement
180
+ # @param confirm [Symbol] Indicates what type of acknowledgement confirmation should be used. Options are:
181
+ # * [:ignore, :none, :skip] -> Ignore the acknowledgement completely.
182
+ # * [:failure, :fail, :error] -> Verify that the acknowledgement failured; that is,
183
+ # * [:success] (Default) -> Verify the acknowledgement as normal.
184
+ # @param options [Hash] Placeholder for other/future options.
185
+ # @raise [RuntimeError] When an unrecongized :confirm option is given.
186
+ def receive_acknowledgement(confirm: :success, **options)
181
187
  wait_trn
182
- swd_dio.assert!(1)
183
- swd_dio.assert!(0)
184
- swd_dio.assert!(0)
188
+ if [:ignore, :none, :skip].include?(confirm)
189
+ log('Ignoring Acknowledgement Phase')
190
+ tester.cycle(repeat: 3)
191
+ elsif [:failure, :fail, :error].include?(confirm)
192
+ log('Confirming Error Encountered During Acknowledgement Phase')
193
+ swd_dio.assert!(0)
194
+ swd_dio.assert!(0)
195
+ swd_dio.assert!(1)
196
+ elsif confirm == :success
197
+ log('Confirming Success During Acknowledgement Phase')
198
+ swd_dio.assert!(1)
199
+ swd_dio.assert!(0)
200
+ swd_dio.assert!(0)
201
+ else
202
+ Origen.app!.fail!(message: "OrigenSWD: Origen SWD does not know how to confirm :#{confirm}")
203
+ end
185
204
  swd_dio.dont_care
186
205
  end
187
206
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: origen_swd
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ronnie Lajaunie
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-15 00:00:00.000000000 Z
11
+ date: 2019-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: origen