rpremote 0.3.0 → 0.4.0
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 +4 -4
- data/CHANGELOG.md +5 -0
- data/RELEASING.md +2 -2
- data/lib/rpremote/cli.rb +8 -0
- data/lib/rpremote/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 21b188c13268efadddce4c649dae65a26465b0f2b5a680013015d0c9dfb1ea14
|
|
4
|
+
data.tar.gz: f964e2a4c148a33841e596d570229a33112f5ba6c5dcdd4254f4758241175360
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5a15b170f1432c80970158a7b41d2902c1765fb5ba8b6d369350b8dab366b605d8e72baf54ceeb2830977b517ef135508b702af701be7f21b6d36f9edbe10e5a
|
|
7
|
+
data.tar.gz: 6cf0ba03b2aabf0c94dc2ab7d82856a832ddf2a98e18f3f9d21ad4f061d162b60a86d4217e01f60686d75afc5cb0ef00dfa0617fdd3d4eab356137815734f724
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## 0.4.0 - 2026-08-31
|
|
6
|
+
|
|
7
|
+
- Add the Daisen Kofun PicoRuby project, with 32 WS2812 illumination patterns, a firmware-embedded local mrbgem, LED layout and setlist definitions, bilingual documentation, and host-side regression tests.
|
|
8
|
+
- Check R2P2 filesystem connectivity before non-recursive `fs cp` transfers, and report Shell synchronization timeouts as filesystem connection failures.
|
|
9
|
+
|
|
5
10
|
## 0.3.0 - 2026-08-28
|
|
6
11
|
|
|
7
12
|
- Add `bootsel` to ask supported R2P2 firmware to enter USB BOOTSEL mode without pressing the button.
|
data/RELEASING.md
CHANGED
|
@@ -48,7 +48,7 @@ bundle exec rake release
|
|
|
48
48
|
After the tag exists on GitHub, create a GitHub Release and attach the exact gem that passed validation. `--verify-tag` prevents GitHub CLI from silently creating a tag at another commit:
|
|
49
49
|
|
|
50
50
|
```sh
|
|
51
|
-
gh release create v0.
|
|
51
|
+
gh release create v0.4.0 rpremote-0.4.0.gem --verify-tag --generate-notes
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
Replace `0.
|
|
54
|
+
Replace `0.4.0` in both places for later versions. Finally, install from RubyGems.org in a fresh environment and run `rpremote --version`.
|
data/lib/rpremote/cli.rb
CHANGED
|
@@ -152,6 +152,8 @@ module Rpremote
|
|
|
152
152
|
else
|
|
153
153
|
raise ArgumentError, "unknown fs command: #{subcommand || "(none)"}"
|
|
154
154
|
end
|
|
155
|
+
rescue Shell::TimeoutError => e
|
|
156
|
+
raise Shell::TimeoutError, "filesystem connection failed: #{e.message}"
|
|
155
157
|
end
|
|
156
158
|
|
|
157
159
|
def run_file(args)
|
|
@@ -255,6 +257,7 @@ module Rpremote
|
|
|
255
257
|
raise ArgumentError, "exactly one cp path must be remote (prefix remote paths with :)" if source_remote == destination_remote
|
|
256
258
|
return RecursiveCopy.new(output: stdout, serial: serial, device: device).call(source, destination, options) if recursive
|
|
257
259
|
|
|
260
|
+
ensure_filesystem_connection!(options)
|
|
258
261
|
if source_remote
|
|
259
262
|
data = with_modem(options) { |modem| modem.download(RemotePath.unwrap(source)) }
|
|
260
263
|
File.binwrite(local_destination(destination, source), data)
|
|
@@ -293,6 +296,11 @@ module Rpremote
|
|
|
293
296
|
raise Shell::CommandError, output.strip if failed
|
|
294
297
|
end
|
|
295
298
|
|
|
299
|
+
def ensure_filesystem_connection!(options)
|
|
300
|
+
output = with_shell(options) { |shell| shell.execute("ls '/'") }
|
|
301
|
+
ensure_filesystem_success!("ls", output)
|
|
302
|
+
end
|
|
303
|
+
|
|
296
304
|
def with_modem(options)
|
|
297
305
|
port_path = device.main_port(options[:port])
|
|
298
306
|
serial.open(port_path, baud: options[:baud]) do |port|
|
data/lib/rpremote/version.rb
CHANGED