openvibers/openvibe.link Commits

Document the installer --driver shape, defer Adeept OLED, cross-ref…

OP OpenVibers committed 3 Oct 2026 · 36bc03f9b4 · 3 files, +14 −7

Asked: READY NOW from jobs/prep-t15-7042-072938.out.md, docs only - do NOT touch Go code or internal/worker / internal/node (a T14 job is in flight there). Rewrite docs/install.md:1-16 to the current '--robot rob_... --code CODE [--driver adeept|adeept-mecanum|cozmo|none]' shape; add an OLED/display defer…
Harness job node-ready-now-from-jobs-prep-t15-7042-0-075209.

Changes

ddiff --git a/docs/install.md b/docs/install.md
iindex 73d5cfb..c554716 100644
---- a/docs/install.md
++++ b/docs/install.md
@@@ -7,17 +7,17 @@ ports, works behind any home router), and a local kill switch stops everything i
1. On openvibe.bot, add a robot. You get a code like `ABCD-1234` (valid 10 minutes) and the installer command with
the robot's id filled in.
--2. On the device, run that command and add the driver:
++2. On the device, run that command, adding `--driver` for your robot:
```sh
curl -fsSL https://openvibe.bot/install | sh -s -- --robot rob_01J8Z4M2Q0R7T9YV3K6N8P1W2X --code ABCD-1234 --driver adeept
```
-- `--robot` is the robot's `rob_…` id and `--code` the pairing code (both from openvibe.bot; the code may also be the
-- first argument). `--driver` is `adeept` (Adeept 4WD Smart Car, ordinary wheels), `adeept-mecanum`, `cozmo`, or
++ The shape is `--robot rob_… --code CODE [--driver adeept|adeept-mecanum|cozmo|none]`. `--robot` is the robot's
++ `rob_…` id and `--code` the pairing code (both from openvibe.bot; the code may also be the first argument).
++ `--driver` names the plugin: `adeept` (Adeept 4WD Smart Car, ordinary wheels), `adeept-mecanum`, `cozmo`, or
`none` (the default: the dry-run plugin with a test-pattern camera, for trying the Node on a laptop). `--name NAME`
-- names the device on openvibe.bot (default: the hostname). The old form `--robot adeept` (a driver kind after
-- `--robot`) still works but is deprecated: the installer warns and treats it as `--driver adeept`.
++ names the device on openvibe.bot (default: the hostname).
3. Confirm the new device on openvibe.bot.
The installer detects the OS and CPU (linux amd64/arm64/armv7, macOS amd64/arm64), downloads the binary and the plugin
ddiff --git a/docs/plugins.md b/docs/plugins.md
iindex cd23b17..c58f2a2 100644
---- a/docs/plugins.md
++++ b/docs/plugins.md
@@@ -71,8 +71,11 @@ describes itself and waits for EOF without opening any hardware.
| `video` | `format` (`jpeg`), `path`, optional `width`, `height`, `seq` |
For `video`, the plugin writes each frame to a file (write to a temporary name, then rename, and rotate a few names so
--a slow reader never sees a partial file) and announces it. The core reads the file at once and encodes it: with
--`ffmpeg` if installed, otherwise with its built-in encoder at up to 5 frames per second.
++a slow reader never sees a partial file) and announces it with `{"op": "video", "format": "jpeg", "path": …}`
++(`emit_video` in [`plugins/sdk`](../plugins/sdk)). The core reads the file at once and encodes it: with `ffmpeg` if
++installed, otherwise with its built-in encoder at up to 5 frames per second. The core side of this contract is
++`JPEGSource` in [`internal/video/sources.go`](../internal/video/sources.go#L298), selected when the plugin's
++`describe` advertises `camera.jpeg: true` (`internal/node/node.go`).
## Safety rules (every plugin)
ddiff --git a/plugins/adeept_adr036/README.md b/plugins/adeept_adr036/README.md
iindex a61a973..9ad4b87 100644
---- a/plugins/adeept_adr036/README.md
++++ b/plugins/adeept_adr036/README.md
@@@ -64,6 +64,10 @@ Enable I2C and SPI (`raspi-config`), then `pip install './plugins/sdk' './plugin
Telemetry (2 Hz): `battery {volts, percent, low}`, `sensors {distance_cm, line {left, middle, right}}` and `faults`
(sensors that failed to open or read; driving keeps working). A PCA9685 failure is a `hardware` fault at setup.
++**OLED / `display`:** not supported (deferred). The plugin advertises no `display` capability and drives no OLED; the
++`adeept.adr036` profile has no display widget either, so this waits on a profile change rather than shipping a
++capability the panel cannot use. A `display` command is nacked like any other unsupported kind.
++
## Test
```