prremote 0.3.2 → 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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +8 -7
  3. data/VERSION +1 -1
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4b935a1f0ea59bc148e074343cbac2e1198c219c9bbe3ec0dd414aa1257fd12c
4
- data.tar.gz: fad4c51821a8cb0a243c118d13f86749501e4b268d1c5d20745307dd3726b26a
3
+ metadata.gz: a30a56541a311e708b79d18eb2f3a07b1007df6fe5c971d307ecbf069b64a78a
4
+ data.tar.gz: 75bd5a9439f0eacb9237e375010e7d65423c6f8c5556d82b352d946ba3702f88
5
5
  SHA512:
6
- metadata.gz: 4ac1b79788c0811550ee6a476cead88280965369794a25beaa80c757cd3d75b5b9425ebab3ee752365b3d6031ec10f5930b272551408df09e740d2974c85d494
7
- data.tar.gz: f31fc7d6a93edb998857cf0fe694e376ea4630e2adf44697b48677b8cfb6fdcb33e74d3612a446e21abe51056420bf9375c8dfdf381c7e45300d5777bf3f5b7c
6
+ metadata.gz: bb40ffda0d41b8fa8863eb330597e9f46d4dd0c963763f66a8e543e11fce491b5f969ce84a8986cc6564908f07a9d37951c5e9ed8d9a06591032e4eb7248b0bd
7
+ data.tar.gz: b740c328761c6c31f0a2bd400b0baf8a537bd4d5e04637223588b9e56e695f870d2d8557790d1a92794a71f3c6be1903f31cb84a0b13ba7e5829edbcc6893dc9
data/README.md CHANGED
@@ -19,8 +19,9 @@ Inspired by [mpremote](https://docs.micropython.org/en/latest/reference/mpremote
19
19
  - Ruby 3.4 or later
20
20
  - Supported boards:
21
21
  - [Raspberry Pi Pico W](https://www.raspberrypi.com/products/raspberry-pi-pico-w/) / [Pico](https://www.raspberrypi.com/products/raspberry-pi-pico/)
22
- - ESP32 (classic) — e.g. [M5GO / M5Stack Core gen1](https://docs.m5stack.com/en/core/m5go), generic [ESP32](https://www.espressif.com/en/products/socs/esp32) dev boards
22
+ - ESP32 (classic) — e.g. [M5GO / M5Stack Core gen1](https://docs.m5stack.com/en/core/m5go), [M5StickC PLUS](https://docs.m5stack.com/en/core/m5stickc_plus), generic [ESP32](https://www.espressif.com/en/products/socs/esp32) dev boards
23
23
  - ESP32-C6 (RISC-V) — e.g. [Seeed Studio XIAO ESP32C6](https://wiki.seeedstudio.com/xiao_esp32c6_getting_started/)
24
+ - Per-board feature status (GPIO / ADC / PWM / I2C / SPI / WiFi / sockets / LCD / IR): [docs/SUPPORT.md](docs/SUPPORT.md)
24
25
  - `mrbc` (mruby 4.x) for `run`, `deploy`, and `eval`
25
26
  - macOS: `brew install mruby`
26
27
  - Linux: build from source — [github.com/mruby/mruby/releases](https://github.com/mruby/mruby/releases)
@@ -63,7 +64,7 @@ Flash the prremote runtime firmware to a supported board.
63
64
  prremote install # show supported boards
64
65
  prremote install -b picow # Pico W
65
66
  prremote install -b pico # Pico (no wireless)
66
- prremote install -b esp32 # ESP32 (M5GO / M5Stack Core, etc.)
67
+ prremote install -b esp32 # ESP32 (M5GO / M5Stack Core, M5StickC PLUS, etc.)
67
68
  prremote install -b esp32c6 # ESP32-C6 (e.g. XIAO ESP32C6)
68
69
  prremote install -b picow --version 0.1.1 # specify a runtime version
69
70
  ```
@@ -76,7 +77,7 @@ Pico boards: put the device into BOOTSEL mode (hold BOOTSEL, connect USB, releas
76
77
 
77
78
  ESP32 (classic): no button dance and no extra tools needed — the firmware is written over the serial port by prremote's pure-Ruby implementation of the Espressif bootloader protocol (the chip is reset into its boot ROM automatically, and the write is verified with an on-chip MD5).
78
79
 
79
- ESP32-C6: flashing is delegated to [esptool](https://docs.espressif.com/projects/esptool/en/latest/), because the C6 boot ROM rejects the direct write the classic ESP32 accepts. Install it first (`brew install esptool`, or `pip3 install esptool`), and put the board into bootloader mode when prompted — on the XIAO ESP32C6, hold **BOOT**, press **RST**, then release both.
80
+ ESP32-C6: flashing is delegated to [esptool](https://docs.espressif.com/projects/esptool/en/latest/), because the C6 boot ROM rejects the direct write the classic ESP32 accepts. Install it first (`brew install esptool`, or `pip3 install esptool`). The C6's USB Serial/JTAG port is reset into the boot ROM over USB, so no buttons are needed; only if that fails does prremote fall back to waiting for manual bootloader mode — on the XIAO ESP32C6, hold **BOOT**, press **RST**, then release both.
80
81
 
81
82
  Reflashing the runtime does not erase a deployed script on either chip.
82
83
 
@@ -176,8 +177,8 @@ Show the gem version, mrbc version, and the connected device's runtime version.
176
177
 
177
178
  ```bash
178
179
  prremote version
179
- # prremote: 0.3.2
180
- # runtime: 0.3.2 (/dev/tty.usbmodem101)
180
+ # prremote: 0.4.0
181
+ # runtime: 0.4.0 (/dev/tty.usbmodem101)
181
182
  # mrbc: mruby 4.0.0 (2026-04-20) (/opt/homebrew/bin/mrbc)
182
183
  ```
183
184
 
@@ -214,7 +215,7 @@ prremote undeploy # remove from flash
214
215
 
215
216
  ## How It Works
216
217
 
217
- prremote flashes a minimal C firmware (built on mruby/c) onto the Pico W. The firmware:
218
+ prremote flashes a minimal C firmware (built on mruby/c) onto the board. The firmware:
218
219
 
219
220
  1. Waits for a USB serial connection and sends `READY prremote-runtime/VERSION`
220
221
  2. Receives a command from the host:
@@ -222,7 +223,7 @@ prremote flashes a minimal C firmware (built on mruby/c) onto the Pico W. The fi
222
223
  - `DPLY` + `.mrb` bytecode → save to flash and confirm with `DEPLOYED` (`deploy`)
223
224
  3. Waits for the next command
224
225
 
225
- Scripts saved via `deploy` are stored in flash and run automatically on every boot. GPIO / ADC / PWM / I2C / SPI bindings are available on all boards; a `WiFi` module on boards with a radio (Pico W and ESP32); an `LCD` class (ILI9342C) on ESP32 / M5Stack.
226
+ Scripts saved via `deploy` are stored in flash and run automatically on every boot. GPIO / ADC / PWM / I2C / SPI bindings are available on all boards; `WiFi`, `Time` (NTP) and `TCPSocket` on boards with a radio (Pico W, ESP32, ESP32-C6), plus `UDPSocket` on ESP32 / ESP32-C6; an `LCD` class (ILI9342C / ILI9341 / ST7789) on ESP32 / ESP32-C6; and an `IR` transmitter class on classic ESP32 (e.g. the M5StickC PLUS IR LED). See [docs/SUPPORT.md](docs/SUPPORT.md) for the full board × feature matrix and [examples/](examples/) for copy-paste samples per board.
226
227
 
227
228
  ---
228
229
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.2
1
+ 0.4.0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prremote
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ITO Yosei